Everything you need to know about wallet verification, from getting started to technical details.
POST /v1/attest, which checks wallet conditions and returns a verified yes or no. Other endpoints include wallet trust profiles, batch trust, compliance checks, and credit management. See the developer documentation for details.
smithery skill add douglasborthwick/insumer-skill — helps Claude Code write wallet auth into your project), MCP server (npx -y mcp-server-insumer — runtime agent access for Claude Desktop, Cursor, Windsurf), LangChain (pip install langchain-insumer), ElizaOS plugin (@insumermodel/plugin-eliza), and OpenAI GPT (GPT Store). Plus two framework adapters that package the wallet auth primitive into host-shaped surfaces: WDK protocol module (@insumermodel/wdk-protocol-wallet-auth) for Tether's Wallet Development Kit, and mppx condition-gate (@insumermodel/mppx-condition-gate) for Machine Payments Protocol routes. Attestations are independently verifiable with insumer-verify (npm install insumer-verify). OpenAPI 3.1 spec available at /openapi.yaml.
POST /v1/credits/buy — all programmatically with no human intervention. The MCP server and LangChain SDK make integration straightforward for agent frameworks.
POST /v1/attest, POST /v1/trust, POST /v1/trust/batch, GET /v1/credits, and POST /v1/credits/buy. Agents that buy a key via POST /v1/keys/buy with USDC on an EVM chain receive an Insumer Access pass (soulbound ERC-721) minted to their wallet on Base. The same wallet can then sign requests with its private key and present them in an Authorization: Wallet header instead of X-API-Key. The signed message is SIWE (EIP-4361) scoped to api.insumermodel.com; the signature is EIP-191 personal_sign; single-use nonce; Issued At within the last 5 minutes. Other endpoints return 501 for this scheme. The five-endpoint coverage lets an SBT-holding agent run the full read-side lifecycle — attest, generate trust profiles, check balance, top up credits — without ever handling an API key. Drop-in middleware: @skyemeta/access on npm. See the full Authentication reference.
kid). Fetch our public key from /.well-known/jwks.json or GET /v1/jwks, then verify the signature using insumer-verify (npm) or any standard crypto library. JWT-format results can be verified by standard JWT libraries. No callback to the API is required.
format: "jwt" for a standard JWT, or proof: "merkle" for a blockchain-anchored storage proof. See How It Works for the full flow.
format: "jwt" to an attestation request returns a standard ES256-signed JWT alongside the normal response. The JWT contains claims for pass/fail, condition results, and block context. It can be verified by any standard JWT library via the JWKS endpoint — making it compatible with Kong, Nginx, Cloudflare Access, AWS API Gateway, and similar systems.
proof: "merkle" to an attestation request returns an EIP-1186 Merkle storage proof anchored to a specific block hash. This makes the attestation independently verifiable against the blockchain state trie without trusting the API. Available on 27 of 31 EVM chains. Costs 2 credits instead of 1.
Ask InsumerChat in the bottom right corner, reach out to our team.