← Catalog · Holidays

Holidays Sandbox.

Test the holidays integration on Base Sepolia. Five fixed country/year combos with real data; same JSON shape as production. Switch to production by removing /sandbox/ from the URL.

How it differs from production

Production endpoint
GET /v1/holidays/:iso2/:year
Sandbox endpoint
GET /v1/sandbox/holidays/:iso2/:year
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 country/year fixtures: US/2026, GB/2026, ZA/2026, JP/2026, BR/2026
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.

US/2026
real public & observance holidays for that country/year
GB/2026
real public & observance holidays for that country/year
ZA/2026
real public & observance holidays for that country/year
JP/2026
real public & observance holidays for that country/year
BR/2026
real public & observance holidays for that country/year

Production covers any year 1900-2100 across 203 countries.

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/holidays/US/2026
    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

The list of holidays in 2026 is set; what you're testing here is your client's ability to fetch and parse it, not the data itself. Get that handshake right against deterministic data first.

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