Create on-chain verification
Verify 1-10 on-chain conditions: token balances, NFT ownership, EAS attestations, Farcaster identity, arbitrary boolean view calls (evm_view_call), the dimensionless ratio rules (ratio_to_amount, ratio_to_supply), account code (account_code: is the wallet a plain key, an EIP-7702-delegated key, or a contract, optionally delegated to a named address), and agent standing (erc8004_agent, erc7710_delegation). Returns ECDSA-signed booleans, never raw balances or code. 1 credit standard, 2 with proof="merkle". EAS: use a compliance template or raw schemaId. Agent conditions, generally available on any API key: erc8004_agent (is this wallet a registered ERC-8004 agent — owner of or bound to agentId N in the Identity Registry on Base) and erc7710_delegation (is this signed ERC-7710 delegation from principal P to this agent wallet currently valid, and what limits does it declare). Both are Base (8453) only and cost 1 credit. erc8004_agent does not support Merkle proofs. erc7710_delegation does: proof="merkle" returns an EIP-1186 storage proof of the revocation slot (subject "delegation_revocation", 2 credits), on DelegationManagers whose storage layout has been verified on-chain — currently the v1.3.0 manager on Base. Both are also reachable with no API key at all via x402 pay-per-call: call with no credential headers, take the 402 quote, pay the quoted amount in USDC on Base, Polygon, Arbitrum, Arc, or Solana, and retry with the PAYMENT-SIGNATURE header — $0.05 at the standard per-call rate. Account code, generally available on any API key and on x402: account_code (what code sits at the wallet address itself at the anchored block: expect "none", "eip7702" or "contract", and with "eip7702" an optional delegate the designator must point at). Any EVM chain, 1 credit, answered as met only; the code and the delegation target are never returned. A trust profile reports the same two facts (contract code present, EIP-7702 delegation present) per chain in its account dimension without naming a target; this condition is where a caller asks about a named one. Attestations containing an erc7710_delegation condition expire in 5 minutes (not the standard 30) — revocation is one transaction away, so the verdict window stays tight. On a delegation, met is the verdict; declaredLimits is a separate signed decode of the caveat terms the caller submitted, each entry carrying the raw terms hex so the decode can be checked independently. Send declaredLimits: "omit" to leave that decode out of a forwarded attestation. Authentication: this endpoint accepts EITHER the X-API-Key header OR the Authorization: Wallet header (SIWE envelope from a wallet that holds the Insumer Access pass).
Request
- Base URL: https://api.insumermodel.com
- URL: https://api.insumermodel.com/v1/attest
- Auth: one of:
- API key in header X-API-Key
- API key in header Authorization
Query parameters
Query-string alternative to the body proof field: ?proof=merkle enables proof mode on this endpoint too (body or query, either works; the body field takes precedence when both are present). This endpoint only; POST /v1/trust and POST /v1/trust/batch read proof from the body alone.
Request body
Example request
{
"xrplWallet": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"bitcoinWallet": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq",
"tronWallet": "TWdcgk9NLsxKr3z3UELq3vCgsx9wU2cFhB",
"stellarWallet": "GB3ZDBVMNFADCPKRVDSTTPW7QQTWD7EAQQ3DCKG74MEALLWYGMPIP6M2",
"suiWallet": "0x0000000000000000000000000000000000000000000000000000000000000005",
"conditions": [
{
"expect": "eip7702",
"delegate": "0x5a7fc11397e9a8ad41bf10bf13f22b0a63f96f6d",
"currency": "RLUSD",
"assetCode": "USDC",
"schemaId": "0xf8b05c79f090979bf4a80270aba232dff11a10d9ca55c4f88de95317970f0de9",
"agentId": "123",
"delegationManager": "0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3",
"delegation": {
"authority": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"salt": "42"
}
}
]
}Response
Verification created
Example response
{
"data": {
"attestation": {
"id": "ATST-A7C3E1B2D4F56789",
"results": [
{
"evaluatedCondition": {
"registry": "0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"
},
"conditionHash": "0x3a7f1b2c...",
"totalSupply": "52448506631611846",
"fraction": 5.93479e-10,
"declaredLimits": [
{
"enforcer": "0xf100b0819427117ecf76ed94b358b1a5b5c6d2fc",
"terms": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000003b9aca00",
"maxAmount": "1000000000"
}
],
"blockNumber": "0x12f4a80",
"blockTimestamp": "2026-02-26T12:34:56.000Z",
"ledgerIndex": 102575456,
"ledgerHash": "BB9023D447285923C36E3DF18EF0FC37A5A6A1113527FB5F6FCE3139AAD72388",
"slot": 338472915,
"blockHeight": 946083,
"blockHash": "000000000000000000003c5ff410ed3c66b3cb803c2aac90b5b6600b20ba91e5",
"proof": {
"blockNumber": "0x12a05f200"
}
}
]
},
"pqKid": "insumer-attest-pq1"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.