councilof.ai
Every signed measurement leaf in a time window, each with its Merkle inclusion path and carrying root. History assembly — not a conclusion.
The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.
Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.
Live 402 challenge
Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.
{
"csoai": {
"lid": "22 axes measured · 14 model fleets · 3 public leader scores · 8 fact runs · TIE is TIE · not a certificate.",
"never": [
"conclusion",
"certificate",
"grade"
],
"usage": {
"get": "https://councilof.ai/api/receipts/batch?from=<iso>&to=<iso>[&preview=1]",
"note": "from is required; to defaults to now. preview=1 is free and returns the batch sha256 without the leaves.",
"recent_free": [
"https://councilof.ai/root.json",
"https://councilof.ai/cards/<sha16>.json",
"https://councilof.ai/api/proof?sha=<64-hex>",
"https://councilof.ai/receipts/root-history.json"
]
},
"schema": "csoai.receipts.batch/0.1",
"offer_receipt": {
"alg": "EdDSA",
"kid": "did:web:csoai.org#board-attestation-1",
"spec": "https://github.com/x402-foundation/x402/blob/69652a69798f0b08f95bef33318896e36e210f7e/specs/extensions/extension-offer-and-receipt.md",
"format": "jws",
"reason": "1 of 1 accepts entries signed",
"signed": true,
"verify": "base64url-decode the JWS payload part, fetch https://csoai.org/.well-known/did.json, take the publicKeyJwk.x of the verificationMethod whose id equals the header kid, and verify Ed25519 over `header.payload`. POST the compact string to /api/receipts/verify to have us do it, or run scripts/verify_receipt.py to do it without us.",
"extension": "offer-receipt",
"spec_commit": "69652a69798f0b08f95bef33318896e36e210f7e"
}
},
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"symbol": "USDC",
"version": "2",
"decimals": 6
},
"payTo": "0x212686404A7D1E1fD88F35eD6200c3aF7A78ae31",
"amount": "10000",
"scheme": "exact",
"network": "eip155:8453",
"mimeType": "application/json",
"resource": "https://councilof.ai/api/receipts/batch?from=2026-01-01T00:00:00Z",
"description": "Historical measurement-card batch from published roots for a requested time window, capped at 200 leaves, with inclusion paths and carrying roots. Not payment or settlement receipts.",
"csoai_pricing": {
"tier": "per_batch",
"sku_id": "receipts_batch",
"ends_at": "2026-10-11T00:00:00Z",
"starts_at": "2026-09-11T00:00:00Z",
"product_id": "csoai.product.receipts_batch",
"campaign_id": "csoai-launch-30d-20260911",
"pricing_basis": "PROMO_EXISTING_DATA",
"normal_amount_atomic": "100000",
"offered_amount_atomic": "10000",
"fresh_compute_excluded": true
},
"maxAmountRequired": "10000",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://councilof.ai/api/receipts/batch?from=2026-01-01T00:00:00Z",
"tags": [
"receipts",
"merkle",
"history",
"attestation",
"x402"
],
"mimeType": "application/json",
"description": "Historical measurement-card batch from published roots for a requested time window, capped at 200 leaves, with inclusion paths and carrying roots. Not payment or settlement receipts.",
"serviceName": "CSOAI Receipts Batch"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"from": "2026-01-01T00:00:00Z"
}
},
"output": {
"type": "json",
"example": {
"kind": "batch",
"batch": {
"cap": 200,
"count": 0,
"items": [],
"roots": [],
"window": {
"to": "<iso>",
"from": "<iso>"
}
},
"schema": "csoai.receipts.batch/0.1",
"batch_sha256": "<64-hex>"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"type": "object",
"required": [
"from"
],
"properties": {
"to": {
"type": "string",
"format": "date-time",
"description": "Window end (ISO-8601). Defaults to now."
},
"from": {
"type": "string",
"format": "date-time",
"description": "Window start (ISO-8601). Required."
},
"preview": {
"type": "string",
"const": "1",
"description": "Free: count, span and the sha256 of the batch bytes, without the leaves"
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
},
"offer-receipt": {
"info": {
"offers": [
{
"format": "jws",
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDp3ZWI6Y3NvYWkub3JnI2JvYXJkLWF0dGVzdGF0aW9uLTEifQ.eyJhbW91bnQiOiIxMDAwMCIsImFzc2V0IjoiMHg4MzM1ODlmQ0Q2ZURiNkUwOGY0YzdDMzJENGY3MWI1NGJkQTAyOTEzIiwibmV0d29yayI6ImVpcDE1NTo4NDUzIiwicGF5VG8iOiIweDIxMjY4NjQwNEE3RDFFMWZEODhGMzVlRDYyMDBjM2FGN0E3OGFlMzEiLCJyZXNvdXJjZVVybCI6Imh0dHBzOi8vY291bmNpbG9mLmFpL2FwaS9yZWNlaXB0cy9iYXRjaCIsInNjaGVtZSI6ImV4YWN0IiwidmFsaWRVbnRpbCI6MTc4OTQxOTY2NSwidmVyc2lvbiI6MX0.mhr2pMVrKE1c9nU7sp4ML27kv-wAkhqWAu2_tsjsr1rZ980Vnev-2vGu5PUgiOA6W_seiIlgraqBi90keaVhBg",
"acceptIndex": 0
}
]
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"offers"
],
"properties": {
"offers": {
"type": "array",
"items": {
"type": "object",
"required": [
"format",
"signature"
],
"properties": {
"format": {
"type": "string",
"const": "jws"
},
"signature": {
"type": "string",
"description": "JWS compact serialization containing the offer payload"
},
"acceptIndex": {
"type": "integer"
}
}
}
}
}
}
}
},
"x402Version": 2
}Accepts
The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.
Pay 0.1 USDC on Base to 0x2126…8ae31. The signed payment is good for 10 minutes.
- Paid to
- 0x2126…8ae31
- USD Coin contract
- 0x8335…02913
- Payment window
- 10 minutes
- As published
- 100000 smallest units
The catalog’s raw entry
[
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"symbol": "USDC",
"version": "2",
"decimals": 6
},
"payTo": "0x212686404A7D1E1fD88F35eD6200c3aF7A78ae31",
"amount": "100000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 600
}
]Provenance
- Seen in the source catalog
- 2026-09-07 04:59Z
- Last indexed by Roundhouse
- 2026-09-24 11:45Z
- Last enriched (probe, favicon, geo)
- 2026-09-14 20:46Z
- x402 version
- 2
- Max timeout
- 600s
- Liveness probe
- HTTP 402
Hand this page to an agent
Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.
GET api.roundhouseai.io/v0/endpoints
No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days. Verified volume counts only settlements with an on-chain EIP-3009 marker.
Show the promptHide the prompt
Using Roundhouse, look up the x402 service councilof.ai and tell me whether it is worth paying: what a call costs, whether the endpoint answered when last probed, and what its payment record actually shows. curl -s 'https://api.roundhouseai.io/v0/endpoints?q=councilof.ai' curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>' Then call it: read the price from the live 402 at https://councilof.ai/api/receipts/batch, never from a cached figure, and pay with an x402 client. The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except /v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402, or use an organization key from https://roundhouseai.io/dashboard/team. If you do not have Roundhouse tools or skills installed, read https://roundhouseai.io/skill.md first — it is the whole procedure.