← Catalog · FX Rates

FX Rates Sandbox.

Test the ECB FX integration end-to-end on Base Sepolia before paying real USDC. Five fixed pairs at fixed rates, locked to a single date. Switch to production by removing /sandbox/ from the URL.

How it differs from production

Production endpoint
GET /v1/fx/:base/:quote
Sandbox endpoint
GET /v1/sandbox/fx/:base/:quote
Network
Base Sepolia testnet (eip155:84532)
Asset
Test USDC at 0x036CbD53842c5426634e7929541eC2318f3dCF7e
Faucet
alchemy.com/faucets/base-sepolia
Price
$0.001 in test USDC per request — same nominal as production
Dataset
5 currency pairs at fixed rates, locked to date 2026-01-01
Response
Identical schema to production. meta.sandbox: true tells you which side you're on.
Bazaar listing
None — only the production endpoint lists at agentic.market

Curated set

What you can ask for.

Anything else returns a 404 with the available list and a pointer to mainnet for the full dataset.

USD/EUR
rate ≈ 0.92
GBP/USD
rate ≈ 1.27
EUR/JPY
rate ≈ 164.5
USD/CAD
rate ≈ 1.37
USD/CHF
rate ≈ 0.91

All rates locked to 2026-01-01. Anything else returns 404 with the available list. Production has 90 days of real ECB data across 31 currencies with EUR-pivot cross-rates.

Six steps

From zero to graduated.

  1. Get test USDC.

    Visit the Alchemy Base Sepolia faucet. Drip a few cents to your test wallet.

  2. Try the unpaid call.

    See the 402 challenge:

    curl -i https://apitoll.io/v1/sandbox/fx/USD/EUR
    The response carries the network, asset, payTo, and amount.

  3. Sign an EIP-3009 authorization.

    Put the signed payload in the X-PAYMENT header (base64-encoded JSON). Most agent SDKs (@x402/axios, x402-fetch) handle this automatically.

  4. Retry with payment.

    You'll get the data back, plus an x-payment-response settlement receipt header.

  5. Iterate.

    Test against the curated set above until your integration is solid.

  6. Graduate.

    Remove /sandbox/ from the URL. Same response shape, real USDC settlement on Base mainnet, full dataset.

Why a sandbox exists

Test USDC is free; broken signing or wrong network preferences are not. Iterate against curated, deterministic rates until your client handles the 402 / sign / retry round-trip cleanly.

The sandbox uses the same code path as production. If your agent works against https://apitoll.io/v1/sandbox/fx/USD/EUR, removing /sandbox/ is the only change needed to graduate to https://apitoll.io/v1/fx/USD/EUR.