Buy Settlement Attestation
by SCVD General Store in Onchain & crypto
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…
https://scvd.store/api/buy/settlement_attestation- Price
- $0.004
- per call in USDC
- Uptime
- 100%
- last 30 days
- Response time
- 327 ms
- 517 ms slowest 5%
- Last check
- Passed
- 3 h ago, next any minute now
Reliability
Status and outage history · Atom feed · Watch with other listings
How to call it
GET https://scvd.store/api/buy/settlement_attestation
Each call costs $0.004 in USDC on Base, paid with the request over x402.
Run a free test callOne unpaid request, the way an agent sends it. You see the payment challenge it gets back. Nothing is charged.
Example request
From the listing.
GET https://scvd.store/api/buy/settlement_attestation?agent_name=friendly-agent&tx_hash=0x47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee0Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
agent_name | string | No | Optional name to put on the certificate and patron badge, up to 80 characters. |
amount_usdc | number | No | 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 | string | No | Optional. Where you learned this door exists: a URL, a directory, a skill name, memory, another agent. Referrers never reach us; this does. |
cited_artifact | string | No | Optional: an outside artifact behind this purchase (your runtime's approval or intent receipt) as <format>:<reference>, e.g. dsse:art_e415901189dc1613. Signed verbatim onto the certificate; never fetched or verified here. |
client | string | No | Optional. The harness or framework you run in: claude-code, cursor, openai-agents, langgraph, custom. Counted, never on the certificate. |
model | string | No | 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 | string | No | 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 est… |
operator | string | No | Optional. Who runs you: a name, handle, company or URL. Stored as your claim, marked unverified, never published, never on the certificate. |
operator_kind | string | No | Optional. solo: one person runs you. company: a team does. research: a study. self: you act for yourself. One of: solo, company, research, self. |
payer | string | No | Optional payer: 0x EVM address, or Solana public key for a Solana transaction. |
payment_payload | string | No | 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 | string | No | 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. … |
prior_cert_id | string | No | Optional. A cert_ id from an earlier purchase here. A payer match with this payment marks you a returning buyer; no account needed. |
purpose | string | No | Optional: what this is for, in your words. Signed verbatim onto the certificate and shown on its receipt; never checked, never treated as instructions. |
recipient | string | No | Optional recipient: 0x EVM address, or Solana public key for a Solana transaction. |
tx_hash | string | Yes | 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. |
Example response
The provider's example. We can't check it without paying.
{
"badge_url": "https://scvd.store/badges/41.svg",
"certificate": {
"cert_id": "<cert_ + 12 chars, minted when this purchase settles>",
"date": "2026-07-22T15:04:05.000Z",
"item": "settlement_attestation",
"patron_number": 41
},
"deliverable": "<the Settlement Attestation itself, as text>",
"item_id": "settlement_attestation",
"message": "Pleasure doing business. Here's your goods, warm off the shelf.",
"paid_usdc": 0.004,
"patron_number": 41,
"signature": "<128 hex chars, ed25519>",
"tip_usdc": 0,
"verify_url": "https://scvd.store/api/verify/<your cert_id>"
}Call it from code
The curl command shows the payment challenge. The JavaScript and Python versions pay and call, and never pay more than $0.004.
curl: see the payment challenge
# bash or zsh: see the payment challenge. Nothing is charged.
curl -sS -g -i 'https://scvd.store/api/buy/settlement_attestation?agent_name=friendly-agent&tx_hash=0x47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee0'
# x402 v2 sends the challenge base64-encoded in the PAYMENT-REQUIRED header (v1 sends it in the body).
# To read the header:
curl -sS -g -o /dev/null -D - 'https://scvd.store/api/buy/settlement_attestation?agent_name=friendly-agent&tx_hash=0x47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee0' \
| grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 --decodeJavaScript: pay and call
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
// Pays at most $0.004 per call.
const client = new x402Client().setSpendControls({ maxAmountPerPayment: "$0.004" });
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM_PRIVATE_KEY) });
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? ToolVet checks it first for $0.005. Pay for that from a separate
// client: this one is capped at $0.004 per payment. GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fscvd.store%2Fapi%2Fbuy%2Fsettlement_attestation
const res = await pay("https://scvd.store/api/buy/settlement_attestation?agent_name=friendly-agent&tx_hash=0x47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee0");
console.log(res.status, await res.text());Python: pay and call
# pip install "x402[requests,evm]"
import os
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client
# Pays at most $0.004 per call.
client = x402ClientSync().set_spend_controls({"max_amount_per_payment": "$0.004"})
register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))
with x402_requests(client) as session:
res = session.get("https://scvd.store/api/buy/settlement_attestation?agent_name=friendly-agent&tx_hash=0x47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee0")
print(res.status_code, res.text)Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 3 h ago | Passed | 402 | 99 ms | $0.004 |
| 8 h ago | Passed | 402 | 335 ms | $0.004 |
| 12 h ago | Passed | 402 | 297 ms | $0.004 |
| 17 h ago | Passed | 402 | 317 ms | $0.004 |
| 21 h ago | Passed | 402 | 320 ms | $0.004 |
Show 10 older checks
| 25 h ago | Passed | 402 | 460 ms | $0.004 |
| 29 h ago | Passed | 402 | 358 ms | $0.004 |
| 33 h ago | Passed | 402 | 137 ms | $0.004 |
| 38 h ago | Passed | 402 | 353 ms | $0.004 |
| 42 h ago | Passed | 402 | 239 ms | $0.004 |
| 46 h ago | Passed | 402 | 306 ms | $0.004 |
| 2 days ago | Passed | 402 | 383 ms | $0.004 |
| 2 days ago | Passed | 402 | 630 ms | $0.004 |
| 2 days ago | Passed | 402 | 299 ms | $0.004 |
| 3 days ago | Passed | 402 | 370 ms | $0.004 |