Tours and activities search via Amadeus. An agent sends a coordinate, pays $0.003 in USDC, and gets bookable experiences back in the same response — names, prices, ratings, durations, booking links. No API key, no account, no subscription.
git clone https://github.com/nirholas/x402-activities
cd x402-activities && npm install
npm run dev
| Route | Price | Returns |
|---|---|---|
GET /search | $0.003 | Activities near the coordinate: name, description, geo, price, rating, booking link, duration |
GET /, GET /health, GET /.well-known/x402 |
free | Service info, liveness, discovery manifest |
Every paid route returns the purchased artifact in the 200 response body.
The 402 challenge advertises both. Your client picks whichever it can sign.
base-sepolia · base on mainnetsolana · solana-devnet on devnetimport { wrapFetchWithPayment, createSigner } from "x402-fetch";
const signer = await createSigner("base-sepolia", process.env.PRIVATE_KEY!);
const payFetch = wrapFetchWithPayment(fetch, signer);
const res = await payFetch(
"http://localhost:4021/search?lat=41.3851&lon=2.1734&radius=2"
);
const artifact = await res.json(); // purchased artifact, in-response