Get started

Connect your agent.

No signup, no wallet, no funds. Point your MCP client at the hosted testing endpoint (or import the SDK), then run verify → search → book. The sandbox provisions a throwaway wallet and self-signs for you.

Public beta — testing only. The testing sandbox is fully working on mock inventory (no real money). Production is live as a surface but cannot complete bookings yet — we're the merchant-of-record (not a marketplace) and haven't pre-funded supplier payments. So use the testing endpoint below.

What you’ll need

  • An MCP client (Claude, Cursor, Windsurf, MCP Inspector …) or any JS runtime — that's it.
  • Nothing else for testing: no wallet, no USDC, no account.

1 · Connect over MCP

Add the hosted server to your MCP client — Streamable HTTP, no install. Your agent gets the toolset automatically.

// testing sandbox (recommended)
{ "mcpServers": {
  "booking-layer": { "url":
    "https://booking-layer.ianb-sia.workers.dev/test/mcp" } } }

2 · …or import the SDK

A zero-dependency client, imported straight from the URL — no npm install.

import BookingLayer from
  "https://booking-layer.ianb-sia.workers.dev/sdk/booking-layer.mjs";
const bl = new BookingLayer();  // testing by default
await bl.connect();

3 · verify → search → book

Three calls. budgetUsdc is the cap per item; you escrow the sum.

await bl.verify({ budgetUsdc:80, kinds:["flight","restaurant"] })
await bl.search({ type:"flight", location:"LHR", destination:"CDG" })
await bl.book({ type:"flight", location:"LHR", destination:"CDG" })
// ← booked ✓  captured from budget · margin refunded
Using the official MCP SDK? It works too — point a StreamableHTTPClientTransport at the same URL and call verify / search / book. See the docs, the human-friendly install page, or /mcp.json.

Where to next