{
  "data": {
    "tool": {
      "category": "payment-platforms",
      "endpoint": "https://api.insumermodel.com/mcp",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/insumermodel-insumer.json",
      "kind": "mcp",
      "listed": "indexed",
      "liveUrl": "https://www.anchorterminal.com/api/v1/live/insumermodel-insumer.json",
      "markdownUrl": "https://www.anchorterminal.com/tools/insumermodel-insumer.md",
      "mcpTools": {
        "check": {
          "checker": "anchor-check/1.0",
          "totalTokens": 7914,
          "counts": {
            "error": 0,
            "note": 0,
            "warn": 2
          },
          "findings": [
            {
              "rule": "TC15",
              "severity": "warn",
              "tool": "insumer_attest",
              "message": "inputSchema uses $ref/$defs",
              "fix": "Inline the referenced schemas. Pydantic and zod-to-json-schema emit $defs for nested models; most can be told not to."
            },
            {
              "rule": "TC22",
              "severity": "warn",
              "tool": "insumer_attest",
              "message": "the definition is about 3,465 tokens",
              "fix": "Trim the description and parameter docs, or split the tool."
            }
          ]
        },
        "checkedAt": "2026-10-04T22:23:06Z",
        "count": 10,
        "schemaTokens": 7914,
        "status": "ok",
        "tools": [
          {
            "name": "insumer_jwks",
            "title": "Get public signing keys",
            "description": "Get InsumerAPI's public signing keys as a JWKS (JSON Web Key Set): an ECDSA P-256 key under its kids, followed by the ML-DSA-65 post-quantum key as RFC 9964 AKP entries. Signatures on attestation and trust responses verify against these keys. Match an entry by the kid (or pqKid) on the response, never by position; an unknown kid is unverifiable, not refuted. No authentication required.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {},
              "type": "object"
            },
            "outputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": true,
              "properties": {
                "data": {
                  "description": "The endpoint's payload: a signed attestation, trust profile, discount, merchant or token records"
                },
                "error": {
                  "description": "Error details when ok is false"
                },
                "items": {
                  "description": "The result when the endpoint returns a JSON array",
                  "items": {},
                  "type": "array"
                },
                "keys": {
                  "description": "JWKS entries (insumer_jwks)",
                  "items": {},
                  "type": "array"
                },
                "message": {
                  "description": "A plain-text result (insumer_setup), or a message from the API"
                },
                "meta": {
                  "description": "Response metadata such as version and timestamp"
                },
                "ok": {
                  "description": "true when the API call succeeded",
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "Get public signing keys"
            }
          },
          {
            "name": "insumer_attest",
            "title": "Verify wallet conditions (signed)",
            "description": "Verify 1-10 on-chain conditions for a wallet and return a signed yes or no for each, never the balance. Condition types: token_balance, nft_ownership, eas_attestation (raw schemaId or a compliance template such as Coinbase Verifications or Gitcoin Passport), farcaster_id (IdRegistry on Optimism), evm_view_call (a single-address-argument view function returning bool), ratio_to_amount (balance \u003e= multiple * amount), ratio_to_supply (balance / totalSupply \u003e= minFraction, ERC-20 only), erc8004_agent (registered ERC-8004 agent on Base), and erc7710_delegation (a signed MetaMask-framework delegation from principal to agent is currently valid on Base; spend, target and call limits are reported as declaredLimits, not simulated). Chains: EVM chains plus Solana, XRPL, Bitcoin, Tron, Stellar and Sui; Bitcoin, Tron, Stellar and Sui support token_balance only. Responses are ECDSA-signed with a kid identifying the key and carry a post-quantum companion signature; each result includes evaluatedCondition, a SHA-256 conditionHash, and the block (EVM), ledger (XRPL, Stellar) or checkpoint (Sui) it was read at. proof: 'merkle' adds EIP-1186 storage proofs on supported EVM chains. Attestations with a delegation condition expire in 5 minutes instead of 30; a failed delegation result carries failReason. Costs 1 credit (2 with proof). Current chain and check counts: https://insumermodel.com/llms.txt",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "bitcoinWallet": {
                  "description": "Bitcoin address (P2PKH, P2SH, bech32, or Taproot). For verifying native BTC balance. Use chainId 'bitcoin' with contractAddress 'native'.",
                  "pattern": "^(?:[13][1-9A-HJ-NP-Za-km-z]{25,34}|(?:bc1|BC1)[02-9ac-hj-np-zAC-HJ-NP-Z]{11,87})$",
                  "type": "string"
                },
                "conditions": {
                  "description": "1-10 on-chain conditions to verify",
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "agentId": {
                        "description": "Required for erc8004_agent. The ERC-8004 agent ID as a uint256 decimal string — the caller must supply it (the deployed Identity Registry has no wallet-to-agentId reverse lookup). Met iff the attested wallet owns the agent NFT (ownerOf) or is the registry's signature-verified agentWallet binding. Registry 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 on Base; chainId 8453 only. Honest semantics: registration is permissionless minting — the signed statement implies no vetting, no reputation, no endorsement.",
                        "pattern": "^\\d{1,78}$",
                        "type": "string"
                      },
                      "amount": {
                        "$ref": "#/properties/conditions/items/properties/threshold",
                        "description": "For ratio_to_amount: per-request reference amount in token/display units as a decimal string (e.g. \"100\" for 100 USDC, not base units/wei). Numbers are accepted and coerced. Must be \u003e 0."
                      },
                      "assetCode": {
                        "description": "Stellar trustline asset code (e.g. 'USDC', 'BENJI'). Required for Stellar non-native (trustline) tokens. Use contractAddress 'native' for XLM. Ignored for other chains. Flows into conditionHash so different assets on the same issuer produce different hashes.",
                        "pattern": "^[A-Za-z0-9]{1,12}$",
                        "type": "string"
                      },
                      "attester": {
                        "$ref": "#/properties/wallet",
                        "description": "Expected attester address (optional, for eas_attestation)"
                      },
                      "chainId": {
                        "anyOf": [
                          {
                            "description": "EVM chain ID",
                            "type": "integer"
                          },
                          {
                            "const": "solana",
                            "type": "string"
                          },
                          {
                            "const": "xrpl",
                            "type": "string"
                          },
                          {
                            "const": "bitcoin",
                            "type": "string"
                          },
                          {
                            "const": "tron",
                            "type": "string"
                          },
                          {
                            "const": "stellar",
                            "type": "string"
                          },
                          {
                            "const": "sui",
                            "type": "string"
                          }
                        ],
                        "description": "Chain identifier: EVM chain ID (integer, includes 50 for XDC), 'solana', 'xrpl', 'bitcoin', 'tron', 'stellar', or 'sui'"
                      },
                      "contractAddress": {
                        "description": "Token or NFT contract address (required for token_balance, nft_ownership, ratio_to_amount, and ratio_to_supply; ratio_to_supply requires an ERC-20 contract, no native). 'native' means the chain's native coin and is for token_balance and ratio_to_amount only. nft_ownership needs the NFT contract address (0x + 40 hex on EVM); 'native' with nft_ownership is rejected with a 400, so use token_balance for the native coin. On Sui, pass a coin type address::module::Name: native SUI is '0x2::sui::SUI', and 'native' is not accepted there.",
                        "maxLength": 200,
                        "minLength": 1,
                        "pattern": "^[A-Za-z0-9:_]+$",
                        "type": "string"
                      },
                      "currency": {
                        "description": "XRPL trust line currency code (e.g. 'RLUSD', 'USDC'). Required for XRPL trust line tokens, ignored for other chains.",
                        "maxLength": 40,
                        "pattern": "^[A-Za-z0-9]+$",
                        "type": "string"
                      },
                      "decimals": {
                        "description": "Optional. Leave it out: the token's own decimals are always read from the chain. If sent it is only a cross-check, and a value that differs from the token's own decimals is rejected with a 400.",
                        "maximum": 77,
                        "minimum": 0,
                        "type": "integer"
                      },
                      "delegation": {
                        "additionalProperties": false,
                        "description": "Required for erc7710_delegation. The signed ERC-7710 delegation to evaluate. Met iff ALL of: attested wallet is the delegate; declared delegator is expectedDelegator; EIP-712 signature verifies (EOA or ERC-1271); unrevoked at the anchored block; every caveat enforcer recognized; any time-window caveat currently satisfied. Recognized enforcers: timestamp (evaluated), erc20_transfer_amount, native_transfer_amount, allowed_targets, limited_calls (the last four are REPORTED as declaredLimits — redemption enforces them, the attestation does not simulate enforcement).",
                        "properties": {
                          "authority": {
                            "description": "Root authority only (0xffff…ffff, 32 bytes of 0xff). Delegation chains are unsupported.",
                            "pattern": "^0x[0-9a-fA-F]{64}$",
                            "type": "string"
                          },
                          "caveats": {
                            "description": "Caveats the principal signed (max 16). Every enforcer must be recognized or the condition fails — no override.",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "enforcer": {
                                  "description": "Caveat enforcer contract address",
                                  "pattern": "^0x[0-9a-fA-F]{40}$",
                                  "type": "string"
                                },
                                "terms": {
                                  "description": "ABI-encoded caveat terms (hex)",
                                  "maxLength": 20000,
                                  "pattern": "^0x[0-9a-fA-F]*$",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "enforcer",
                                "terms"
                              ],
                              "type": "object"
                            },
                            "maxItems": 16,
                            "type": "array"
                          },
                          "delegate": {
                            "description": "Agent wallet the delegation authorizes. Must equal the attested wallet.",
                            "pattern": "^0x[0-9a-fA-F]{40}$",
                            "type": "string"
                          },
                          "delegator": {
                            "description": "Principal address that signed the delegation. Must equal expectedDelegator.",
                            "pattern": "^0x[0-9a-fA-F]{40}$",
                            "type": "string"
                          },
                          "salt": {
                            "anyOf": [
                              {
                                "$ref": "#/properties/conditions/items/properties/agentId"
                              },
                              {
                                "minimum": 0,
                                "type": "integer"
                              }
                            ],
                            "description": "Delegation salt (decimal string; numbers coerced)"
                          },
                          "signature": {
                            "description": "EIP-712 signature over the delegation (hex). EOA recovery, or ERC-1271 for smart-contract principals.",
                            "maxLength": 20000,
                            "pattern": "^0x[0-9a-fA-F]*$",
                            "type": "string"
                          }
                        },
                        "required": [
                          "delegator",
                          "delegate",
                          "authority",
                          "caveats",
                          "salt",
                          "signature"
                        ],
                        "type": "object"
                      },
                      "delegationManager": {
                        "$ref": "#/properties/wallet",
                        "description": "Required for erc7710_delegation. DelegationManager contract the delegation was signed against — one of the recognized MetaMask Delegation Framework managers on Base (current default 0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3). chainId 8453 only."
                      },
                      "expectedDelegator": {
                        "$ref": "#/properties/wallet",
                        "description": "Required for erc7710_delegation. The principal address the caller asserts authorized this agent. The condition fails unless the delegation's declared delegator matches — without it a self-delegation would read as authority, so there is no structural-only mode."
                      },
                      "indexer": {
                        "$ref": "#/properties/wallet",
                        "description": "EAS indexer contract address (optional, for eas_attestation)"
                      },
                      "label": {
                        "description": "Human-readable label",
                        "maxLength": 100,
                        "type": "string"
                      },
                      "minFraction": {
                        "$ref": "#/properties/conditions/items/properties/threshold",
                        "description": "For ratio_to_supply: required share of total supply, a decimal string in (0,1] (e.g. \"0.005\" for 0.5%). Met iff balance / totalSupply() \u003e= minFraction. Numbers are accepted and coerced. For project/governance tokens, not stablecoins."
                      },
                      "multiple": {
                        "$ref": "#/properties/conditions/items/properties/threshold",
                        "description": "For ratio_to_amount: collateralization multiple as a decimal string (e.g. \"10\" for 'hold \u003e= 10x the amount'). Met iff balance \u003e= multiple * amount. Numbers are accepted and coerced. Must be \u003e 0."
                      },
                      "schemaId": {
                        "description": "EAS schema ID (bytes32 hex). Required for eas_attestation unless template is provided.",
                        "pattern": "^0x[0-9a-fA-F]{64}$",
                        "type": "string"
                      },
                      "selector": {
                        "description": "Required for evm_view_call. Canonical signature of a view function returning bool, in the form 'functionName(address)' (e.g. 'hasAccess(address)'). Single-address-argument view functions only; the 4-byte selector is derived from this signature.",
                        "maxLength": 100,
                        "pattern": "^[A-Za-z_][A-Za-z0-9_]*\\(address\\)$",
                        "type": "string"
                      },
                      "taxon": {
                        "description": "XRPL NFToken taxon filter (optional, for nft_ownership on XRPL only). Filters NFTs by issuer + taxon.",
                        "type": "integer"
                      },
                      "template": {
                        "description": "Compliance template name. Use instead of raw schemaId/attester/indexer for eas_attestation. Gitcoin Passport templates check Sybil resistance on Optimism.",
                        "enum": [
                          "coinbase_verified_account",
                          "coinbase_verified_country",
                          "coinbase_one",
                          "gitcoin_passport_score",
                          "gitcoin_passport_active"
                        ],
                        "type": "string"
                      },
                      "threshold": {
                        "anyOf": [
                          {
                            "maxLength": 80,
                            "pattern": "^\\d+(\\.\\d+)?$",
                            "type": "string"
                          },
                          {
                            "type": "number"
                          }
                        ],
                        "description": "Minimum balance for token_balance, as a decimal string in token/display units (e.g. \"100\", not base units). Numbers are accepted and coerced to a string. Must be \u003e 0 when proof is merkle."
                      },
                      "type": {
                        "description": "Condition type: token_balance, nft_ownership (EVM, Solana and XRPL), eas_attestation, farcaster_id (Farcaster IdRegistry on Optimism), evm_view_call (single-address-argument view function returning bool; RPC EVM chains only), ratio_to_amount (balance \u003e= multiple * amount; RPC EVM chains only), ratio_to_supply (balance / totalSupply \u003e= minFraction; RPC EVM chains, ERC-20 only), erc8004_agent (registered ERC-8004 agent on Base; agentId required), or erc7710_delegation (signed MetaMask-framework delegation validity on Base; delegationManager, expectedDelegator, and delegation required; max 3 per request)",
                        "enum": [
                          "token_balance",
                          "nft_ownership",
                          "eas_attestation",
                          "farcaster_id",
                          "evm_view_call",
                          "ratio_to_amount",
                          "ratio_to_supply",
                          "erc8004_agent",
                          "erc7710_delegation"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 10,
                  "minItems": 1,
                  "type": "array"
                },
                "declaredLimits": {
                  "description": "Set to 'omit' to leave decoded caveat limits out of the signed results of erc7710_delegation conditions, so a forwarded attestation does not carry the principal's spending ceiling. met, delegationHash, and conditionHash are byte-identical either way.",
                  "enum": [
                    "omit"
                  ],
                  "type": "string"
                },
                "format": {
                  "description": "Set to 'jwt' to include a Wallet Auth by InsumerAPI token (ES256-signed JWT) in the response, with its ML-DSA-65 sibling pqJwt beside it. The jwt is verifiable by any standard JWT library using JWKS at /.well-known/jwks.json.",
                  "enum": [
                    "jwt"
                  ],
                  "type": "string"
                },
                "proof": {
                  "description": "Set to 'merkle' for EIP-1186 Merkle storage proofs (2 credits). For token_balance on supported EVM chains (not ZKsync Era, Sei, Viction or XDC Network, and not on non-EVM chains); for erc7710_delegation, a storage proof of the revocation slot (subject 'delegation_revocation') on managers with an on-chain-verified layout.",
                  "enum": [
                    "merkle"
                  ],
                  "type": "string"
                },
                "solanaWallet": {
                  "description": "Solana wallet address (base58)",
                  "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
                  "type": "string"
                },
                "stellarWallet": {
                  "description": "Stellar wallet address (G-prefixed). For verifying XLM or trustline assets (USDC, BENJI, etc.). Use chainId 'stellar' with the asset issuer's G-address as contractAddress and pass assetCode (e.g. 'USDC'). Soroban contract balances not visible — classic trustlines only.",
                  "pattern": "^G[A-Z2-7]{55}$",
                  "type": "string"
                },
                "suiWallet": {
                  "description": "Sui wallet address (0x + 64 hex chars). For verifying SUI or other Sui coins (e.g. USDC). Use chainId 'sui' with the Sui coin type as contractAddress: '0x2::sui::SUI' for native SUI, or the full coin type address::module::Name for other coins. The string 'native' is not accepted on Sui.",
                  "pattern": "^0x[0-9a-fA-F]{64}$",
                  "type": "string"
                },
                "tronWallet": {
                  "description": "Tron wallet address (T-prefixed, base58). For verifying TRX or TRC20 tokens (USDT-TRC20). Use chainId 'tron'.",
                  "pattern": "^T[1-9A-HJ-NP-Za-km-z]{33}$",
                  "type": "string"
                },
                "wallet": {
                  "description": "EVM wallet address (0x...)",
                  "pattern": "^0x[0-9a-fA-F]{40}$",
                  "type": "string"
                },
                "xrplWallet": {
                  "description": "XRPL wallet address (r-address). For verifying XRP, trust line tokens (RLUSD, USDC), or NFTs on XRP Ledger.",
                  "pattern": "^r[1-9A-HJ-NP-Za-km-z]{24,34}$",
                  "type": "string"
                }
              },
              "required": [
                "conditions"
              ],
              "type": "object"
            },
            "outputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": true,
              "properties": {
                "data": {
                  "description": "The endpoint's payload: a signed attestation, trust profile, discount, merchant or token records"
                },
                "error": {
                  "description": "Error details when ok is false"
                },
                "items": {
                  "description": "The result when the endpoint returns a JSON array",
                  "items": {},
                  "type": "array"
                },
                "keys": {
                  "description": "JWKS entries (insumer_jwks)",
                  "items": {},
                  "type": "array"
                },
                "message": {
                  "description": "A plain-text result (insumer_setup), or a message from the API"
                },
                "meta": {
                  "description": "Response metadata such as version and timestamp"
                },
                "ok": {
                  "description": "true when the API call succeeded",
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false,
              "title": "Verify wallet conditions (signed)"
            }
          },
          {
            "name": "insumer_compliance_templates",
            "title": "List compliance templates",
            "description": "List the compliance templates available for EAS attestation conditions. Each template carries pre-configured schema IDs, attester addresses, and decoder contracts for a KYC or identity provider (Coinbase Verifications on Base, Gitcoin Passport on Optimism), so a condition can name the template instead of raw EAS parameters. No authentication or credits required.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "properties": {},
              "type": "object"
            },
            "outputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": true,
              "properties": {
                "data": {
                  "description": "The endpoint's payload: a signed attestation, trust profile, discount, merchant or token records"
                },
                "error": {
                  "description": "Error details when ok is false"
                },
                "items": {
                  "description": "The result when the endpoint returns a JSON array",
                  "items": {},
                  "type": "array"
                },
                "keys": {
                  "description": "JWKS entries (insumer_jwks)",
                  "items": {},
                  "type": "array"
                },
                "message": {
                  "description": "A plain-text result (insumer_setup), or a message from the API"
                },
                "meta": {
                  "description": "Response metadata such as version and timestamp"
                },
                "ok": {
                  "description": "true when the API call succeeded",
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "List compliance templates"
            }
          },
          {
            "name": "insumer_wallet_trust",
            "title": "Wallet trust profile (signed)",
            "description": "Generate a signed wallet trust fact profile for an EVM wallet: a curated set of presence checks organized into dimensions (stablecoins, governance, NFTs, staking, institutional stablecoins, tokenized treasuries, stablecoin deposits, wrapped bitcoin, names). Optional Solana, XRPL, Bitcoin and Tron wallets add their own dimensions; optional Stellar and Sui wallets let rows inside existing dimensions evaluate. Rows on a chain whose wallet is not supplied stay in the signed profile with evaluated: false. Every check is held or not held, never a balance. The signed conditionSetVersion names the check list that was run; log it, never reject on it. Returns per-dimension pass/fail counts and an overall summary: no score, no opinion. Designed for AI agent-to-agent trust decisions. Costs 3 credits (6 with proof: 'merkle'). Current chain and check counts: https://insumermodel.com/llms.txt",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "bitcoinWallet": {
                  "description": "Bitcoin address. If provided, adds the Bitcoin dimension (native BTC presence).",
                  "pattern": "^(?:[13][1-9A-HJ-NP-Za-km-z]{25,34}|(?:bc1|BC1)[02-9ac-hj-np-zAC-HJ-NP-Z]{11,87})$",
                  "type": "string"
                },
                "proof": {
                  "description": "Set to 'merkle' for EIP-1186 Merkle storage proofs on EVM token checks (6 credits). Rows whose balance is computed rather than stored (Aave aTokens, BUIDL) and NFT/non-EVM rows are declined with a reason; the premium is refunded whenever no proof is delivered.",
                  "enum": [
                    "merkle"
                  ],
                  "type": "string"
                },
                "solanaWallet": {
                  "description": "Solana wallet address (base58). If provided, adds the Solana dimension and lets the institutional rows on Solana evaluate.",
                  "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
                  "type": "string"
                },
                "stellarWallet": {
                  "description": "Stellar wallet address (G-prefixed). If provided, lets the institutional rows on Stellar evaluate (classic trustlines). Adds no dimension.",
                  "pattern": "^G[A-Z2-7]{55}$",
                  "type": "string"
                },
                "suiWallet": {
                  "description": "Sui wallet address (0x + 64 hex). If provided, lets the rows on Sui evaluate. Adds no dimension.",
                  "pattern": "^0x[0-9a-fA-F]{64}$",
                  "type": "string"
                },
                "tronWallet": {
                  "description": "Tron wallet address (T-prefixed). If provided, adds the Tron dimension.",
                  "pattern": "^T[1-9A-HJ-NP-Za-km-z]{33}$",
                  "type": "string"
                },
                "wallet": {
                  "description": "EVM wallet address (0x...) to profile",
                  "pattern": "^0x[0-9a-fA-F]{40}$",
                  "type": "string"
                },
                "xrplWallet": {
                  "description": "XRPL wallet address (r-address). If provided, adds the XRPL dimension and lets the institutional row on XRPL evaluate.",
                  "pattern": "^r[1-9A-HJ-NP-Za-km-z]{24,34}$",
                  "type": "string"
                }
              },
              "required": [
                "wallet"
              ],
              "type": "object"
            },
            "outputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": true,
              "properties": {
                "data": {
                  "description": "The endpoint's payload: a signed attestation, trust profile, discount, merchant or token records"
                },
                "error": {
                  "description": "Error details when ok is false"
                },
                "items": {
                  "description": "The result when the endpoint returns a JSON array",
                  "items": {},
                  "type": "array"
                },
                "keys": {
                  "description": "JWKS entries (insumer_jwks)",
                  "items": {},
                  "type": "array"
                },
                "message": {
                  "description": "A plain-text result (insumer_setup), or a message from the API"
                },
                "meta": {
                  "description": "Response metadata such as version and timestamp"
                },
                "ok": {
                  "description": "true when the API call succeeded",
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false,
              "title": "Wallet trust profile (signed)"
            }
          },
          {
            "name": "insumer_batch_wallet_trust",
            "title": "Batch wallet trust profiles (signed)",
            "description": "Generate wallet trust fact profiles for up to 10 wallets in a single request. Shared block fetches make this faster than sequential calls. Each wallet gets an independently signed profile with its own TRST-XXXXX ID. Supports partial success: failed wallets get error entries while successful ones return full profiles. Costs 3 credits per successful wallet (6 with proof: 'merkle'); credits are charged only for successful profiles.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "proof": {
                  "description": "Set to 'merkle' for EIP-1186 Merkle storage proofs on all wallets (6 credits/wallet).",
                  "enum": [
                    "merkle"
                  ],
                  "type": "string"
                },
                "wallets": {
                  "description": "1-10 wallet entries to profile",
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "bitcoinWallet": {
                        "description": "Bitcoin address. Adds the Bitcoin dimension.",
                        "pattern": "^(?:[13][1-9A-HJ-NP-Za-km-z]{25,34}|(?:bc1|BC1)[02-9ac-hj-np-zAC-HJ-NP-Z]{11,87})$",
                        "type": "string"
                      },
                      "solanaWallet": {
                        "description": "Solana wallet address (base58). Adds the Solana dimension.",
                        "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
                        "type": "string"
                      },
                      "stellarWallet": {
                        "description": "Stellar wallet address (G-prefixed). Lets the rows on Stellar evaluate; adds no dimension.",
                        "pattern": "^G[A-Z2-7]{55}$",
                        "type": "string"
                      },
                      "suiWallet": {
                        "description": "Sui wallet address (0x + 64 hex). Lets the rows on Sui evaluate; adds no dimension.",
                        "pattern": "^0x[0-9a-fA-F]{64}$",
                        "type": "string"
                      },
                      "tronWallet": {
                        "description": "Tron wallet address (T-prefixed). Adds the Tron dimension.",
                        "pattern": "^T[1-9A-HJ-NP-Za-km-z]{33}$",
                        "type": "string"
                      },
                      "wallet": {
                        "description": "EVM wallet address (0x...)",
                        "pattern": "^0x[0-9a-fA-F]{40}$",
                        "type": "string"
                      },
                      "xrplWallet": {
                        "description": "XRPL wallet address (r-address). Adds the XRPL dimension.",
                        "pattern": "^r[1-9A-HJ-NP-Za-km-z]{24,34}$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "wallet"
                    ],
                    "type": "object"
                  },
                  "maxItems": 10,
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "wallets"
              ],
              "type": "object"
            },
            "outputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": true,
              "properties": {
                "data": {
                  "description": "The endpoint's payload: a signed attestation, trust profile, discount, merchant or token records"
                },
                "error": {
                  "description": "Error details when ok is false"
                },
                "items": {
                  "description": "The result when the endpoint returns a JSON array",
                  "items": {},
                  "type": "array"
                },
                "keys": {
                  "description": "JWKS entries (insumer_jwks)",
                  "items": {},
                  "type": "array"
                },
                "message": {
                  "description": "A plain-text result (insumer_setup), or a message from the API"
                },
                "meta": {
                  "description": "Response metadata such as version and timestamp"
                },
                "ok": {
                  "description": "true when the API call succeeded",
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": true,
              "readOnlyHint": false,
              "title": "Batch wallet trust profiles (signed)"
            }
          },
          {
            "name": "insumer_list_merchants",
            "title": "List merchants",
            "description": "Browse merchants in the public directory. Filter by accepted token, verification status. Returns company name, website, tokens accepted, and discount info.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "limit": {
                  "description": "Results per page (default 50, max 200)",
                  "maximum": 200,
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "description": "Pagination offset (default 0)",
                  "minimum": 0,
                  "type": "integer"
                },
                "token": {
                  "description": "Filter by accepted token symbol, e.g. 'UNI'",
                  "maxLength": 32,
                  "type": "string"
                },
                "verified": {
                  "description": "Filter by domain verification status",
                  "enum": [
                    "true",
                    "false"
                  ],
                  "type": "string"
                }
              },
              "type": "object"
            },
            "outputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": true,
              "properties": {
                "data": {
                  "description": "The endpoint's payload: a signed attestation, trust profile, discount, merchant or token records"
                },
                "error": {
                  "description": "Error details when ok is false"
                },
                "items": {
                  "description": "The result when the endpoint returns a JSON array",
                  "items": {},
                  "type": "array"
                },
                "keys": {
                  "description": "JWKS entries (insumer_jwks)",
                  "items": {},
                  "type": "array"
                },
                "message": {
                  "description": "A plain-text result (insumer_setup), or a message from the API"
                },
                "meta": {
                  "description": "Response metadata such as version and timestamp"
                },
                "ok": {
                  "description": "true when the API call succeeded",
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "List merchants"
            }
          },
          {
            "name": "insumer_get_merchant",
            "title": "Get a merchant profile",
            "description": "Get full public merchant profile including token tiers, NFT collections, discount mode, and verification status.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "Merchant ID",
                  "maxLength": 100,
                  "minLength": 1,
                  "pattern": "^[a-zA-Z0-9_-]+$",
                  "type": "string"
                }
              },
              "required": [
                "id"
              ],
              "type": "object"
            },
            "outputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": true,
              "properties": {
                "data": {
                  "description": "The endpoint's payload: a signed attestation, trust profile, discount, merchant or token records"
                },
                "error": {
                  "description": "Error details when ok is false"
                },
                "items": {
                  "description": "The result when the endpoint returns a JSON array",
                  "items": {},
                  "type": "array"
                },
                "keys": {
                  "description": "JWKS entries (insumer_jwks)",
                  "items": {},
                  "type": "array"
                },
                "message": {
                  "description": "A plain-text result (insumer_setup), or a message from the API"
                },
                "meta": {
                  "description": "Response metadata such as version and timestamp"
                },
                "ok": {
                  "description": "true when the API call succeeded",
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "Get a merchant profile"
            }
          },
          {
            "name": "insumer_list_tokens",
            "title": "List registered tokens",
            "description": "List all registered tokens and NFT collections in the Insumer registry. Filter by chain, symbol, or asset type.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "chain": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "const": "solana",
                      "type": "string"
                    },
                    {
                      "const": "xrpl",
                      "type": "string"
                    },
                    {
                      "const": "bitcoin",
                      "type": "string"
                    }
                  ],
                  "description": "Filter by chain ID"
                },
                "symbol": {
                  "description": "Filter by token symbol",
                  "maxLength": 32,
                  "type": "string"
                },
                "type": {
                  "description": "Filter by asset type",
                  "enum": [
                    "token",
                    "nft"
                  ],
                  "type": "string"
                }
              },
              "type": "object"
            },
            "outputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": true,
              "properties": {
                "data": {
                  "description": "The endpoint's payload: a signed attestation, trust profile, discount, merchant or token records"
                },
                "error": {
                  "description": "Error details when ok is false"
                },
                "items": {
                  "description": "The result when the endpoint returns a JSON array",
                  "items": {},
                  "type": "array"
                },
                "keys": {
                  "description": "JWKS entries (insumer_jwks)",
                  "items": {},
                  "type": "array"
                },
                "message": {
                  "description": "A plain-text result (insumer_setup), or a message from the API"
                },
                "meta": {
                  "description": "Response metadata such as version and timestamp"
                },
                "ok": {
                  "description": "true when the API call succeeded",
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "List registered tokens"
            }
          },
          {
            "name": "insumer_check_discount",
            "title": "Check a discount (free)",
            "description": "Calculate discount for a wallet at a merchant. Checks on-chain balances and returns tier and discount percentage per token, never raw balance amounts. Free: does not consume credits.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "merchant": {
                  "description": "Merchant ID",
                  "maxLength": 100,
                  "minLength": 1,
                  "pattern": "^[a-zA-Z0-9_-]+$",
                  "type": "string"
                },
                "solanaWallet": {
                  "description": "Solana wallet address (base58)",
                  "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
                  "type": "string"
                },
                "stellarWallet": {
                  "description": "Stellar wallet address (G-prefixed)",
                  "pattern": "^G[A-Z2-7]{55}$",
                  "type": "string"
                },
                "suiWallet": {
                  "description": "Sui wallet address (0x + 64 hex)",
                  "pattern": "^0x[0-9a-fA-F]{64}$",
                  "type": "string"
                },
                "tronWallet": {
                  "description": "Tron wallet address (T-prefixed)",
                  "pattern": "^T[1-9A-HJ-NP-Za-km-z]{33}$",
                  "type": "string"
                },
                "wallet": {
                  "description": "EVM wallet address (0x...)",
                  "pattern": "^0x[0-9a-fA-F]{40}$",
                  "type": "string"
                },
                "xrplWallet": {
                  "description": "XRPL wallet address (r-address)",
                  "pattern": "^r[1-9A-HJ-NP-Za-km-z]{24,34}$",
                  "type": "string"
                }
              },
              "required": [
                "merchant"
              ],
              "type": "object"
            },
            "outputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": true,
              "properties": {
                "data": {
                  "description": "The endpoint's payload: a signed attestation, trust profile, discount, merchant or token records"
                },
                "error": {
                  "description": "Error details when ok is false"
                },
                "items": {
                  "description": "The result when the endpoint returns a JSON array",
                  "items": {},
                  "type": "array"
                },
                "keys": {
                  "description": "JWKS entries (insumer_jwks)",
                  "items": {},
                  "type": "array"
                },
                "message": {
                  "description": "A plain-text result (insumer_setup), or a message from the API"
                },
                "meta": {
                  "description": "Response metadata such as version and timestamp"
                },
                "ok": {
                  "description": "true when the API call succeeded",
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "Check a discount (free)"
            }
          },
          {
            "name": "insumer_validate_code",
            "title": "Validate a discount code",
            "description": "Validate an INSR-XXXXX discount code. For merchant backends during ACP/UCP checkout to confirm code validity, discount percent, and expiry. Returns valid/invalid status with reason. No authentication required, no credits consumed. Does not expose wallet or token data.",
            "inputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": false,
              "properties": {
                "code": {
                  "description": "Discount code in INSR-XXXXX format",
                  "pattern": "^INSR-[A-Z0-9]{5}$",
                  "type": "string"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "outputSchema": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "additionalProperties": true,
              "properties": {
                "data": {
                  "description": "The endpoint's payload: a signed attestation, trust profile, discount, merchant or token records"
                },
                "error": {
                  "description": "Error details when ok is false"
                },
                "items": {
                  "description": "The result when the endpoint returns a JSON array",
                  "items": {},
                  "type": "array"
                },
                "keys": {
                  "description": "JWKS entries (insumer_jwks)",
                  "items": {},
                  "type": "array"
                },
                "message": {
                  "description": "A plain-text result (insumer_setup), or a message from the API"
                },
                "meta": {
                  "description": "Response metadata such as version and timestamp"
                },
                "ok": {
                  "description": "true when the API call succeeded",
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": true,
              "readOnlyHint": true,
              "title": "Validate a discount code"
            }
          }
        ]
      },
      "name": "insumer",
      "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
      "packages": [
        {
          "registryType": "npm",
          "identifier": "mcp-server-insumer",
          "version": "1.16.0",
          "transport": "stdio"
        }
      ],
      "pageJsonUrl": "https://www.anchorterminal.com/tools/insumermodel-insumer.json",
      "popularity": {
        "githubStars": 1,
        "npmWeekly": 669
      },
      "registryName": "com.insumermodel/insumer",
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://api.insumermodel.com/mcp"
        }
      ],
      "repository": "https://github.com/insumerapi/mcp-server-insumer",
      "reviewed": false,
      "slug": "insumermodel-insumer",
      "source": "the official MCP registry",
      "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=com.insumermodel/insumer",
      "summary": "Wallet auth: send a wallet and conditions, get a signed boolean across 37 chains. 27 tools.",
      "updatedAt": "2026-10-03T17:07:41Z",
      "url": "https://www.anchorterminal.com/tools/insumermodel-insumer",
      "vendor": "insumermodel.com",
      "vendorUrl": "https://insumermodel.com/developers/",
      "version": "1.16.0",
      "websiteUrl": "https://insumermodel.com/developers/",
      "where": "both",
      "why": [
        "vendor"
      ]
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/insumermodel-insumer",
    "json": "https://www.anchorterminal.com/tools/insumermodel-insumer.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/insumermodel-insumer.md",
    "slim": "https://www.anchorterminal.com/tools/insumermodel-insumer.min.md"
  },
  "markdown": "# insumer\n\n\u003e Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/\n\n- Kind: MCP server, by insumermodel.com (https://insumermodel.com/developers/)\n- Category: Payment \u0026 monetisation platforms (https://www.anchorterminal.com/categories/payment-platforms.md)\n- Listed because: It's published in the registry under insumermodel.com, a namespace the registry only gives to whoever proves they control that domain.\n- What the official MCP registry says: Wallet auth: send a wallet and conditions, get a signed boolean across 37 chains. 27 tools.\n\n## Facts\n\n- MCP registry: `com.insumermodel/insumer` 1.16.0\n- Endpoint: https://api.insumermodel.com/mcp (streamable HTTP)\n- Package: npm `mcp-server-insumer` (stdio)\n- Source: https://github.com/insumerapi/mcp-server-insumer\n- Website: https://insumermodel.com/developers/\n- npm downloads a week: 669\n- GitHub stars: 1\n- Registry entry updated: 2026-10-03\n\n## Tools\n\n- Tools it lists (10, about 7,914 tokens of context, `tools/list` without credentials over MCP 2025-11-25, checked 2026-10-04 22:23 UTC):\n  - `insumer_jwks` (read-only): Get InsumerAPI's public signing keys as a JWKS (JSON Web Key Set): an ECDSA P-256 key under its kids, followed by the ML-DSA-65 post-quantum key as RFC 9964…\n  - `insumer_attest` (writes): Verify 1-10 on-chain conditions for a wallet and return a signed yes or no for each, never the balance. Condition types: token_balance, nft_ownership,…\n  - `insumer_compliance_templates` (read-only): List the compliance templates available for EAS attestation conditions. Each template carries pre-configured schema IDs, attester addresses, and decoder…\n  - `insumer_wallet_trust` (writes): Generate a signed wallet trust fact profile for an EVM wallet: a curated set of presence checks organized into dimensions (stablecoins, governance, NFTs,…\n  - `insumer_batch_wallet_trust` (writes): Generate wallet trust fact profiles for up to 10 wallets in a single request. Shared block fetches make this faster than sequential calls. Each wallet gets an…\n  - `insumer_list_merchants` (read-only): Browse merchants in the public directory. Filter by accepted token, verification status. Returns company name, website, tokens accepted, and discount info.\n  - `insumer_get_merchant` (read-only): Get full public merchant profile including token tiers, NFT collections, discount mode, and verification status.\n  - `insumer_list_tokens` (read-only): List all registered tokens and NFT collections in the Insumer registry. Filter by chain, symbol, or asset type.\n  - `insumer_check_discount` (read-only): Calculate discount for a wallet at a merchant. Checks on-chain balances and returns tier and discount percentage per token, never raw balance amounts. Free:…\n  - `insumer_validate_code` (read-only): Validate an INSR-XXXXX discount code. For merchant backends during ACP/UCP checkout to confirm code validity, discount percent, and expiry. Returns…\n- How its tools read to an agent (0 errors, 2 warnings, 0 notes, about 7,914 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score):\n  - warn TC15 insumer_attest: inputSchema uses $ref/$defs\n  - warn TC22 insumer_attest: the definition is about 3,465 tokens\n\n- JSON: https://www.anchorterminal.com/api/v1/tools/insumermodel-insumer.json\n- Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Indexed",
        "url": "https://www.anchorterminal.com/indexed/"
      },
      {
        "name": "insumer",
        "url": ""
      }
    ],
    "description": "insumer, an MCP server by insumermodel.com, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. Wallet auth: send a wallet and conditions, get a signed boolean across 37 chains. 27 tools.",
    "facts": [
      "not reviewed",
      "not ranked",
      "facts only"
    ],
    "h1": "insumer",
    "image": "https://www.anchorterminal.com/assets/og/indexed.png",
    "path": "/tools/insumermodel-insumer",
    "published": "",
    "section": "indexed",
    "title": "insumer: MCP server, indexed from the official MCP registry",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/tools/insumermodel-insumer"
  },
  "tokens": {
    "markdown": 1050,
    "slim": 980
  },
  "version": 1
}
