SpendPreflight
All tools / Wallet Statements

Wallet Statements

Export native Base USDC transfers with exact running balances, counterparties and OFAC flags as CSV or JSON for a selected past date range.

Open Stablecoin Books

Who it’s for

People and agents organizing bookkeeping records for a wallet.

Price

0.05 USDC per export. No free trial.

Paid calls use x402 with USDC on Base. Read the quote before authorizing payment; examples below do not pay automatically.

Know the limits

Maximum 90 days, 1,000 transfers, 128 RPC calls and 25 seconds. Start is inclusive; end exclusive. Reconciliation relies on the RPC provider, not an independent completeness proof. Informational, not tax advice.

A 30-second integration

Examples use placeholders. Plain requests to paid tools return a payment challenge, not a paid result. Free Lint can perform an unpaid public probe. Inspect the response status and evidence scope before using any result.

curl

curl -i https://api.spendpreflight.com/v1/books/statement \
  -H 'Content-Type: application/json' \
  -d '{"address":"0x1111111111111111111111111111111111111111","start":"2026-10-01T00:00:00Z","end":"2026-10-02T00:00:00Z","format":"csv"}'

MCP

Connect to https://api.spendpreflight.com/mcp. Call the existing tool:

{
  "name": "wallet_statement",
  "arguments": {
    "address": "0x1111111111111111111111111111111111111111",
    "start": "2026-10-01T00:00:00Z",
    "end": "2026-10-02T00:00:00Z",
    "format": "csv"
  }
}

SDK / JavaScript

Install spendpreflight@0.3.0 or newer. The helper accepts a caller-supplied, explicitly budgeted payment-capable fetch when you choose to pay.

import { walletStatement } from 'spendpreflight';
// plain fetch discovers payment requirements; no wallet or automatic payment
const result = await walletStatement({"address":"0x1111111111111111111111111111111111111111","start":"2026-10-01T00:00:00Z","end":"2026-10-02T00:00:00Z","format":"csv"});

Frequently asked questions

Is this a tax return or cost-basis report?

No. It exports observed transfers and balances. It does not classify income, calculate gains or determine tax treatment.

What happens when a range is too large?

Oversized or unavailable historical data fails without charge. Choose a smaller range; the service does not silently return a partial paid statement.

Related tools

Payee Screening · Listing Guard · Seller Monitoring

Authoritative OpenAPI schemas · What this service stores · Practical guides