← InsumerAPICONTENT HISTORY

Update to InsumerAPI

Snapshot Nov 10, 2026 · 18:08 UTC · version 0.2.3

WHAT CHANGED

Declared capabilities changed

Full description — Now says: Eight

Observed in instructions or declared skills. Runtime behavior has not been tested.

Save InsumerAPI and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

Full description

Before

Oct 29, 2026 · 19:10 UTC

Seven

After

Nov 10, 2026 · 18:08 UTC

Eight

Long description

Before

Oct 29, 2026 · 19:10 UTC

seven included skills cover the same work through the REST API with your own key, which adds key management, discount codes and the merchant tools.

After

Nov 10, 2026 · 18:08 UTC

eight included skills cover the same work through the REST API with your own key, which adds key management, discount codes and the merchant tools. Another holds recipes for agents that check a wallet before they pay another x402 service.

Declared skills

Before

Oct 29, 2026 · 19:10 UTC

[{"description":"Wallet auth via InsumerAPI: condition-based access with ES256-signed, JWKS-verifiable boolean responses (token balances across 37 chains, plus NFT ownership, EAS attestations, Farcaster IDs and other condition types). Us...

After

Nov 10, 2026 · 18:08 UTC

[{"description":"Wallet auth via InsumerAPI: condition-based access with ES256-signed, JWKS-verifiable boolean responses (token balances across 37 chains, plus NFT ownership, EAS attestations, Farcaster IDs and other condition types). Us...

Composer icon url

Before

Oct 29, 2026 · 19:10 UTC

https://files.openai.com/content?id=file_000000009ccc820db6af57995b1fe588

After

Nov 10, 2026 · 18:08 UTC

https://files.openai.com/content?id=file_000000007bf48230b2ee9ecfee00db74

Compare saved observations

Download comparison JSON
Full technical diff · 7 changed fields

changed /release/description

BEFORE
"Check what a wallet holds, with a signed yes or no. InsumerAPI wallet auth for AI agents: token balances, NFTs, EAS attestations, ERC-8004 agents and trust profiles across 37 chains, never the balance. Seven skills plus the hosted MCP server at api.insumermodel.com/mcp."
AFTER
"Check what a wallet holds, with a signed yes or no. InsumerAPI wallet auth for AI agents: token balances, NFTs, EAS attestations, ERC-8004 agents and trust profiles across 37 chains, never the balance. Eight skills plus the hosted MCP server at api.insumermodel.com/mcp."

changed /release/id

BEFORE
"pluginrel_456cd7df903c81919b464f2bde2a8b91"
AFTER
"pluginrel_a684dca4004c81918996a59107ceab87"

changed /release/interface/composer_icon_url

BEFORE
"https://files.openai.com/content?id=file_000000009ccc820db6af57995b1fe588"
AFTER
"https://files.openai.com/content?id=file_000000007bf48230b2ee9ecfee00db74"

changed /release/interface/logo_url

BEFORE
"https://files.openai.com/content?id=file_00000000aea0820db23fc27a91c1ec41"
AFTER
"https://files.openai.com/content?id=file_0000000015a48230bdeb39a15cf395c4"

changed /release/interface/long_description

BEFORE
"Ask ChatGPT things like \"check if this wallet holds at least 100 USDC on Base\", \"does this wallet own an NFT from this collection\", \"is this wallet a registered ERC-8004 agent\", \"build a trust profile for this wallet\", \"verify this wallet attestation offline\" or \"what discount does this wallet get at this merchant\". InsumerAPI answers each one with a signed yes or no: does this wallet satisfy this condition right now? The balance itself is never returned.\n\nConditions cover token balances, NFT ownership, EAS attestations (including Coinbase Verifications and Gitcoin Passport templates), Farcaster IDs, ERC-8004 agent registration, ERC-7710 delegations and account code state (plain key, EIP-7702 delegation or contract), across 37 chains: 31 EVM chains plus Solana, XRP Ledger, Bitcoin, Tron, Stellar and Sui. Send a wallet address and up to ten conditions in one request. A wallet trust profile runs 155 checks across 27 chains in ten dimensions and reports what is held or not held, with no score and no opinion.\n\nEvery response is signed twice, with ES256 and with a post-quantum ML-DSA-65 signature, and carries a hash of the evaluated condition and the block it was read at. Anyone can check a result without calling InsumerAPI again, using the open-source insumer-verify package on npm and PyPI.\n\nThis plugin connects to the hosted InsumerAPI MCP server, which needs no account and no key. It serves ten tools: the public signing keys, condition attestation, compliance templates, wallet trust profiles (single and batch), the merchant and token directories, a discount check, and discount-code validation. The hosted server is shared, so the tools that produce signed results are rate limited per day; when the limit is reached, calls are declined until 00:00 UTC. Six of the seven included skills cover the same work through the REST API with your own key, which adds key management, discount codes and the merchant tools.\n\nNot for: exact balances, portfolio values, price data, sending transactions, or trading. InsumerAPI holds no secrets, requires no identity, issues no static credentials, and stores no wallet addresses or conditions from verification requests. It is condition-based access infrastructure, and wallet auth is how it works: read the wallet's on-chain state, evaluate it against the condition, sign the answer.\n\nDocumentation: https://insumermodel.com/developers/\nOpenAPI: https://insumermodel.com/openapi.yaml\nSource for the MCP server (MIT): https://github.com/insumerapi/mcp-server-insumer"
AFTER
"Ask ChatGPT things like \"check if this wallet holds at least 100 USDC on Base\", \"does this wallet own an NFT from this collection\", \"is this wallet a registered ERC-8004 agent\", \"build a trust profile for this wallet\", \"verify this wallet attestation offline\" or \"what discount does this wallet get at this merchant\". InsumerAPI answers each one with a signed yes or no: does this wallet satisfy this condition right now? The balance itself is never returned.\n\nConditions cover token balances, NFT ownership, EAS attestations (including Coinbase Verifications and Gitcoin Passport templates), Farcaster IDs, ERC-8004 agent registration, ERC-7710 delegations and account code state (plain key, EIP-7702 delegation or contract), across 37 chains: 31 EVM chains plus Solana, XRP Ledger, Bitcoin, Tron, Stellar and Sui. Send a wallet address and up to ten conditions in one request. A wallet trust profile runs 155 checks across 27 chains in ten dimensions and reports what is held or not held, with no score and no opinion.\n\nEvery response is signed twice, with ES256 and with a post-quantum ML-DSA-65 signature, and carries a hash of the evaluated condition and the block it was read at. Anyone can check a result without calling InsumerAPI again, using the open-source insumer-verify package on npm and PyPI.\n\nThis plugin connects to the hosted InsumerAPI MCP server, which needs no account and no key. It serves ten tools: the public signing keys, condition attestation, compliance templates, wallet trust profiles (single and batch), the merchant and token directories, a discount check, and discount-code validation. The hosted server is shared, so the tools that produce signed results are rate limited per day; when the limit is reached, calls are declined until 00:00 UTC. Six of the eight included skills cover the same work through the REST API with your own key, which adds key management, discount codes and the merchant tools. Another holds recipes for agents that check a wallet before they pay another x402 service.\n\nNot for: exact balances, portfolio values, price data, sending transactions, or trading. InsumerAPI holds no secrets, requires no identity, issues no static credentials, and stores no wallet addresses or conditions from verification requests. It is condition-based access infrastructure, and wallet auth is how it works: read the wallet's on-chain state, evaluate it against the condition, sign the answer.\n\nDocumentation: https://insumermodel.com/developers/\nOpenAPI: https://insumermodel.com/openapi.yaml\nSource for the MCP server (MIT): https://github.com/insumerapi/mcp-server-insumer"

changed /release/skills

BEFORE
[
  {
    "description": "Wallet auth via InsumerAPI: condition-based access with ES256-signed, JWKS-verifiable boolean responses (token balances across 37 chains, plus NFT ownership, EAS attestations, Farcaster IDs and other condition types). Use when the user wants InsumerAPI to give a \"verified yes or no\" on whether a wallet satisfies an on-chain condition, to gate a feature by what a wallet holds with InsumerAPI, or to compose an InsumerAPI wallet_state signal in a multi-issuer trust envelope. Read, evaluate, sign, in one call.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-attest",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "radar",
      "short_description": "Wallet auth via InsumerAPI: condition-based access with ES256-signed, JWKS-verifiable boolean responses (token balances across 37 chains, plus NFT ownership, EAS attestations, Farcaster IDs and other condition types). Use when the user wants InsumerAPI to give a \"verified yes or no\" on whether a wallet satisfies an on-chain condition, to gate a feature by what a wallet holds with InsumerAPI, or to compose an InsumerAPI wallet_state signal in a multi-issuer trust envelope. Read, evaluate, sign, in one call.\n"
    },
    "name": "insumer-attest",
    "plugin_release_skill_id": "pluginrsk_6ae385dfd6988191844307401492ea75"
  },
  {
    "description": "InsumerAPI wallet auth: get an InsumerAPI key, configure INSUMER_API_KEY, check or top up InsumerAPI credits, or debug InsumerAPI 401/402/429 errors. Covers four key paths: free (email), paid (Stripe), an agent's first key paid on-chain, and an on-chain top-up of an existing key. The on-chain paths need the user's explicit approval of every payment.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-auth",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "bolt",
      "short_description": "InsumerAPI wallet auth: get an InsumerAPI key, configure INSUMER_API_KEY, check or top up InsumerAPI credits, or debug InsumerAPI 401/402/429 errors. Covers four key paths: free (email), paid (Stripe), an agent's first key paid on-chain, and an on-chain top-up of an existing key. The on-chain paths need the user's explicit approval of every payment.\n"
    },
    "name": "insumer-auth",
    "plugin_release_skill_id": "pluginrsk_6ae385dfd3588191a2e5eb5fccc819b5"
  },
  {
    "description": "Token-holder discounts at InsumerAPI merchants: read a store's terms, check what a wallet qualifies for (free), optionally prove control of the wallet by signing an EIP-4361 message, and create a signed single-use discount code (INSR-XXXXX). Use when the user or agent wants a holder discount at a store in the InsumerAPI merchant directory, wants to know whether signing with the wallet gets a bigger discount, or needs a discount in ACP or UCP checkout format.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-discount",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "bolt",
      "short_description": "Token-holder discounts at InsumerAPI merchants: read a store's terms, check what a wallet qualifies for (free), optionally prove control of the wallet by signing an EIP-4361 message, and create a signed single-use discount code (INSR-XXXXX). Use when the user or agent wants a holder discount at a store in the InsumerAPI merchant directory, wants to know whether signing with the wallet gets a bigger discount, or needs a discount in ACP or UCP checkout format.\n"
    },
    "name": "insumer-discount",
    "plugin_release_skill_id": "pluginrsk_6ae385df0dbc819181a490e7d62c9d67"
  },
  {
    "description": "How to use the InsumerAPI MCP tools this plugin connects to (the hosted server at api.insumermodel.com/mcp, no key needed). Use when the user asks to check if a wallet holds a token or an amount, whether a wallet owns an NFT, whether a wallet is a registered ERC-8004 agent, for a wallet trust profile, for InsumerAPI's signing keys or how to verify an attestation, for compliance templates, or for a merchant's discount, and the insumer MCP tools are available. Do not use for exact balances, prices, or sending transactions. Explains the shared daily allowance and when to switch to the REST skills with the user's own key.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-hosted-tools",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "radar",
      "short_description": "How to use the InsumerAPI MCP tools this plugin connects to (the hosted server at api.insumermodel.com/mcp, no key needed). Use when the user asks to check if a wallet holds a token or an amount, whether a wallet owns an NFT, whether a wallet is a registered ERC-8004 agent, for a wallet trust profile, for InsumerAPI's signing keys or how to verify an attestation, for compliance templates, or for a merchant's discount, and the insumer MCP tools are available. Do not use for exact balances, prices, or sending transactions. Explains the shared daily allowance and when to switch to the REST skills with the user's own key.\n"
    },
    "name": "insumer-hosted-tools",
    "plugin_release_skill_id": "pluginrsk_6ae385df39e88191a40c7fdf89ec43d3"
  },
  {
    "description": "Offline ES256 verification of InsumerAPI signed responses against the public JWKS. Use when the user receives a signed attestation from /v1/attest, /v1/trust, or /v1/trust/batch and needs to verify the signature without trusting the JSON body. Covers both the JWT path (jose / PyJWT / go-jose) and the raw sig path (ES256 over the canonical attestation/trust object).\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-jwks-verify",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "code",
      "short_description": "Offline ES256 verification of InsumerAPI signed responses against the public JWKS. Use when the user receives a signed attestation from /v1/attest, /v1/trust, or /v1/trust/batch and needs to verify the signature without trusting the JSON body. Covers both the JWT path (jose / PyJWT / go-jose) and the raw sig path (ES256 over the canonical attestation/trust object).\n"
    },
    "name": "insumer-jwks-verify",
    "plugin_release_skill_id": "pluginrsk_6ae385e04b988191918637e55e870ee4"
  },
  {
    "description": "InsumerAPI wallet trust profile: a curated multi-dimensional condition-based access bundle for a single wallet. 155 base checks across 27 chains in 10 dimensions (stablecoins, governance, NFTs, staking, institutional stablecoins, tokenized treasuries, stablecoin deposits, wrapped bitcoin, names, account), plus optional Solana, XRPL, Bitcoin and Tron dimensions (up to 176 checks across 29 chains in 14 dimensions). Use when the user wants an InsumerAPI trust profile, a pre-built signed wallet snapshot rather than conditions specified one by one (for example an InsumerAPI pre-transaction trust check). The profile is signed once, as a whole. Carry it unchanged: never re-sign or wrap it.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-trust",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "radar",
      "short_description": "InsumerAPI wallet trust profile: a curated multi-dimensional condition-based access bundle for a single wallet. 155 base checks across 27 chains in 10 dimensions (stablecoins, governance, NFTs, staking, institutional stablecoins, tokenized treasuries, stablecoin deposits, wrapped bitcoin, names, account), plus optional Solana, XRPL, Bitcoin and Tron dimensions (up to 176 checks across 29 chains in 14 dimensions). Use when the user wants an InsumerAPI trust profile, a pre-built signed wallet snapshot rather than conditions specified one by one (for example an InsumerAPI pre-transaction trust check). The profile is signed once, as a whole. Carry it unchanged: never re-sign or wrap it.\n"
    },
    "name": "insumer-trust",
    "plugin_release_skill_id": "pluginrsk_6ae385ded28081918814025b60fa8cf3"
  },
  {
    "description": "InsumerAPI batch wallet trust profiles: the same curated bundle as insumer-trust, for up to 10 wallets in a single call. Use when the user wants InsumerAPI trust profiles for a list of wallets (for example screening an airdrop or allowlist with InsumerAPI). Each wallet's profile is independently signed; the response supports partial success.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-trust-batch",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "radar",
      "short_description": "InsumerAPI batch wallet trust profiles: the same curated bundle as insumer-trust, for up to 10 wallets in a single call. Use when the user wants InsumerAPI trust profiles for a list of wallets (for example screening an airdrop or allowlist with InsumerAPI). Each wallet's profile is independently signed; the response supports partial success.\n"
    },
    "name": "insumer-trust-batch",
    "plugin_release_skill_id": "pluginrsk_6ae385debde8819194aad575954ae855"
  }
]
AFTER
[
  {
    "description": "Wallet auth via InsumerAPI: condition-based access with ES256-signed, JWKS-verifiable boolean responses (token balances across 37 chains, plus NFT ownership, EAS attestations, Farcaster IDs and other condition types). Use when the user wants InsumerAPI to give a \"verified yes or no\" on whether a wallet satisfies an on-chain condition, to gate a feature by what a wallet holds with InsumerAPI, or to compose an InsumerAPI wallet_state signal in a multi-issuer trust envelope. Read, evaluate, sign, in one call.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-attest",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "code",
      "short_description": "Wallet auth via InsumerAPI: condition-based access with ES256-signed, JWKS-verifiable boolean responses (token balances across 37 chains, plus NFT ownership, EAS attestations, Farcaster IDs and other condition types). Use when the user wants InsumerAPI to give a \"verified yes or no\" on whether a wallet satisfies an on-chain condition, to gate a feature by what a wallet holds with InsumerAPI, or to compose an InsumerAPI wallet_state signal in a multi-issuer trust envelope. Read, evaluate, sign, in one call.\n"
    },
    "name": "insumer-attest",
    "plugin_release_skill_id": "pluginrsk_6af3312fb6f88191957b1c5117c934d1"
  },
  {
    "description": "InsumerAPI wallet auth: get an InsumerAPI key, configure INSUMER_API_KEY, check or top up InsumerAPI credits, or debug InsumerAPI 401/402/429 errors. Covers four key paths: free (email), paid (Stripe), an agent's first key paid on-chain, and an on-chain top-up of an existing key. The on-chain paths need the user's explicit approval of every payment.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-auth",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "bolt",
      "short_description": "InsumerAPI wallet auth: get an InsumerAPI key, configure INSUMER_API_KEY, check or top up InsumerAPI credits, or debug InsumerAPI 401/402/429 errors. Covers four key paths: free (email), paid (Stripe), an agent's first key paid on-chain, and an on-chain top-up of an existing key. The on-chain paths need the user's explicit approval of every payment.\n"
    },
    "name": "insumer-auth",
    "plugin_release_skill_id": "pluginrsk_6af3312e972081919c20c35cab38f7cb"
  },
  {
    "description": "Token-holder discounts at InsumerAPI merchants: read a store's terms, check what a wallet qualifies for (free), optionally prove control of the wallet by signing an EIP-4361 message, and create a signed single-use discount code (INSR-XXXXX). Use when the user or agent wants a holder discount at a store in the InsumerAPI merchant directory, wants to know whether signing with the wallet gets a bigger discount, or needs a discount in ACP or UCP checkout format.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-discount",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "bolt",
      "short_description": "Token-holder discounts at InsumerAPI merchants: read a store's terms, check what a wallet qualifies for (free), optionally prove control of the wallet by signing an EIP-4361 message, and create a signed single-use discount code (INSR-XXXXX). Use when the user or agent wants a holder discount at a store in the InsumerAPI merchant directory, wants to know whether signing with the wallet gets a bigger discount, or needs a discount in ACP or UCP checkout format.\n"
    },
    "name": "insumer-discount",
    "plugin_release_skill_id": "pluginrsk_6af3312ec38c8191a75471a651522452"
  },
  {
    "description": "How to use the InsumerAPI MCP tools this plugin connects to (the hosted server at api.insumermodel.com/mcp, no key needed). Use when the user asks to check if a wallet holds a token or an amount, whether a wallet owns an NFT, whether a wallet is a registered ERC-8004 agent, for a wallet trust profile, for InsumerAPI's signing keys or how to verify an attestation, for compliance templates, or for a merchant's discount, and the insumer MCP tools are available. Do not use for exact balances, prices, or sending transactions. Explains the shared daily allowance and when to switch to the REST skills with the user's own key.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-hosted-tools",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "code",
      "short_description": "How to use the InsumerAPI MCP tools this plugin connects to (the hosted server at api.insumermodel.com/mcp, no key needed). Use when the user asks to check if a wallet holds a token or an amount, whether a wallet owns an NFT, whether a wallet is a registered ERC-8004 agent, for a wallet trust profile, for InsumerAPI's signing keys or how to verify an attestation, for compliance templates, or for a merchant's discount, and the insumer MCP tools are available. Do not use for exact balances, prices, or sending transactions. Explains the shared daily allowance and when to switch to the REST skills with the user's own key.\n"
    },
    "name": "insumer-hosted-tools",
    "plugin_release_skill_id": "pluginrsk_6af3312fb0dc8191b401cf038e4f2eb7"
  },
  {
    "description": "Offline ES256 verification of InsumerAPI signed responses against the public JWKS. Use when the user receives a signed attestation from /v1/attest, /v1/trust, or /v1/trust/batch and needs to verify the signature without trusting the JSON body. Covers both the JWT path (jose / PyJWT / go-jose) and the raw sig path (ES256 over the canonical attestation/trust object).\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-jwks-verify",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "code",
      "short_description": "Offline ES256 verification of InsumerAPI signed responses against the public JWKS. Use when the user receives a signed attestation from /v1/attest, /v1/trust, or /v1/trust/batch and needs to verify the signature without trusting the JSON body. Covers both the JWT path (jose / PyJWT / go-jose) and the raw sig path (ES256 over the canonical attestation/trust object).\n"
    },
    "name": "insumer-jwks-verify",
    "plugin_release_skill_id": "pluginrsk_6af3312f89308191a54de6b86f55101f"
  },
  {
    "description": "InsumerAPI wallet trust profile: a curated multi-dimensional condition-based access bundle for a single wallet. 155 base checks across 27 chains in 10 dimensions (stablecoins, governance, NFTs, staking, institutional stablecoins, tokenized treasuries, stablecoin deposits, wrapped bitcoin, names, account), plus optional Solana, XRPL, Bitcoin and Tron dimensions (up to 176 checks across 29 chains in 14 dimensions). Use when the user wants an InsumerAPI trust profile, a pre-built signed wallet snapshot rather than conditions specified one by one (for example an InsumerAPI pre-transaction trust check). The profile is signed once, as a whole. Carry it unchanged: never re-sign or wrap it.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-trust",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "radar",
      "short_description": "InsumerAPI wallet trust profile: a curated multi-dimensional condition-based access bundle for a single wallet. 155 base checks across 27 chains in 10 dimensions (stablecoins, governance, NFTs, staking, institutional stablecoins, tokenized treasuries, stablecoin deposits, wrapped bitcoin, names, account), plus optional Solana, XRPL, Bitcoin and Tron dimensions (up to 176 checks across 29 chains in 14 dimensions). Use when the user wants an InsumerAPI trust profile, a pre-built signed wallet snapshot rather than conditions specified one by one (for example an InsumerAPI pre-transaction trust check). The profile is signed once, as a whole. Carry it unchanged: never re-sign or wrap it.\n"
    },
    "name": "insumer-trust",
    "plugin_release_skill_id": "pluginrsk_6af3312e9934819182ceaf8995791c34"
  },
  {
    "description": "InsumerAPI batch wallet trust profiles: the same curated bundle as insumer-trust, for up to 10 wallets in a single call. Use when the user wants InsumerAPI trust profiles for a list of wallets (for example screening an airdrop or allowlist with InsumerAPI). Each wallet's profile is independently signed; the response supports partial success.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-trust-batch",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "chart",
      "short_description": "InsumerAPI batch wallet trust profiles: the same curated bundle as insumer-trust, for up to 10 wallets in a single call. Use when the user wants InsumerAPI trust profiles for a list of wallets (for example screening an airdrop or allowlist with InsumerAPI). Each wallet's profile is independently signed; the response supports partial success.\n"
    },
    "name": "insumer-trust-batch",
    "plugin_release_skill_id": "pluginrsk_6af3312ecce881919e2c6476a8bc8277"
  },
  {
    "description": "Recipes for agents that pay per call over x402 and should check a wallet with InsumerAPI before they spend: send a gift card or other reward only to members, check what an agent holds before hiring it, enforce a holding rule written in dollars, learn what people say about a wallet and what it holds, or buy paid research only for wallets that qualify. Use when the user wants an agent to pay another x402 service only after a signed yes or no about a wallet, or asks for the Agentic Cookbook for x402. Every recipe ran for real on Base; the payments are public.\n",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "insumer-x402-recipes",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "bolt",
      "short_description": "Recipes for agents that pay per call over x402 and should check a wallet with InsumerAPI before they spend: send a gift card or other reward only to members, check what an agent holds before hiring it, enforce a holding rule written in dollars, learn what people say about a wallet and what it holds, or buy paid research only for wallets that qualify. Use when the user wants an agent to pay another x402 service only after a signed yes or no about a wallet, or asks for the Agentic Cookbook for x402. Every recipe ran for real on Base; the payments are public.\n"
    },
    "name": "insumer-x402-recipes",
    "plugin_release_skill_id": "pluginrsk_6af3312f6c3c8191973ab0531fac4254"
  }
]

