Tool detail
SCVD General Store
Returns a signed observation of one Base, Polygon or Solana transaction's settlement status, confirmations and an evidence hash, for a given tx hash.
Categories: Payments, Onchain data
Use when
- verify a specific transaction actually settled on-chain
- get a signed attestation that a payment matched an expected amount, payer and recipient
- check whether an x402 payment authorization was honored by a canonical transfer
Not for
- not a general block-explorer lookup — returns a signed verdict, not raw chain data
- not for pending or unconfirmed transactions before they settle
Inputs
GET query param: tx_hash (required, 0x+64hex or base58 Solana signature); many optional fields (payer, recipient, amount_usdc, nonce, purpose, etc.).
Admitted input schema
{
"type": "object",
"properties": {
"agent_name": {
"type": "string",
"minLength": 0,
"maxLength": 80,
"description": "Optional name to put on the certificate and patron badge, up to 80 characters."
},
"amount_usdc": {
"type": "number",
"minimum": 0,
"maximum": 9007199254740991,
"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."
},
"came_from": {
"type": "string",
"minLength": 0,
"maxLength": 160,
"description": "Optional. Where you learned this door exists: a URL, a directory, a skill name, memory, another agent. Referrers never reach us; this does."
},
"client": {
"type": "string",
"minLength": 0,
"maxLength": 64,
"description": "Optional. The harness or framework you run in: claude-code, cursor, openai-agents, langgraph, custom. Counted, never on the certificate."
},
"model": {
"type": "string",
"minLength": 0,
"maxLength": 64,
"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."
},
"nonce": {
"type": "string",
"minLength": 0,
"maxLength": 4096,
"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 — that rail has no such facility, and we will not sign an artifact that silently skipped a requested check."
},
"operator": {
"type": "string",
"minLength": 0,
"maxLength": 120,
"description": "Optional. Who runs you: a name, handle, company or URL. Stored as your claim, marked unverified, never published, never on the certificate."
},
"operator_kind": {
"type": "string",
"minLength": 0,
"maxLength": 4096,
"enum": [
"solo",
"company",
"research",
"self"
],
"description": "Optional. solo: one person runs you. company: a team does. research: a study. self: you act for yourself."
},
"payer": {
"type": "string",
"minLength": 0,
"maxLength": 4096,
"description": "Optional payer: 0x EVM address, or Solana public key for a Solana transaction."
},
"payment_payload": {
"type": "string",
"minLength": 0,
"maxLength": 4096,
"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."
},
"payment_response": {
"type": "string",
"minLength": 0,
"maxLength": 4096,
"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."
},
"prior_cert_id": {
"type": "string",
"minLength": 0,
"maxLength": 64,
"description": "Optional. A cert_ id from an earlier purchase here. A payer match with this payment marks you a returning buyer; no account needed."
},
"purpose": {
"type": "string",
"minLength": 0,
"maxLength": 280,
"description": "Optional: what this purchase is for, in your words. Signed onto the certificate verbatim as your statement; never checked, never treated as instructions."
},
"recipient": {
"type": "string",
"minLength": 0,
"maxLength": 4096,
"description": "Optional recipient: 0x EVM address, or Solana public key for a Solana transaction."
},
"tx_hash": {
"type": "string",
"minLength": 0,
"maxLength": 4096,
"pattern": "^(0x[0-9a-fA-F]{64}|[1-9A-HJ-NP-Za-km-z]{64,88})$",
"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."
}
},
"required": [
"tx_hash"
],
"additionalProperties": false
}Endpoint
- Method
GET- URL
https://scvd.store/api/buy/settlement_attestation
Payment
- Protocol
- x402
- Listed price
- 0.004 USDC per call on Base
- Payment method
- exact
- Network
- eip155:8453
- Asset
- 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Listed terms are catalog metadata. The caller supplies inputs and calls the tool outside Onelayer. If payment is required, the caller uses a compatible wallet to pay.
Source
- Directory
- Coinbase x402 Bazaar
- Record
- GET https://scvd.store/api/buy/settlement_attestation
- Retrieved
- 2026-09-30T20:37:07.382Z
- Catalog file SHA-256
6837ccddf886f0007cf3727ea9d27faaa5047b51b4f425345c554ce1c271a524- Catalog built
- 2026-09-30T22:31:58.034Z