Wallet proofs
Re-check the signatures, contract signatures and transfers that show the issuer controls one of the token's authorities.
Re-check the wallet proofs and token authorities behind Bluprynt's KYI lookups, on EVM, Solana and XRPL.
KYI ("know your issuer") is Bluprynt's check that a token's issuer is a verified organization that controls the token on-chain. Bluprynt's API publishes the result for each token, with the evidence behind it. This SDK lets you re-check that evidence yourself.
Pre-alpha
The SDK is under active development and its APIs will change. Today it re-checks KYI token lookups on EVM, Solana and XRPL. Attestation and credential checks are not available yet.
A KYI token lookup from Bluprynt's public API says whether a token passed KYI. Behind that claim is a chain of facts:
kyi_verified)The SDK re-checks the last three links against public data: each wallet proof, that the wallet backs one of the token's authorities, and, at the moments you ask for, that each authority holds on-chain where the SDK can read it. The issuer's identity comes from Bluprynt's verification process. What a proof shows, and what it doesn't lists what the SDK re-checks and what takes more effort to verify.
Following that chain by hand is harder than it looks:
| What you'd have to handle | By hand | With the SDK |
|---|---|---|
| Signature formats differ per chain (the Solana CLI adds an off-chain message header, XRPL needs the signer's public key) | Re-implement each format | Handled |
| Smart-contract wallets (Safe) have no private key and need an ERC-1271 call over RPC | Detect and call contracts yourself | Handled, using your RPC |
| EVM transfer proofs carry the challenge in a unique amount or in calldata | Fetch and decode each transaction | Handled, using your RPC |
| Chain state changes over time | Find the block or ledger for each moment | Done for the moments you ask for |
The SDK reports facts, not verdicts: what held, and when.
import { verifyKyiResponse } from "@bluprynt/sdk-chain-solana";
const report = await verifyKyiResponse(response);
report.evidence; // "confirmed" | "contradicted" | "inconclusive"
report.verified; // what the re-checked proofs support, offline
report.matchesClaim; // true | false | nullWith no options, these are the offline summary: they don't read authorities on-chain or apply expiry. To show a badge, ask for a moment and read report.at.now. See Showing a badge.
To check a response that spans chains in one call, see One call, several chains.
| Package | What it's for |
|---|---|
@bluprynt/sdk | Core types and the multi-chain verifyKyiResponse. Add the chain packages you need |
@bluprynt/sdk-chain-evm | Ethereum and EVM-compatible chains |
@bluprynt/sdk-chain-solana | Solana |
@bluprynt/sdk-chain-xrpl | XRP Ledger |
These docs are published in an agent-friendly form too. Point your agent at /llms.txt for a map of the docs, or /llms-full.txt for everything in one file.
Start with the Quickstart. Read Wallet verification for how each proof is produced, and Moments for what the SDK checks and when.