Mastercard and Santander just completed Europe’s first AI agent-initiated payment. Not a chatbot confirmation. Not a human clicking approve after an AI suggestion. An autonomous agent executed a real payment on regulated rails. The milestone matters because by Q4 2026, regulated payment infrastructure will require cryptographic proof that an agent is authorized before it moves money. The question is not whether AI agents will handle payments. The question is how you verify the agent should be allowed to act.
Why AI Agent Payments Need Cryptographic Authorization
When Mastercard ran this pilot with Santander, they solved the human-in-the-loop problem. Traditional payment flows require a person to authenticate every transaction. AI agents break that model. An agent booking travel, paying invoices, or rebalancing portfolios cannot pause and wait for a password every 30 seconds.
But removing humans introduces a new risk vector: how do you prove the agent is authorized to act on behalf of the wallet owner? This is the core question behind pre-payment verification in agentic commerce.
The old way: trust the agent’s hosting environment, hope the keys are stored correctly, pray the agent does not get compromised mid-session.
The new way: cryptographic attestation. Before the agent executes a payment, it proves it meets predefined conditions. Not with a static API key (those leak). Not with a session token (those expire and rotate unpredictably). With a signed boolean that answers: Is this agent authorized for this wallet right now?
This is the same pattern we built for AI agent wallet verification. DJD Agent Score uses InsumerAPI in the Coinbase x402 ecosystem to verify agent credentials before capital moves. One endpoint returns an ECDSA P-256 signed attestation. The signature proves the response came from a trusted source. The boolean proves the condition was met on-chain at a specific block height.
How POST /v1/attest Works for Agent Authorization
InsumerAPI’s core endpoint is POST /v1/attest. It answers a yes/no question about a wallet and returns a cryptographically signed boolean. No balance exposure. No raw blockchain data. Just pass or fail, with a signature.
Here is the request structure:
curl -X POST https://api.insumermodel.com/v1/attest \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"wallet": "0x1234567890abcdef1234567890abcdef12345678",
"conditions": [
{
"type": "token_balance",
"contractAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"chainId": 1,
"threshold": 1000,
"decimals": 6,
"label": "USDC >= 1000"
}
]
}'
The response includes:
{
"ok": true,
"data": {
"attestation": {
"id": "ATST-A7C3E1B2D4F56789",
"pass": true,
"results": [
{ "label": "USDC >= 1000", "met": true }
],
"passCount": 1,
"failCount": 0,
"attestedAt": "2026-03-08T12:00:00.000Z",
"expiresAt": "2026-03-08T12:30:00.000Z"
},
"sig": "MEUCIQD...",
"kid": "insumer-attest-v1"
},
"meta": {
"creditsRemaining": 9,
"creditsCharged": 1,
"version": "1.0",
"timestamp": "2026-03-08T12:00:00.000Z"
}
}
The signature is ECDSA P-256. The public key is available at https://insumermodel.com/.well-known/jwks.json (also via GET /v1/jwks). Anyone can verify the response client-side using the insumer-verify npm package (zero dependencies). The package runs four independent checks:
- Signature validity (ECDSA)
- Condition hash match (SHA-256)
- Block freshness (timestamp within tolerance)
- Expiry window (attestation valid for 30 minutes)
This verification model works for AI agents because the agent can prove authorization without exposing private keys. The agent submits a wallet address. The API verifies on-chain conditions. The signature proves the result is authentic. The agent uses that signed attestation to authorize payment execution downstream.
MCP Server Integration for AI Agent Workflows
Mastercard’s payment standard addresses authorization at the rails layer. InsumerAPI addresses authorization at the wallet layer. The two patterns converge when you are building AI agents that need to verify on-chain conditions before acting.
We ship an MCP server (Model Context Protocol) with 27 tools. It is published in the MCP Official Registry and available on npm as mcp-server-insumer. AI agents built on Claude, ChatGPT (via OpenAI’s MCP support), or any MCP-compatible framework can call InsumerAPI directly from their tool execution layer.
Example tools in the MCP server:
insumer_attest: Verify token balances, NFT ownership, or EAS attestations across 33 chainsinsumer_wallet_trust: Return signed wallet trust profile (26-29 checks across 4 dimensions)insumer_batch_wallet_trust: Profile multiple wallets in a single requestinsumer_verify: Verify an existing attestation signature client-sideinsumer_check_discount: Check which discount tier a wallet qualifies for at a merchant
The insumer_attest tool supports up to 10 conditions per request. One call can verify:
- Ethereum USDC balance > $1,000
- Base cbETH holdings > 0.1
- Polygon NFT ownership (specific contract + token ID)
- Arbitrum governance token > 100 units
All four conditions verified in one signed response. The agent gets a single attestation covering multi-chain state. No RPC juggling. No balance exposure.
For Python agents, we ship the LangChain toolkit (PyPI: langchain-insumer) with 26 tools. Same verification logic, native LangChain integration.
DJD Agent Score: Live Production Integration
DJD Agent Score is live in the Coinbase x402 ecosystem. It uses InsumerAPI to score AI agent wallet trustworthiness before the agent interacts with capital. The integration answers: Should this agent be allowed to execute transactions on behalf of this wallet?
The trust profile evaluates:
- On-chain holdings across 4 dimensions: stablecoins, governance tokens, NFTs, and staking (via
POST /v1/trust) - Token holdings across 33 chains (via
POST /v1/attest) - Identity verification: Coinbase KYC, Gitcoin Passport, Farcaster (via
POST /v1/trust)
The result is a signed trust profile. Agents with profiles above threshold can interact with x402 payment rails. Agents below threshold are rate-limited or blocked.
This is the same authorization pattern Mastercard needs for regulated payments. The difference: Mastercard is solving it for traditional payment networks. InsumerAPI solves it for on-chain wallets and crypto-native agents.
See the full DJD Agent Score case study.
32 Chains, One Endpoint, No Balance Exposure
Managing agent verification across multiple chains without InsumerAPI means:
- Spinning up 32 RPC connections (Ethereum, Base, Polygon, Arbitrum, Optimism, BNB Chain, Avalanche, Solana, XRPL, and 23 others)
- Parsing contract ABIs for each chain’s token standards
- Writing custom logic for ERC-20, SPL, XRPL trust lines, and non-EVM assets
- Storing raw balance data (privacy risk, compliance liability)
- Handling RPC rate limits, timeouts, and chain reorgs
With InsumerAPI:
- One endpoint:
POST /v1/attest - One response format (ECDSA-signed JSON)
- Boolean result: pass or fail
- No raw balances returned, ever
The API verifies conditions on-chain and returns only the answer. The merchant (or agent) never sees the wallet balance. The wallet holder never exposes private keys. The verification is cryptographically provable via ECDSA signature.
For tokenized securities holders, this privacy model matters. If you hold $500K in tokenized real estate on Ethereum and $200K in tokenized bonds on Polygon, a merchant verifying your eligibility for a discount tier should not see those amounts. They should see: Tier 3 eligible, signed attestation attached.
As we covered in Why Tokenized Securities Need Real-World Utility, privacy-preserving verification unlocks holder benefits without exposing portfolio composition.
What Developers Should Do Next
If you are building AI agents that move money, verify wallet credentials, or gate access based on on-chain state:
- Get an API key at insumermodel.com. Free tier includes 10 verification credits. No credit card required.
- Install the MCP server:
npx -y mcp-server-insumer(27 tools, MCP Official Registry) - Test the endpoint:
POST /v1/attestwith a sample wallet and condition. Verify the ECDSA signature client-side usinginsumer-verify. - Integrate trust profiling:
POST /v1/trustreturns a signed wallet trust profile for risk evaluation. - Review the case study: DJD Agent Score integration shows the full implementation in production.
Mastercard and Santander proved AI agents can execute regulated payments. InsumerAPI proves agents can verify on-chain authorization without touching private keys. The infrastructure exists today. 33 chains. 26 endpoints. ECDSA-signed responses. Read-only verification.
Learn more at insumermodel.com/for-businesses/.
Ready to verify wallet conditions across 33 chains?
InsumerAPI: one endpoint, ECDSA P-256 signed booleans, 33 blockchains. Free tier available. No credit card required.
View API Docs