api.insumermodel.com
https://api.insumermodel.com/v1/attestShares a payout wallet with 2 other endpoints — its adoption is attributed from that shared wallet's traffic, not earned exclusively.
Signed attestation (ECDSA plus a post-quantum ML-DSA-65 companion) of on-chain wallet conditions across 37 chains: token balance, NFT ownership, EAS, Farcaster, view calls, ratio rules, and agent standing (ERC-8004 registration, ERC-7710 delegation validity with revocation proof). A verifiable boolean, never raw balances. Up to 10 conditions per pay-per-call request. Pay in USDC on Base, Polygon, Arbitrum, Arc, or Solana.
Reliability & health
Uptime and response time from our own unpaid probes, plus the reliability score built from them.
Uptime
100.0% avgResponse time
p50 223ms · p95 343msData table
| Bucket | Uptime | Probes | Response time |
|---|---|---|---|
| 9/28/2026, 9:00:00 PM | 100% | 1 | 231ms |
| 9/28/2026, 11:00:00 PM | 100% | 1 | 396ms |
| 9/29/2026, 1:00:00 AM | 100% | 1 | 240ms |
| 9/29/2026, 3:00:00 AM | 100% | 1 | 260ms |
| 9/29/2026, 5:00:00 AM | 100% | 1 | 234ms |
| 9/29/2026, 7:00:00 AM | 100% | 1 | 394ms |
| 9/29/2026, 9:00:00 AM | 100% | 1 | 278ms |
| 9/29/2026, 11:00:00 AM | 100% | 1 | 435ms |
| 9/29/2026, 1:00:00 PM | 100% | 1 | 218ms |
| 9/29/2026, 3:00:00 PM | 100% | 1 | 232ms |
| 9/29/2026, 5:00:00 PM | 100% | 1 | 310ms |
| 9/29/2026, 7:00:00 PM | 100% | 1 | 279ms |
| 9/29/2026, 9:00:00 PM | 100% | 1 | 217ms |
| 9/29/2026, 11:00:00 PM | 100% | 1 | 201ms |
| 9/30/2026, 2:00:00 AM | 100% | 1 | 260ms |
| 9/30/2026, 4:00:00 AM | 100% | 1 | 238ms |
| 9/30/2026, 6:00:00 AM | 100% | 1 | 224ms |
| 9/30/2026, 8:00:00 AM | 100% | 1 | 207ms |
| 9/30/2026, 10:00:00 AM | 100% | 1 | 223ms |
| 9/30/2026, 12:00:00 PM | 100% | 1 | 218ms |
| 9/30/2026, 2:00:00 PM | 100% | 1 | 219ms |
| 9/30/2026, 4:00:00 PM | 100% | 1 | 287ms |
| 9/30/2026, 6:00:00 PM | 100% | 1 | 256ms |
| 9/30/2026, 8:00:00 PM | 100% | 1 | 272ms |
| 9/30/2026, 10:00:00 PM | 100% | 1 | 207ms |
| 10/1/2026, 12:00:00 AM | 100% | 1 | 229ms |
| 10/1/2026, 2:00:00 AM | 100% | 1 | 228ms |
| 10/1/2026, 4:00:00 AM | 100% | 1 | 220ms |
| 10/1/2026, 6:00:00 AM | 100% | 1 | 218ms |
| 10/1/2026, 8:00:00 AM | 100% | 1 | 250ms |
| 10/1/2026, 10:00:00 AM | 100% | 1 | 231ms |
| 10/1/2026, 12:00:00 PM | 100% | 1 | 238ms |
| 10/1/2026, 2:00:00 PM | 100% | 1 | 260ms |
| 10/1/2026, 4:00:00 PM | 100% | 1 | 278ms |
| 10/1/2026, 6:00:00 PM | 100% | 1 | 386ms |
| 10/1/2026, 8:00:00 PM | 100% | 1 | 285ms |
| 10/1/2026, 10:00:00 PM | 100% | 1 | 231ms |
| 10/2/2026, 12:00:00 AM | 100% | 1 | 275ms |
| 10/2/2026, 2:00:00 AM | 100% | 1 | 298ms |
| 10/2/2026, 4:00:00 AM | 100% | 1 | 257ms |
| 10/2/2026, 6:00:00 AM | 100% | 1 | 199ms |
| 10/2/2026, 8:00:00 AM | 100% | 1 | 178ms |
| 10/2/2026, 10:00:00 AM | 100% | 1 | 338ms |
| 10/2/2026, 12:00:00 PM | 100% | 1 | 232ms |
| 10/2/2026, 2:00:00 PM | 100% | 1 | 283ms |
| 10/2/2026, 4:00:00 PM | 100% | 1 | 223ms |
| 10/2/2026, 6:00:00 PM | 100% | 1 | 214ms |
| 10/2/2026, 8:00:00 PM | 100% | 1 | 200ms |
| 10/2/2026, 11:00:00 PM | 100% | 1 | 216ms |
| 10/3/2026, 12:00:00 AM | 100% | 1 | 254ms |
| 10/3/2026, 2:00:00 AM | 100% | 1 | 229ms |
| 10/3/2026, 4:00:00 AM | 100% | 1 | 204ms |
| 10/3/2026, 6:00:00 AM | 100% | 1 | 216ms |
| 10/3/2026, 8:00:00 AM | 100% | 1 | 226ms |
| 10/3/2026, 10:00:00 AM | 100% | 1 | 218ms |
| 10/3/2026, 12:00:00 PM | 100% | 1 | 216ms |
| 10/3/2026, 2:00:00 PM | 100% | 1 | 243ms |
| 10/3/2026, 4:00:00 PM | 100% | 1 | 211ms |
| 10/3/2026, 6:00:00 PM | 100% | 1 | 238ms |
| 10/3/2026, 8:00:00 PM | 100% | 1 | 245ms |
| 10/3/2026, 11:00:00 PM | 100% | 1 | 218ms |
| 10/4/2026, 1:00:00 AM | 100% | 1 | 71ms |
| 10/4/2026, 2:00:00 AM | 100% | 1 | 104ms |
| 10/4/2026, 4:00:00 AM | 100% | 1 | 44ms |
| 10/4/2026, 6:00:00 AM | 100% | 1 | 45ms |
| 10/4/2026, 8:00:00 AM | 100% | 1 | 42ms |
| 10/4/2026, 1:00:00 PM | 100% | 1 | 89ms |
| 10/4/2026, 3:00:00 PM | 100% | 1 | 48ms |
| 10/4/2026, 5:00:00 PM | 100% | 1 | 79ms |
| 10/4/2026, 7:00:00 PM | 100% | 1 | 115ms |
| 10/4/2026, 9:00:00 PM | 100% | 1 | 51ms |
| 10/5/2026, 2:00:00 AM | 100% | 1 | 133ms |
| 10/5/2026, 7:00:00 AM | 100% | 1 | 95ms |
| 10/5/2026, 9:00:00 AM | 100% | 1 | 94ms |
| 10/5/2026, 11:00:00 AM | 100% | 1 | 87ms |
| 10/5/2026, 1:00:00 PM | 100% | 1 | 50ms |
| 10/5/2026, 2:00:00 PM | 100% | 1 | 42ms |
| 10/5/2026, 4:00:00 PM | 100% | 1 | 92ms |
| 10/5/2026, 6:00:00 PM | 100% | 1 | 128ms |
- Availability
- 100
- Latency
- 100
- Security
- 100
- Transparency
- 61
- Activity
- 15
How often it was reachable when we probed it (weight 35%).
How quickly it answers when it is up — fast scores high (weight 20%).
Whether it serves over working TLS / https (weight 15%).
Whether the operator disclosed what it does — description, schema, identity (weight 15%).
Observed on-chain payments to this endpoint's wallet — transactions, volume, and distinct paying wallets over the last month (weight 15%; not yet measured when we have not seen its wallet settle).
Confidence 100% — how much probe evidence backs this score. A thin history is flagged, not hidden.
See the scoring methodology for exactly how each number is computed.
Payment
- Currencies
- USDC
- Networks
- arbitrum, base, eip155:5042, polygon, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
- Facilitator
- unknown
- SDK
- unknown
Operator
- Company
- inferred — unknown
- Jurisdiction
- —
- Registrar
- GoDaddy.com, LLC
- Domain registered
- 2025-07-26
- Hosting network
- CLOUDFLARENET
- Hosting country
- —
Operator context is derived from public RDAP/TLS records and unverified. Company and country are only available for endpoints that publish them (an OV/EV TLS certificate or a non-redacted domain record); most endpoints are CDN-fronted and disclose neither.
On-chain activity (base)
Payments per day
last payment 10/5/2026Data table
| Day | Payments | Volume (USD) | Paying wallets |
|---|---|---|---|
| 9/9/2026 | 1 | 0.05 | 1 |
| 9/11/2026 | 4 | 0.5 | 3 |
| 9/17/2026 | 3 | 0.15 | 2 |
| 9/20/2026 | 1 | 0.05 | 1 |
| 9/21/2026 | 3 | 0.35 | 1 |
| 9/26/2026 | 1 | 0.05 | 1 |
| 9/30/2026 | 1 | 0.05 | 1 |
| 10/1/2026 | 4 | 0.65 | 2 |
| 10/2/2026 | 2 | 0.15 | 1 |
| 10/3/2026 | 3 | 0.35 | 1 |
| 10/5/2026 | 3 | 0.35 | 1 |
This payout wallet is shared: figures cover all 3 endpoints paid at it, since payments cannot be attributed to one of them. Only payments settled on chains and facilitators we index.
Linked by wallet — likely same operator
On-chain agent identity and the x402 endpoint that shares its settlement wallet.
Response schema
{
"properties": {
"data": {
"properties": {
"attestation": {
"$ref": "#/components/schemas/Attestation"
},
"jwt": {
"description": "Wallet Auth by InsumerAPI token — ES256 JWT (only present when format: \"jwt\" is requested). Verifiable with any standard JWT library using the JWKS endpoint.",
"type": "string"
},
"kid": {
"description": "Which key + scheme signed this response. insumer-attest-v1 (v1 attest) or insumer-attest-v2 (v2 attest). Resolve the public key from GET /v1/jwks or https://insumermodel.com/.well-known/jwks.json (all EC kids share one key; post-quantum AKP entries are appended after them).",
"type": "string"
},
"pqJwt": {
"description": "OPTIONAL sibling of `jwt` when format is `jwt`: a compact JWS with alg ML-DSA-65 (RFC 9964), signed under the post-quantum key insumer-attest-pq1. Additive; `jwt` is unchanged. Verifier contract: after verifying the JWS over its own header.payload bytes, confirm that its payload and the ES256 `jwt` payload carry the identical claim set: the same member names, and for every member a deeply equal JSON value (objects compared without regard to member order, arrays in order, numbers by value). Any difference, whether a changed value, a missing member or an extra member on either side, makes the companion `refuted`. Compare PARSED JSON, never bytes: byte-identical payload segments satisfy this trivially, but a verifier MUST NOT require byte identity, since two serializers may order members differently. Checking only `jti`, `exp` and `pass` is not sufficient: it leaves `results` and `conditionHash` unbound. See the state attestation spec, Section 12 Check 6, and test vectors 24 and 25 (the refused cases).\n",
"type": "string"
},
"pqKid": {
"description": "OPTIONAL post-quantum key identifier (insumer-attest-pq1 or insumer-trust-pq1), resolved in the JWKS as an RFC 9964 AKP / ML-DSA-65 key.",
"example": "insumer-attest-pq1",
"type": "string"
},
"pqSig": {
"description": "OPTIONAL post-quantum companion signature: base64 ML-DSA-65 (FIPS 204) over the post-quantum domain tag plus the exact classical preimage this response's kid selects. A kid a verifier does not recognise selects no preimage, so the companion is then unverifiable, never refuted, and no other era's preimage may be substituted for it. Additive; sig and kid are unchanged. See the state attestation spec, Section 12 Check 6.",
"type": "string"
},
"sig": {
"description": "ECDSA P-256 signature (base64, P1363). Branch on `kid` to reconstruct the signed bytes: `insumer-attest-v1` → ES256 over JSON.stringify({id, pass, results, attestedAt}); `insumer-attest-v2` → ES256 over the domain-separated, canonical preimage \"insumer.attestation.v2\\n\" + recursive sorted-key canonical JSON of {v:2, id, pass, results, attestedAt} (keys sorted at every level, no whitespace: this is the RFC 8785 / JCS canonical form, so any RFC 8785 serializer reproduces the bytes; all quantities are decimal strings and the only JSON numbers are bounded small integers, so the bytes never depend on a language's floating-point formatting), where the v2 `results[].evaluatedCondition.threshold` is a canonical decimal string and carries no `decimals` field. v1 stays byte-frozen. Verify with `npm install insumer-verify` or `pip install insumer-verify`.\n",
"type": "string"
}
},
"type": "object"
},
"meta": {
"properties": {
"creditsCharged": {
"description": "1 for standard, 2 for proof: merkle. 0 on x402-paid calls.",
"type": "integer"
},
"creditsRemaining": {
"description": "Credits left on the key after this call. null on x402-paid calls (creditsCharged is 0 there; the call was paid at the transport layer, not from stored credits).",
"type": [
"integer",
"null"
]
},
"timestamp": {
"format": "date-time",
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"ok": {
"const": true,
"type": "boolean"
}
},
"type": "object"
}