Attest a settled call on Base · Attest

by Attest a settled call on Base

POSTBaseArbitrumPolygonMonadAvalancheeip155:1329OptimismFraxtaleip155:42220

$0.05

per call · USD Coin on Base

Write an on-chain attestation (Ethereum Attestation Service on Base) that binds a call you paid for to the bytes you received: the tool slug, sha256 of the JSON response, the settlement chain and transaction, the payer, the time served and the price, signed by this server's wallet. Give it the settlement transaction from the PAYMENT-RESPONSE (or Payment-Receipt) header of any settled call; the attestation UID and its public page on base.easscan.org come back.

Endpoint

POST https://agent402.tools/api/attest

13

Calls / 30d

1

Unique payers / 30d

Sep 10

Last called

exact

Payment scheme

Call this service

TypeScript · @x402/fetch
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);

const res = await fetchWithPay("https://agent402.tools/api/attest", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "tx": "0x2f1fecade9bd945e7817c11e5a34cafe6b349dd8c92a7587efed1de476bddfeb"
  }),
});
const data = await res.json();
cURL
curl -X POST \
  "https://agent402.tools/api/attest" \
  -H "Content-Type: application/json" \
  -d '{"tx":"0x2f1fecade9bd945e7817c11e5a34cafe6b349dd8c92a7587efed1de476bddfeb"}' \
  -H "X-PAYMENT: <signed x402 payment>"

Example response

{
  "attestTx": "0x9c8b7a6f5e4d3c2b1a0f9e8d7c6b5a4f3e2d1c0b9a8f7e6d5c4b3a2f1e0d9c8b",
  "attestationUrl": "https://base.easscan.org/attestation/view/0x5b4d0c1e8f7a4c2d9e0b6a3f1c8d7e6b5a4f3e2d1c0b9a8f7e6d5c4b3a2f1e0d",
  "attester": "0x77065d81e18ad403BCD6e9A0616b288e16744121",
  "block": "50829611",
  "chain": "eip155:8453",
  "data": {
    "payer": "0x902dcf34e53695bdea2ffb354b1a2e58bd598256",
    "priceUsd": 0.01,
    "responseSha256": "0x7d2a9b1c4e6f8a0b2c4d6e8f0a1b3c5d7e9f1a3b5c7d9e1f3a5b7c9d1e3f5a7b",
    "servedAt": "2026-09-03T15:16:06.000Z",
    "settlementNetwork": "eip155:8453",
    "settlementTx": "0x2f1fecade9bd945e7817c11e5a34cafe6b349dd8c92a7587efed1de476bddfeb",
    "slug": "crypto-price"
  },
  "eas": "0x4200000000000000000000000000000000000021",
  "existing": false,
  "schema": "string slug,bytes32 responseSha256,string settlementNetwork,string settlementTx,string payer,uint64 servedAt,uint64 priceMicroUsd",
  "schemaUid": "0x2a4e6c8d0f1b3a5c7e9d1f3b5a7c9e1d3f5b7a9c1e3d5f7b9a1c3e5d7f9b1a3c",
  "uid": "0x5b4d0c1e8f7a4c2d9e0b6a3f1c8d7e6b5a4f3e2d1c0b9a8f7e6d5c4b3a2f1e0d",
  "verify": {
    "attestation": "fetch the UID on https://base.easscan.org (or read EAS 0x4200000000000000000000000000000000000021 on Base): attester must be this server's wallet, schema must match",
    "payment": "follow settlementTx on eip155:8453: the payer paid this server's payTo",
    "responseDigest": "sha256 over the exact JSON bytes you received for that call; compare with responseSha256"
  }
}

Payment details

Pay to0xabf4fabd7c416fb67202e5f9002389fc75e2a9d0
AssetUSD Coin · 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
NetworksBase, Arbitrum, Polygon, Monad, Avalanche, eip155:1329, Optimism, Fraxtal, eip155:42220
Schemesexact

Is this your API?

Pin it to the top of Onchain Data and the homepage with a featured placement.

Get featured →

More from Attest a settled call on Base & similar services