changed /release/version

BEFORE
"0.2.2"
AFTER
"0.2.3"
Full snapshot data
{
  "canonical_app_id": "asdk_app_6ac02f0983b0819189bdf9074149a9bb",
  "connector_id": "asdk_app_6ac02f0983b0819189bdf9074149a9bb",
  "created_at": "2026-10-02T22:32:43.121395Z",
  "discoverability": "LISTED",
  "id": "plugin_asdk_app_6ac02f0983b0819189bdf9074149a9bb",
  "is_template": false,
  "is_template_instance": false,
  "is_v2_template": false,
  "name": "insumer",
  "release": {
    "app_ids": [
      "asdk_app_6ac02f0983b0819189bdf9074149a9bb"
    ],
    "app_manifest": {
      "apps": {
        "insumer": {
          "id": "asdk_app_6ac02f0983b0819189bdf9074149a9bb",
          "required": true
        }
      }
    },
    "app_templates": [],
    "description": "Check what a wallet holds, with a signed yes or no. InsumerAPI wallet auth for AI agents: token balances, NFTs, EAS attestations, ERC-8004 agents and trust profiles across 37 chains, never the balance. Eight skills plus the hosted MCP server at api.insumermodel.com/mcp.",
    "display_name": "InsumerAPI",
    "id": "pluginrel_a684dca4004c81918996a59107ceab87",
    "interface": {
      "brand_color": "#D4A853",
      "capabilities": [
        "Read"
      ],
      "category": "Developer Tools",
      "composer_icon_dark_url": null,
      "composer_icon_url": "https://files.openai.com/content?id=file_000000007bf48230b2ee9ecfee00db74",
      "default_prompt": "Check if wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 holds at least 1 ETH on Ethereum and show me the signed attestation.",
      "default_prompts": [
        "Check if wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 holds at least 1 ETH on Ethereum and show me the signed attestation.",
        "Build a trust profile for wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 and summarize each dimension.",
        "Is wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 a registered ERC-8004 agent with agent ID 1 on Base?"
      ],
      "developer_name": "InsumerAPI",
      "logo_url": "https://files.openai.com/content?id=file_0000000015a48230bdeb39a15cf395c4",
      "logo_url_dark": null,
      "long_description": "Ask ChatGPT things like \"check if this wallet holds at least 100 USDC on Base\", \"does this wallet own an NFT from this collection\", \"is this wallet a registered ERC-8004 agent\", \"build a trust profile for this wallet\", \"verify this wallet attestation offline\" or \"what discount does this wallet get at this merchant\". InsumerAPI answers each one with a signed yes or no: does this wallet satisfy this condition right now? The balance itself is never returned.\n\nConditions cover token balances, NFT ownership, EAS attestations (including Coinbase Verifications and Gitcoin Passport templates), Farcaster IDs, ERC-8004 agent registration, ERC-7710 delegations and account code state (plain key, EIP-7702 delegation or contract), across 37 chains: 31 EVM chains plus Solana, XRP Ledger, Bitcoin, Tron, Stellar and Sui. Send a wallet address and up to ten conditions in one request. A wallet trust profile runs 155 checks across 27 chains in ten dimensions and reports what is held or not held, with no score and no opinion.\n\nEvery response is signed twice, with ES256 and with a post-quantum ML-DSA-65 signature, and carries a hash of the evaluated condition and the block it was read at. Anyone can check a result without calling InsumerAPI again, using the open-source insumer-verify package on npm and PyPI.\n\nThis plugin connects to the hosted InsumerAPI MCP server, which needs no account and no key. It serves ten tools: the public signing keys, condition attestation, compliance templates, wallet trust profiles (single and batch), the merchant and token directories, a discount check, and discount-code validation. The hosted server is shared, so the tools that produce signed results are rate limited per day; when the limit is reached, calls are declined until 00:00 UTC. Six of the eight included skills cover the same work through the REST API with your own key, which adds key management, discount codes and the merchant tools. Another holds recipes for agents that check a wallet before they pay another x402 service.\n\nNot for: exact balances, portfolio values, price data, sending transactions, or trading. InsumerAPI holds no secrets, requires no identity, issues no static credentials, and stores no wallet addresses or conditions from verification requests. It is condition-based access infrastructure, and wallet auth is how it works: read the wallet's on-chain state, evaluate it against the condition, sign the answer.\n\nDocumentation: https://insumermodel.com/developers/\nOpenAPI: https://insumermodel.com/openapi.yaml\nSource for the MCP server (MIT): https://github.com/insumerapi/mcp-server-insumer",
      "plugin_category_id": "developer tools",
      "privacy_policy_url": "https://insumermodel.com/privacy-policy/",
      "screenshot_urls": [],
      "short_description": "Wallet auth for AI agents",
      "terms_of_service_url": "https://insumermodel.com/terms-of-service/",
      "website_url": "https://insumermodel.com"
    },
    "keywords": [
      "insumer",
      "insumerapi",
      "wallet auth",
      "check wallet balance",
      "verify wallet",
      "nft ownership",
      "wallet trust profile",
      "erc-8004",
      "condition-based access",
      "blockchain",
      "attestation",
      "web3",
      "ai agents"
    ],
    "mcp_servers": [
      {
        "key": "insumer",
        "metadata": {
          "headers": {},
          "type": "streamable-http",
          "url": "https://api.insumermodel.com/mcp"
        }
      }
    ],
    "onboarding_skill_name": null,
    "requires_local_executor": false,
    "skills": [
      {
        "description": "Wallet auth via InsumerAPI: condition-based access with ES256-signed, JWKS-verifiable boolean responses (token balances across 37 chains, plus NFT ownership, EAS attestations, Farcaster IDs and other condition types). Use when the user wants InsumerAPI to give a \"verified yes or no\" on whether a wallet satisfies an on-chain condition, to gate a feature by what a wallet holds with InsumerAPI, or to compose an InsumerAPI wallet_state signal in a multi-issuer trust envelope. Read, evaluate, sign, in one call.\n",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "insumer-attest",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Wallet auth via InsumerAPI: condition-based access with ES256-signed, JWKS-verifiable boolean responses (token balances across 37 chains, plus NFT ownership, EAS attestations, Farcaster IDs and other condition types). Use when the user wants InsumerAPI to give a \"verified yes or no\" on whether a wallet satisfies an on-chain condition, to gate a feature by what a wallet holds with InsumerAPI, or to compose an InsumerAPI wallet_state signal in a multi-issuer trust envelope. Read, evaluate, sign, in one call.\n"
        },
        "name": "insumer-attest",
        "plugin_release_skill_id": "pluginrsk_6af3312fb6f88191957b1c5117c934d1"
      },
      {
        "description": "InsumerAPI wallet auth: get an InsumerAPI key, configure INSUMER_API_KEY, check or top up InsumerAPI credits, or debug InsumerAPI 401/402/429 errors. Covers four key paths: free (email), paid (Stripe), an agent's first key paid on-chain, and an on-chain top-up of an existing key. The on-chain paths need the user's explicit approval of every payment.\n",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "insumer-auth",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "bolt",
          "short_description": "InsumerAPI wallet auth: get an InsumerAPI key, configure INSUMER_API_KEY, check or top up InsumerAPI credits, or debug InsumerAPI 401/402/429 errors. Covers four key paths: free (email), paid (Stripe), an agent's first key paid on-chain, and an on-chain top-up of an existing key. The on-chain paths need the user's explicit approval of every payment.\n"
        },
        "name": "insumer-auth",
        "plugin_release_skill_id": "pluginrsk_6af3312e972081919c20c35cab38f7cb"
      },
      {
        "description": "Token-holder discounts at InsumerAPI merchants: read a store's terms, check what a wallet qualifies for (free), optionally prove control of the wallet by signing an EIP-4361 message, and create a signed single-use discount code (INSR-XXXXX). Use when the user or agent wants a holder discount at a store in the InsumerAPI merchant directory, wants to know whether signing with the wallet gets a bigger discount, or needs a discount in ACP or UCP checkout format.\n",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "insumer-discount",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "bolt",
          "short_description": "Token-holder discounts at InsumerAPI merchants: read a store's terms, check what a wallet qualifies for (free), optionally prove control of the wallet by signing an EIP-4361 message, and create a signed single-use discount code (INSR-XXXXX). Use when the user or agent wants a holder discount at a store in the InsumerAPI merchant directory, wants to know whether signing with the wallet gets a bigger discount, or needs a discount in ACP or UCP checkout format.\n"
        },
        "name": "insumer-discount",
        "plugin_release_skill_id": "pluginrsk_6af3312ec38c8191a75471a651522452"
      },
      {
        "description": "How to use the InsumerAPI MCP tools this plugin connects to (the hosted server at api.insumermodel.com/mcp, no key needed). Use when the user asks to check if a wallet holds a token or an amount, whether a wallet owns an NFT, whether a wallet is a registered ERC-8004 agent, for a wallet trust profile, for InsumerAPI's signing keys or how to verify an attestation, for compliance templates, or for a merchant's discount, and the insumer MCP tools are available. Do not use for exact balances, prices, or sending transactions. Explains the shared daily allowance and when to switch to the REST skills with the user's own key.\n",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "insumer-hosted-tools",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "How to use the InsumerAPI MCP tools this plugin connects to (the hosted server at api.insumermodel.com/mcp, no key needed). Use when the user asks to check if a wallet holds a token or an amount, whether a wallet owns an NFT, whether a wallet is a registered ERC-8004 agent, for a wallet trust profile, for InsumerAPI's signing keys or how to verify an attestation, for compliance templates, or for a merchant's discount, and the insumer MCP tools are available. Do not use for exact balances, prices, or sending transactions. Explains the shared daily allowance and when to switch to the REST skills with the user's own key.\n"
        },
        "name": "insumer-hosted-tools",
        "plugin_release_skill_id": "pluginrsk_6af3312fb0dc8191b401cf038e4f2eb7"
      },
      {
        "description": "Offline ES256 verification of InsumerAPI signed responses against the public JWKS. Use when the user receives a signed attestation from /v1/attest, /v1/trust, or /v1/trust/batch and needs to verify the signature without trusting the JSON body. Covers both the JWT path (jose / PyJWT / go-jose) and the raw sig path (ES256 over the canonical attestation/trust object).\n",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "insumer-jwks-verify",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "code",
          "short_description": "Offline ES256 verification of InsumerAPI signed responses against the public JWKS. Use when the user receives a signed attestation from /v1/attest, /v1/trust, or /v1/trust/batch and needs to verify the signature without trusting the JSON body. Covers both the JWT path (jose / PyJWT / go-jose) and the raw sig path (ES256 over the canonical attestation/trust object).\n"
        },
        "name": "insumer-jwks-verify",
        "plugin_release_skill_id": "pluginrsk_6af3312f89308191a54de6b86f55101f"
      },
      {
        "description": "InsumerAPI wallet trust profile: a curated multi-dimensional condition-based access bundle for a single wallet. 155 base checks across 27 chains in 10 dimensions (stablecoins, governance, NFTs, staking, institutional stablecoins, tokenized treasuries, stablecoin deposits, wrapped bitcoin, names, account), plus optional Solana, XRPL, Bitcoin and Tron dimensions (up to 176 checks across 29 chains in 14 dimensions). Use when the user wants an InsumerAPI trust profile, a pre-built signed wallet snapshot rather than conditions specified one by one (for example an InsumerAPI pre-transaction trust check). The profile is signed once, as a whole. Carry it unchanged: never re-sign or wrap it.\n",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "insumer-trust",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "radar",
          "short_description": "InsumerAPI wallet trust profile: a curated multi-dimensional condition-based access bundle for a single wallet. 155 base checks across 27 chains in 10 dimensions (stablecoins, governance, NFTs, staking, institutional stablecoins, tokenized treasuries, stablecoin deposits, wrapped bitcoin, names, account), plus optional Solana, XRPL, Bitcoin and Tron dimensions (up to 176 checks across 29 chains in 14 dimensions). Use when the user wants an InsumerAPI trust profile, a pre-built signed wallet snapshot rather than conditions specified one by one (for example an InsumerAPI pre-transaction trust check). The profile is signed once, as a whole. Carry it unchanged: never re-sign or wrap it.\n"
        },
        "name": "insumer-trust",
        "plugin_release_skill_id": "pluginrsk_6af3312e9934819182ceaf8995791c34"
      },
      {
        "description": "InsumerAPI batch wallet trust profiles: the same curated bundle as insumer-trust, for up to 10 wallets in a single call. Use when the user wants InsumerAPI trust profiles for a list of wallets (for example screening an airdrop or allowlist with InsumerAPI). Each wallet's profile is independently signed; the response supports partial success.\n",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "insumer-trust-batch",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "chart",
          "short_description": "InsumerAPI batch wallet trust profiles: the same curated bundle as insumer-trust, for up to 10 wallets in a single call. Use when the user wants InsumerAPI trust profiles for a list of wallets (for example screening an airdrop or allowlist with InsumerAPI). Each wallet's profile is independently signed; the response supports partial success.\n"
        },
        "name": "insumer-trust-batch",
        "plugin_release_skill_id": "pluginrsk_6af3312ecce881919e2c6476a8bc8277"
      },
      {
        "description": "Recipes for agents that pay per call over x402 and should check a wallet with InsumerAPI before they spend: send a gift card or other reward only to members, check what an agent holds before hiring it, enforce a holding rule written in dollars, learn what people say about a wallet and what it holds, or buy paid research only for wallets that qualify. Use when the user wants an agent to pay another x402 service only after a signed yes or no about a wallet, or asks for the Agentic Cookbook for x402. Every recipe ran for real on Base; the payments are public.\n",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "insumer-x402-recipes",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "bolt",
          "short_description": "Recipes for agents that pay per call over x402 and should check a wallet with InsumerAPI before they spend: send a gift card or other reward only to members, check what an agent holds before hiring it, enforce a holding rule written in dollars, learn what people say about a wallet and what it holds, or buy paid research only for wallets that qualify. Use when the user wants an agent to pay another x402 service only after a signed yes or no about a wallet, or asks for the Agentic Cookbook for x402. Every recipe ran for real on Base; the payments are public.\n"
        },
        "name": "insumer-x402-recipes",
        "plugin_release_skill_id": "pluginrsk_6af3312f6c3c8191973ab0531fac4254"
      }
    ],
    "version": "0.2.3"
  },
  "scope": "GLOBAL",
  "share_url": "https://chatgpt.com/plugins/plugin_asdk_app_6ac02f0983b0819189bdf9074149a9bb?open_in_app",
  "status": "ENABLED"
}

SHA-256 of public snapshot: dc8f54c7bf36ce0680649e33f9b4f6ad485648f04761e1d022b276da2c634336