82trust / 100

My Usage

by My usage (wallet-keyed purchase in Onchain & crypto

x402 APIPassing, checked 4 h ago

Your own purchase history, keyed to the wallet that pays for the call - no wallet parameter, no signup: the x402 payment IS the identity, so nobody can read another wallet's profile. Returns totals, per-tool counts, per-chain breakdown, recent receipts with settle tx hashes (independently verifiable on-chain), and this wallet's refunds: any payment that settled for a call that failed to deliver, with its status and our refund transaction once sent.

POST https://agent402.tools/api/my-usage

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
192 ms typical, 192 ms slowest 5%
Last check
4 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://agent402.tools/api/my-usage" \
  -H "content-type: application/json" \
  -d '{"days":30}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fagent402.tools%2Fapi%2Fmy-usage
const res = await pay("https://agent402.tools/api/my-usage", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"days":30}),
});
console.log(await res.json());

Example input

{
  "days": 30
}

Example output

{
  "byNetwork": {
    "base": {
      "calls": 40,
      "usd": 1.2
    },
    "polygon": {
      "calls": 2,
      "usd": 0.034
    }
  },
  "bySlug": [
    {
      "calls": 12,
      "lastAt": "2026-07-09T00:00:00.000Z",
      "slug": "hash",
      "usd": 0.012
    }
  ],
  "days": 30,
  "note": "Every USDC row keeps its settle tx - verifiable on-chain.",
  "persistent": true,
  "recent": [
    {
      "at": "2026-07-09T00:00:00.000Z",
      "network": "base",
      "priceUsd": 0.001,
      "slug": "hash",
      "tx": "0x…"
    }
  ],
  "refunds": {
    "count": 1,
    "owedUsd": 0,
    "paidUsd": 0.005,
    "rows": [
      {
        "amountUsd": 0.005,
        "chain": "base",
        "network": "eip155:8453",
        "recordedAt": "2026-07-09T00:00:00.000Z",
        "refundTx": "0x…",
        "refundTxUrl": "https://basescan.org/tx/0x…",
        "refundedAt": "2026-07-09T01:00:00.000Z",
        "status": "paid",
        "tx": "0x…"
      }
    ]
  },
  "totals": {
    "calls": 42,
    "firstAt": "2026-07-01T00:00:00.000Z",
    "lastAt": "2026-07-09T00:00:00.000Z",
    "paidUsd": 1.234
  },
  "wallet": "0x902dcf34e53695bdea2ffb354b1a2e58bd598256"
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
4 h agoPassed402192 ms$0.005