InsumerAPI Verification Skill
Privacy-preserving on-chain token and NFT verification across 38 blockchains (32 EVM + Solana + XRPL + Bitcoin + Tron + Stellar + Sui). Returns ECDSA-signed boolean results — no raw balances exposed.
Version: 1.13.3
Overview
InsumerAPI lets agents evaluate wallet state against conditions without handling private keys or raw balance data. Every response is ECDSA P-256 signed, carries an ML-DSA-65 post-quantum companion since September 2026, and is independently verifiable.
Agents can:
- Verify token balances, NFT ownership, EAS attestations, and Farcaster identity
- Check multiple conditions in a single call (1-10)
- Get optional Merkle storage proofs for trustless verification
- Generate wallet trust fact profiles (single or batch)
- Discover merchants and generate signed discount codes
- Onboard and configure merchants end-to-end
- Buy API keys and credits with USDC, USDT, or BTC (no auth required)
- Integrate with ACP (OpenAI/Stripe) and UCP (Google) commerce protocols
Setup
1. Get an API Key
Use the insumer_setup tool with your email — or sign up at insumermodel.com/developers. Free tier available (instant, no credit card).
2. Environment Variables
export INSUMER_API_KEY="insr_live_..."
3. MCP Configuration
{
"mcpServers": {
"insumer": {
"command": "npx",
"args": ["-y", "mcp-server-insumer"],
"env": {
"INSUMER_API_KEY": "insr_live_..."
}
}
}
}
Tools (27)
Setup (free, no auth)
insumer_setup(email, appName?)
Generate a free InsumerAPI key instantly. Returns an insr_live_... key with 10 credits and 100 calls/day. No credit card required. One free key per email, 3 per IP per day.
Key Discovery (free)
insumer_jwks()
Get the JWKS containing InsumerAPI's ECDSA P-256 public signing key (RFC 7517). Use the kid from attestation responses to match the correct key. No authentication required.
On-Chain Verification
insumer_attest(wallet?, solanaWallet?, xrplWallet?, bitcoinWallet?, tronWallet?, stellarWallet?, suiWallet?, conditions, proof?, format?)
Verify 1-10 on-chain conditions (token balances, NFT ownership, EAS attestations, Farcaster identity, boolean view calls, supply/amount ratios, ERC-8004 agent registration, ERC-7710 delegation validity) across 38 chains. Returns ECDSA-signed boolean results with evaluatedCondition, conditionHash (SHA-256), and blockNumber/blockTimestamp. Stellar results include ledgerIndex/ledgerHash and surface assetCode (which flows into conditionHash for non-native assets). Sui results include checkpointSequence/checkpointDigest. 1 credit (2 with proof: "merkle" for EIP-1186 Merkle storage proofs on supported EVM chains). Optional format: "jwt" for ES256-signed JWT output.
insumer_compliance_templates()
List available EAS compliance templates (Coinbase Verified Account/Country/One on Base, Gitcoin Passport on Optimism). Pre-configured schema IDs, attester addresses, and decoder contracts. Free, no auth.
insumer_wallet_trust(wallet, solanaWallet?, xrplWallet?, bitcoinWallet?, tronWallet?, stellarWallet?, suiWallet?, proof?)
Generate an ECDSA-signed wallet trust fact profile. 44 base checks across 25 chains in 5 dimensions — stablecoins (USDC + USDT across 21 EVM chains), governance, NFTs, staking, and institutional stablecoins (EURCV, USDCV, USDC, BENJI across Ethereum, Solana, XRPL, Stellar, Sui) — up to 49 checks across 27 chains in 9 dimensions with optional Solana, XRPL, Bitcoin, and Tron wallets. 3 credits (6 with merkle).
insumer_batch_wallet_trust(wallets, proof?)
Batch trust profiles for up to 10 wallets (each accepts wallet, solanaWallet, xrplWallet, bitcoinWallet, tronWallet, stellarWallet, suiWallet). Shared block fetches, 5-8x faster than sequential calls. Partial success supported. 3 credits/wallet (6 with merkle).
insumer_verify(merchantId, wallet?, solanaWallet?, xrplWallet?, tronWallet?, stellarWallet?, suiWallet?)
Create a signed discount code (INSR-XXXXX, 30-min expiry) for a wallet at a merchant. Returns tier and discount percentage. 1 merchant credit.
Discovery (free)
insumer_list_merchants(token?, verified?, limit?, offset?)
Browse the merchant directory. Filter by accepted token symbol, verification status. Returns company name, website, tokens accepted, and discount info.
insumer_get_merchant(id)
Get full public merchant profile including token tiers, NFT collections, discount mode, and verification status.
insumer_list_tokens(chain?, symbol?, type?)
List all registered tokens and NFT collections in the registry. Filter by chain ID, symbol, or asset type (token/nft).
insumer_check_discount(merchant, wallet?, solanaWallet?, xrplWallet?, tronWallet?, stellarWallet?, suiWallet?)
Calculate discount for a wallet at a merchant. Returns tier and discount percentage per token. Free, no credits consumed.
Credits & Keys
insumer_credits()
Check verification credit balance, tier (free/pro/enterprise), and daily rate limit for the current API key.
insumer_buy_key(txHash, chainId, amount, appName)
Buy a new API key with USDC, USDT, BTC, or USDT-TRC20 (no auth required). Send the payment, then call with the transaction hash. Sender wallet becomes the key's identity. One key per wallet. Supported chains: Ethereum, Base, Polygon, Arbitrum, Optimism, BNB Chain, Avalanche, Solana, Bitcoin, Tron. USDC/USDT auto-detected on EVM and Solana; BTC converted to USD at market rate (1 confirmation); Tron accepts USDT-TRC20. Minimum $5. Non-refundable.
insumer_buy_credits(txHash, chainId, amount, updateWallet?)
Buy verification credits with USDC, USDT, BTC, or USDT-TRC20. Volume discounts: $5-$99 = $0.04/call, $100-$499 = $0.03, $500+ = $0.02. Minimum $5. Supported chains: Ethereum, Base, Polygon, Arbitrum, Optimism, BNB Chain, Avalanche, Solana, Bitcoin, Tron. Non-refundable.
insumer_confirm_payment(code, txHash, chainId, amount)
Confirm USDC or USDT payment for a discount code. After calling insumer_verify, confirm the on-chain payment. The server verifies the transaction receipt. Supported chains: Ethereum, Base, Polygon, Arbitrum, Optimism, BNB Chain, Avalanche, Solana.
Merchant Onboarding (owner-only)
insumer_create_merchant(companyName, companyId, location?)
Create a new merchant. Receives 100 free verification credits. Max 10 merchants per API key.
insumer_merchant_status(id)
Get full private merchant details: credits, token configs, NFT collections, directory status, verification status, USDC settings.
insumer_configure_tokens(id, ownToken?, partnerTokens?)
Configure merchant token discount tiers. Set own token and/or partner tokens. Max 8 tokens total.
insumer_configure_nfts(id, nftCollections)
Configure NFT collections that grant discounts. Max 4 collections.
insumer_configure_settings(id, discountMode?, discountCap?, usdcPayment?)
Update merchant settings: discount stacking mode (highest/stack/capped), cap, and USDC payment configuration.
insumer_publish_directory(id)
Publish (or refresh) the merchant's listing in the public directory.
insumer_buy_merchant_credits(id, txHash, chainId, amount, updateWallet?)
Buy merchant verification credits with USDC, USDT, or BTC. Same chain support and volume discounts as insumer_buy_credits.
Domain Verification (owner-only)
insumer_request_domain_verification(id, domain)
Request a verification token for a merchant's domain. Returns the token and three methods: DNS TXT record, HTML meta tag, or file upload.
insumer_verify_domain(id)
Complete domain verification after placing the token. Verified merchants get a trust badge in the public directory. Rate limited to 5 attempts per hour.
Commerce Protocol Integration
insumer_acp_discount(merchantId, wallet?, solanaWallet?, xrplWallet?, tronWallet?, stellarWallet?, suiWallet?, items?)
Check discount eligibility in OpenAI/Stripe Agentic Commerce Protocol (ACP) format. Returns coupon objects, applied/rejected arrays, and per-item allocations. 1 merchant credit.
insumer_ucp_discount(merchantId, wallet?, solanaWallet?, xrplWallet?, tronWallet?, stellarWallet?, suiWallet?, items?)
Check discount eligibility in Google Universal Commerce Protocol (UCP) format. Returns title, extension field, and applied array. 1 merchant credit.
insumer_validate_code(code)
Validate an INSR-XXXXX discount code. Returns validity, discount percent, and expiry. Free, no auth required.
Supported Chains (38)
Ethereum, Base, Polygon, Arbitrum, Optimism, BNB Chain, Avalanche, XDC, Sonic, Gnosis, Mantle, Scroll, Linea, zkSync Era, Blast, Taiko, Ronin, Celo, Moonbeam, Moonriver, Viction, opBNB, World Chain, Unichain, Ink, Sei, Berachain, ApeChain, Chiliz, Soneium, Plume, Robinhood Chain, Solana, XRPL, Bitcoin, Tron, Stellar, Sui.
Security Model
- No private keys required — read-only verification, never handles signing keys
- No balances exposed — boolean results only (pass/fail), raw amounts never returned
- ECDSA P-256 signatures — every response cryptographically signed; since 2026-09-01 an ML-DSA-65 post-quantum companion (
pqSig/pqKid, andpqJwtbesidejwt) rides besidesig/kid - JWKS key discovery — five entries over two keys at /.well-known/jwks.json (RFC 7517; the post-quantum key as RFC 9964
AKPentries), matched bykidorpqKid, never by position - Optional Merkle proofs — EIP-1186 storage proofs for trustless verification against block headers
- Independent verification —
insumer-verify(npm, zero deps) reports five verdicts: signature, condition hash, block freshness, expiry, and the post-quantum companion (1.8.1+)
Links
- Homepage: https://insumermodel.com/developers/
- MCP Server: https://www.npmjs.com/package/mcp-server-insumer
- OpenAPI Spec: https://insumermodel.com/openapi.yaml
- GitHub: https://github.com/douglasborthwick-crypto/mcp-server-insumer
- Verifier: https://www.npmjs.com/package/insumer-verify