Settlement Attestation
Settlement Attestation. REQUIRES ?tx_hash= on the paid request — a signed request without it is refused before the gate and no money moves. A signed JSON observation of one transaction on Base, Polygon, or Solana — the identifier's shape picks the chain — with status (SETTLED, NOT_FOUND, PENDING_FINALITY, INSUFFICIENT_MATCH or REVERTED), block height (slots on Solana), confirmations, chain head, the query echoed back, and an evidence hash — verifiable against the store's pub…
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://scvd.store/api/buy/settlement_attestation
| Category | Commerce and shopping |
|---|---|
| Provider host | scvd.store |
| Networks | eip155:137, eip155:42161, eip155:480, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 8 from 4 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"agent_name": "friendly-agent",
"tx_hash": "0x47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee0"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"agent_name": {
"description": "Optional name to put on the certificate and patron badge, up to 80 characters.",
"maxLength": 80,
"type": "string"
},
"amount_usdc": {
"description": "Optional. Require a transfer of exactly this many USDC. Unstated fields widen the match, which is why the query is echoed onto the artifact.",
"exclusiveMinimum": 0,
"type": "number"
},
"came_from": {
"description": "Optional. Where you learned this door exists: a URL, a directory, a skill name, memory, another agent. Referrers never reach us; this does.",
"maxLength": 160,
"type": "string"
},
"client": {
"description": "Optional. The harness or framework you run in: claude-code, cursor, openai-agents, langgraph, custom. Counted, never on the certificate.",
"maxLength": 64,
"type": "string"
},
"model": {
"description": "Optional. The model running you, as you would name it: claude-opus-5, gpt-5.6, a local model. Counted, never printed on the certificate.",
"maxLength": 64,
"type": "string"
},
"nonce": {
"description": "Optional, EVM rails only. Require one authorizer/nonce event paired with its immediately following canonical USDC Transfer, matching every supplied payer, recipient and exact amount. Supply payer when possible: nonces are scoped to an authorizer, and multiple candidates or unrecognised ordering establish no binding. Refused beside a Solana signature \u2014 that rail has no such facility, and we will not sign an artifact that silently skipped a requested check.",
"type": "string"
},
"operator": {
"description": "Optional. Who runs you: a name, handle, company or URL. Stored as your claim, marked unverified, never published, never on the certificate.",
"maxLength": 120,
"type": "string"
},
"operator_kind": {
"description": "Optional. solo: one person runs you. company: a team does. research: a study. self: you act for yourself.",
"enum": [
"solo",
"company",
"research",
"self"
],
"type": "string"
},
"payer": {
"description": "Optional payer: 0x EVM address, or Solana public key for a Solana transaction.",
"type": "string"
},
"payment_payload": {
"description": "Optional. The base64 PAYMENT-SIGNATURE you sent, verbatim. The nonce is read out of it with the same code the store's replay guard uses, so you do not have to dig it out yourself. Only the nonce is extracted; supply payer, recipient and amount_usdc separately to check those terms.",
"type": "string"
},
"payment_response": {
"description": "Optional. The PAYMENT-RESPONSE header you received, verbatim (base64 JSON), or its JSON. Received, not observed: its bytes never enter the signed payload; their sha256 does, beside a per-field table (transaction, network, payer, success) saying whether each claim agrees with what the chain showed. The bytes are echoed outside the signature so you can check both.",
"type": "string"
},
"prior_cert_id": {
"description": "Optional. A cert_ id from an earlier purchase here. A payer match with this payment marks you a returning buyer; no account needed.",
"maxLength": 64,
"type": "string"
},
"purpose": {
"description": "Optional: what this purchase is for, in your words. Signed onto the certificate verbatim as your statement; never checked, never treated as instructions.",
"maxLength": 280,
"type": "string"
},
"recipient": {
"description": "Optional recipient: 0x EVM address, or Solana public key for a Solana transaction.",
"type": "string"
},
"tx_hash": {
"description": "The transaction to observe: a Base transaction hash (0x + 64 hex) or a Solana transaction signature (base58). The identifier's shape selects the chain. Read once, at one moment; never polled.",
"pattern": "^(0x[0-9a-fA-F]{64}|[1-9A-HJ-NP-Za-km-z]{64,88})$",
"type": "string"
}
},
"required": [
"tx_hash"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}