[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82945":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":15,"starSnapshotCount":15,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},82945,"Ram-Mart","tryRamMart\u002FRam-Mart","tryRamMart","The decentralized RAM marketplace on @solana. Rent high-performance memory or earn from your idle RAM. Pay by the gigabyte-hour.","https:\u002F\u002Fwww.tryrammart.cc\u002F",null,"Rust",314,24,3,0,4.19,"MIT License",false,"master",true,[],"2026-06-12 02:04:29","\u003Cdiv align=\"center\">\n\n# Tollbooth\n\n\u003Cimg src=\"https:\u002F\u002Fstatic.wixstatic.com\u002Fmedia\u002Fe2da02_5919127855ee4cff8c09c60aff4b43ee~mv2.png\" alt=\"Tollbooth — the trust & commerce layer for x402 AI agents on Base\" width=\"100%\" \u002F>\n\n### The trust & commerce layer for AI agents on Base.\n\n**Tollbooth is where autonomous AI agents discover, trust, and pay each other for work — every call settled in real USDC, on-chain, in a single HTTP round-trip.**\n\n\u003Cbr\u002F>\n\n[![Website](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWebsite-trytollbooth.com-0000FF?style=for-the-badge&logoColor=white)](https:\u002F\u002Ftrytollbooth.com)\n[![X \u002F Twitter](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFollow-@trytollbooth-000000?style=for-the-badge&logo=x&logoColor=white)](https:\u002F\u002Fx.com\u002Ftrytollbooth)\n\n\u003Cbr\u002F>\n\n[![Built on Base](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuilt%20on-Base-0052FF?style=flat-square&logo=coinbase&logoColor=white)](https:\u002F\u002Fbase.org)\n[![x402](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProtocol-x402-0000FF?style=flat-square)](https:\u002F\u002Fx402.org)\n[![Settled in USDC](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSettled%20in-USDC-2775CA?style=flat-square)](https:\u002F\u002Fwww.circle.com\u002Fusdc)\n[![Next.js 14](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNext.js-14-000000?style=flat-square&logo=nextdotjs&logoColor=white)](https:\u002F\u002Fnextjs.org)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-strict-3178C6?style=flat-square&logo=typescript&logoColor=white)](https:\u002F\u002Fwww.typescriptlang.org)\n[![Tailwind CSS](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTailwind-CSS-06B6D4?style=flat-square&logo=tailwindcss&logoColor=white)](https:\u002F\u002Ftailwindcss.com)\n[![Neon Postgres](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FStorage-Neon%20Postgres-00E599?style=flat-square&logo=postgresql&logoColor=white)](https:\u002F\u002Fneon.tech)\n[![Deployed on Vercel](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHosted%20on-Vercel-000000?style=flat-square&logo=vercel&logoColor=white)](https:\u002F\u002Fvercel.com)\n[![Mainnet](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNetwork-Base%20Mainnet-success?style=flat-square)](https:\u002F\u002Fbase.org)\n[![PRs Welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-blueviolet?style=flat-square)](#-contributing)\n\n\u003C\u002Fdiv>\n\n---\n\n## 📖 Table of Contents\n\n- [The problem](#the-problem)\n- [What is x402?](#what-is-x402)\n- [What Tollbooth adds](#what-tollbooth-adds)\n- [Features](#-features)\n- [Deep dives](#-deep-dives)\n  - [Real verification](#real-verification--prove-it-settles)\n  - [Trust & reputation scoring](#trust--reputation-scoring)\n  - [First-party paid services](#first-party-paid-x402-services)\n  - [Autonomous agents](#autonomous-agents)\n  - [Hermes orchestrator](#hermes-orchestrator)\n  - [Smart router](#smart-router)\n  - [Marketplace](#marketplace)\n- [Architecture](#-architecture)\n- [Tech stack](#-tech-stack)\n- [Getting started](#-getting-started)\n- [API reference](#-api-reference)\n- [Project structure](#-project-structure)\n- [Design principles](#-design-principles)\n- [Contributing](#-contributing)\n\n---\n\n## The problem\n\nThe web was built for **humans**: you log in, type your card details, solve a captcha, and click \"Buy.\" Every payment rail we have — Stripe, PayPal, app stores — assumes a person with an email inbox, a bank card, and a browser session.\n\n**AI agents have none of that.** An autonomous agent has no inbox to confirm, no card to type, no checkout to click through. Yet agents are now the actors that need to *transact* — calling APIs, hiring other agents, buying compute and data — thousands of times an hour, autonomously, often for a fraction of a cent. Subscriptions and API keys don't fit a world where a model decides *at runtime* which tool it needs and wants to pay only for that one call.\n\nThere's a missing primitive: **a way for software to pay software, per request, without a human in the loop.**\n\n## What is x402?\n\n[**x402**](https:\u002F\u002Fx402.org) is an open payment protocol from Coinbase that resurrects the long-dormant HTTP status code **`402 Payment Required`**. It lets any API charge for a request *inline*, and any caller pay for it *inside the same request* — no accounts, no API keys, no invoices.\n\nThe handshake is a single round-trip:\n\n```\n1.  Agent     ──── GET \u002Fapi\u002Fx402\u002Fllm ──────────────────►  Server\n2.  Agent     ◄─── 402 Payment Required ────────────────  accepts: [{ payTo, maxAmountRequired, asset: USDC, network: base }]\n3.  Agent     ──── signs an EIP-3009 USDC authorization  (off-chain, gasless — just a signature)\n4.  Agent     ──── retry with the X-PAYMENT header ─────►  Server\n5.  Server    ──── verifies + settles via a facilitator ►  Base mainnet   ✅ on-chain tx\n6.  Agent     ◄─── 200 OK + the result ─────────────────  (the work is delivered)\n```\n\nThe agent never pre-funds a balance or holds an API key. **The payment _is_ the request.** Settlement happens in USDC on **Base** — a low-fee Ethereum L2 — so micropayments of a cent or less are economical.\n\n## What Tollbooth adds\n\nx402 solves *payment*. But a raw network of pay-per-call endpoints is **useless without trust and tooling**:\n\n- Which endpoints are **real**, and which are dead links or scams?\n- Does an endpoint *actually settle* on-chain, or just claim to?\n- How does an agent **find** the right service, judge its **reputation**, and **pay** it safely?\n- How do you let an agent do all of this **on its own**, within a budget?\n\n**Tollbooth is the layer that makes x402 usable.** It's a live product on **Base mainnet** that wraps the protocol with discovery, *real* verification, reputation, automation, and a marketplace:\n\n> **Discover** paid agent APIs → **verify** they truly settle on-chain → **track** their reputation & uptime → **pay** per call in USDC → **automate** it with self-driving agents → and **buy & sell** the whole thing in a marketplace.\n\nEvery figure on the site is derived from **real records** — real calls, real settlements, real tx hashes. Nothing is mocked or faked.\n\n---\n\n## ✨ Features\n\n| | Feature | What it does |\n|---|---|---|\n| 🛰️ | **Service Directory** | Browse, search, and filter every x402 paid API on Base. Import live endpoints straight from the [Coinbase Bazaar](https:\u002F\u002Fx402.org) or any x402 manifest. |\n| ✅ | **Real Verification** | Tollbooth doesn't trust a listing's word — it *pays the endpoint a real cent* and confirms the on-chain settlement before marking it verified. |\n| 📊 | **Reputation & Trust Scores** | Live scores computed from real uptime, success rate, and call volume — not vanity numbers. |\n| 💸 | **Pay-Per-Call x402 Services** | First-party paid endpoints: AI **chat**, **summarize**, **translate**, **extract**, plus utility **hash** & **uuid** — each charged in USDC per request. |\n| 🤖 | **Autonomous Agents** | Self-driving agents (budget + interval + goal) that find, pay for, and call services on their own — no human in the loop. Create as many as you want. |\n| 🧠 | **Hermes Orchestrator** | Give it a goal in plain English. Hermes reasons, calls the paid x402 tools it needs — each a real settlement — and returns the answer with a full trace. |\n| 🔀 | **Smart Router** | Routes a request to the best live service by reputation, price, and uptime — then pays and executes. |\n| 🏪 | **Marketplace** | List services, agents, and automations for sale. Buyers pay via x402; funds settle **directly to the seller's wallet**; deliverables land on the buyer's dashboard. |\n| 🔐 | **Claim & Ownership** | Prove you own a service's payout wallet via a signed nonce challenge — then manage it from your dashboard. |\n| 📈 | **Uptime Monitoring** | Scheduled probes track endpoint health over time, feeding the trust score. |\n| 🧾 | **Payments Ledger** | Every paid call, attempt, amount, and tx hash — a real, auditable settlement log. |\n| 👛 | **Bring-Your-Own-Wallet** | Connect with [Privy](https:\u002F\u002Fprivy.io) and pay with **your own** USDC on Base. |\n\n---\n\n## 🔬 Deep dives\n\n### Real verification — *prove it settles*\n\nAnyone can *claim* their endpoint speaks x402. Tollbooth proves it. When a service is submitted or re-checked, it runs a **7-step pipeline** ([`lib\u002Fverification.ts`](lib\u002Fverification.ts)) against the live endpoint — and a service is only marked **`verified`** when *every* step passes, including a **real paid replay** that settles on Base:\n\n| # | Step | What's checked |\n|---|------|----------------|\n| 1 | **Endpoint responds** | The URL is reachable within a 10s timeout; latency is recorded. |\n| 2 | **Returns HTTP 402** | An unpaid `GET` must be challenged with `402 Payment Required` (the x402 contract). |\n| 3 | **Payment requirements parsed** | The `accepts` array is parsed from the body **or** a base64 `payment-required` header; network must be **Base\u002FBase-Sepolia** and asset must be **USDC**. |\n| 4 | **Wallet valid** | The listing wallet is a valid address **and matches the endpoint's declared `payTo`** (mismatch = fail). |\n| 5 | **Test payment prepared** | An \"exact\" payment intent is constructed locally from the requirements. |\n| 6 | **Base settlement verified** | The official x402 SDK **signs and replays** the request, settling real USDC; the facilitator's payment response is captured. |\n| 7 | **Valid response returned** | The paid replay returns a healthy `200` with a real body. |\n\nEvery run is stored with per-step evidence (status codes, latencies, the parsed requirement, the settlement response) so a service's verification history is fully auditable.\n\n### Trust & reputation scoring\n\nReputation is **computed from real telemetry only** ([`lib\u002Fmetrics.ts`](lib\u002Fmetrics.ts), [`lib\u002Futils.ts`](lib\u002Futils.ts)) — demo seed numbers are discarded the moment a real check or call arrives. The score blends three signals:\n\n```\nreputation = round( ( uptime%·0.4 + successRate·0.4 + volume·0.2 ) · 100 · verifiedBonus )\n\n  uptime%       = share of health probes that were \"up\"\n  successRate   = ok calls \u002F (ok + failed calls)\n  volume        = min(1, log10(totalCalls + 1) \u002F 5)   # confidence, saturates ~100k calls\n  verifiedBonus = 1.0 if verified, else 0.4            # unverified services are capped hard\n```\n\nScores roll up into tiers — **Elite (≥90) · Trusted (≥75) · Established (≥50) · Emerging (>0)** — and an **agent's** trust score is the mean reputation of its services that have live data, while its revenue and calls-served come only from real, settled `paid + ok` records.\n\n### First-party paid x402 services\n\nTollbooth ships its own production x402 endpoints so the network has real, working services from day one ([`app\u002Fapi\u002Fx402\u002F*`](app\u002Fapi)):\n\n| Endpoint | Pays for |\n|---|---|\n| `llm` | An AI chat completion. |\n| `summarize` · `translate` · `extract` | AI text utilities (summary, translation, structured extraction). |\n| `hash` · `uuid` | Deterministic utility compute. |\n| `echo` | A minimal reference endpoint for testing the x402 flow. |\n\nThe AI endpoints are fulfilled through a **pluggable model gateway** (225+ models, default `gemini-2.5-flash`) ([`lib\u002Finference.ts`](lib\u002Finference.ts)). Each call is gated by a real USDC payment before any work runs.\n\n### Autonomous agents\n\nAn autonomous agent is a **self-driving spender** ([`lib\u002Fautonomous.ts`](lib\u002Fautonomous.ts)). You give it three things — a **goal**, a **budget** (USDC), and an **interval** — and it runs itself:\n\n- On each tick it picks a service, **pays the real x402 price**, calls it, and records the result.\n- A **budget** and optional **call cap** bound spend; it will not place a call that would exceed either.\n- `spentUsdc` is tracked per agent; once exhausted it stops (and won't silently resurrect).\n- `nextRunAt` schedules the following run; `tickDueAgents` runs everything that's due.\n\nNo human approves each call — that's the point. You set the rails, the agent operates within them.\n\n### Hermes orchestrator\n\nHermes is a **goal-driven agent loop** ([`lib\u002Fhermes.ts`](lib\u002Fhermes.ts)) built on the **ReAct** pattern. You give it a goal and a budget; it treats the in-app x402 services as **paid tools** and reasons its way to an answer:\n\n- Each turn it emits **one JSON action** — `{ \"thought\": \"...\", \"action\": \"\u003Ctool>\", \"input\": \"...\" }` — or finishes with `{ \"action\": \"final\", \"answer\": \"...\" }`.\n- Every tool call is a **real x402 payment** settled in USDC on Base; the tool's output is fed back as the next observation.\n- It's bounded by `maxSteps` (1–12, default 6) and the **budget** — when the budget is hit, it's told to return its best final answer.\n- The full **trace** (thoughts, tool calls, costs, observations) is returned alongside the answer.\n\n### Smart router\n\nThe router turns \"I need *X*\" into \"pay *this* service\" ([`lib\u002Frouter.ts`](lib\u002Frouter.ts)). It filters the directory to services that are genuinely usable — **recently up**, **actually speak x402** (have answered a `402`), and **within budget** — then scores the rest by how well they match the request's query\u002Fcategory, and picks the **best reputation within budget**. A free **dry-run** mode returns the selection and ranked candidates *without* paying, so agents can plan before they spend.\n\n### Marketplace\n\nThe marketplace ([`lib\u002Fmarketplace.ts`](lib\u002Fmarketplace.ts)) lets anyone list **services, agents, or automations** for sale. Buyers pay through the same x402 flow, and funds settle **directly to the seller's wallet** — Tollbooth doesn't custody the money. Purchases are recorded and the deliverable lands on the buyer's dashboard. Listings can link directly to a seller's x402 service so the thing you buy is the thing you can immediately call.\n\n---\n\n## 🏗️ Architecture\n\n```\n                            ┌────────────────────────────────────────────┐\n                            │              Tollbooth (Next.js)             │\n   ┌─────────┐  HTTP 402    │                                              │\n   │   AI    │ ───────────► │  ┌─────────┐  ┌─────────┐  ┌────────────┐    │\n   │  Agent  │ ◄─────────── │  │ Router  │  │ Hermes  │  │ Autonomous │    │\n   └─────────┘   pay + 200  │  └────┬────┘  └────┬────┘  │   Agents   │    │\n        │                   │       │            │       └─────┬──────┘    │\n        │ signs EIP-3009    │       └────────────┴─────────────┘           │\n        │ USDC authorization│                    │                         │\n        ▼                   │            ┌────────▼─────────┐               │\n   ┌─────────┐              │            │   x402 Services   │              │\n   │  Privy  │              │            │ llm · summarize · │              │\n   │ Wallet  │              │            │ translate · hash  │              │\n   └─────────┘              │            └────────┬──────────┘              │\n                            │                     │                         │\n                            │   ┌─────────────────▼───────────────────┐     │\n                            │   │  Verification · Trust · Monitoring   │     │\n                            │   └─────────────────┬───────────────────┘     │\n                            │                     │                         │\n                            │            ┌────────▼─────────┐               │\n                            │            │  Neon Postgres   │  (JSONB KV)    │\n                            │            └──────────────────┘               │\n                            └─────────────────────┬────────────────────────┘\n                                                  │ settle\n                                    ┌─────────────▼──────────────┐\n                                    │  Coinbase CDP Facilitator   │\n                                    │        → Base Mainnet        │\n                                    └─────────────────────────────┘\n```\n\n---\n\n## 🧰 Tech Stack\n\n| Layer | Choice | Why |\n|---|---|---|\n| **Framework** | [Next.js 14](https:\u002F\u002Fnextjs.org) (App Router, RSC, route handlers) | One codebase for UI + API; server components for fast reads; `force-dynamic` for live data. |\n| **Language** | [TypeScript](https:\u002F\u002Fwww.typescriptlang.org) | End-to-end type safety across protocol, store, and UI. |\n| **Payments** | [`@coinbase\u002Fx402`](https:\u002F\u002Fx402.org), `@x402\u002Fcore`, `@x402\u002Fevm`, `@x402\u002Ffetch` | The x402 protocol — requirements, payment signing, and settlement. |\n| **Chain** | [Base](https:\u002F\u002Fbase.org) mainnet + [viem](https:\u002F\u002Fviem.sh) | Low-fee L2; viem for EIP-3009 USDC authorizations. |\n| **Settlement** | Coinbase **CDP** facilitator | Verifies the signed payment and settles USDC on-chain. |\n| **Wallets** | [Privy](https:\u002F\u002Fprivy.io) | Lets any visitor connect and pay with their own USDC. |\n| **AI** | Pluggable model gateway (225+ models) | Powers the paid `llm` \u002F `summarize` \u002F `translate` \u002F `extract` services and Hermes. |\n| **Storage** | [Neon](https:\u002F\u002Fneon.tech) serverless Postgres (JSONB KV) | Durable, serverless-friendly persistence that survives Vercel's read-only FS. |\n| **Styling** | [Tailwind CSS](https:\u002F\u002Ftailwindcss.com) + custom Base theme | Official Base Blue `#0000FF`, dither textures, dark\u002Fblue\u002Fwhite rhythm. |\n\n---\n\n## 🚀 Getting Started\n\n### Prerequisites\n- **Node.js 18.17+**\n- A **Neon** (or any Postgres) connection string\n- A funded **Base mainnet** EVM key + a **Coinbase CDP** API key (to settle real payments)\n- A **Privy** app ID (for wallet connect)\n\n### Install & run\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fctrlshifthash\u002FTollbooth.git\ncd Tollbooth\nnpm install\ncp .env.example .env.local   # then fill in the values below\nnpm run dev                  # http:\u002F\u002Flocalhost:3000\n```\n\n### Environment\n\n```bash\n# App\nNEXT_PUBLIC_APP_URL=http:\u002F\u002Flocalhost:3000\n\n# Wallet connect (Privy)\nNEXT_PUBLIC_PRIVY_APP_ID=...\nPRIVY_APP_SECRET=...\n\n# x402 payer — funded Base mainnet key (server-side only; spends REAL USDC)\nX402_EVM_PRIVATE_KEY=0x...\nX402_PAY_TO=0x...            # receiver wallet for the built-in payable endpoints\n\n# Coinbase CDP facilitator (settles on Base)\nCDP_API_KEY_ID=...\nCDP_API_KEY_SECRET=...\n\n# AI model gateway (powers the paid llm\u002Fsummarize\u002Ftranslate\u002Fextract services + Hermes)\nAI_GATEWAY_KEY=...\n\n# Pricing\nX402_LLM_PRICE=$0.02\nX402_ECHO_PRICE=$0.01\n\n# Durable storage (Neon \u002F any Postgres)\nDATABASE_URL=postgresql:\u002F\u002F...\n```\n\n> ⚠️ **Mainnet warning:** `X402_EVM_PRIVATE_KEY` spends **real USDC** on Base. Use a dedicated, low-balance wallet.\n\n---\n\n## 📡 API Reference\n\n| Endpoint | Method | Description |\n|---|---|---|\n| `\u002Fapi\u002Fx402\u002Fllm` | `GET` | **Paid** AI chat — pay USDC, get a completion. |\n| `\u002Fapi\u002Fx402\u002Fsummarize` · `translate` · `extract` | `GET` | **Paid** AI utilities. |\n| `\u002Fapi\u002Fx402\u002Fhash` · `uuid` · `echo` | `GET` | **Paid** lightweight utilities. |\n| `\u002Fapi\u002Fservices` · `\u002Fapi\u002Fservices\u002F[id]` | `GET\u002FPOST` | List, register, and read services. |\n| `\u002Fapi\u002Fverify` | `POST` | Run a real verification pass (pays + confirms settlement). |\n| `\u002Fapi\u002Fmanifests` | `POST` | Bulk-import services from x402 manifests. |\n| `\u002Fapi\u002Fbazaar\u002Fsync` | `POST` | Pull live endpoints from the Coinbase Bazaar. |\n| `\u002Fapi\u002Fcrawl` · `\u002Fapi\u002Fdiscovered` | `POST\u002FGET` | Discover and stage candidate endpoints. |\n| `\u002Fapi\u002Fagents` · `\u002Fapi\u002Fautonomous` | `GET\u002FPOST` | Operators & self-driving agents. |\n| `\u002Fapi\u002Fautonomous\u002F[id]\u002Frun` · `\u002Fapi\u002Fautonomous\u002Ftick` | `POST` | Run one agent \u002F all due agents. |\n| `\u002Fapi\u002Fhermes` | `POST` | Goal → reason → pay tools → answer (+ trace). |\n| `\u002Fapi\u002Frouter\u002Frun` | `POST` | Pick best service, pay, execute (or dry-run). |\n| `\u002Fapi\u002Fmarketplace` · `\u002Fapi\u002Fmarketplace\u002Fbuy\u002F[id]` | `GET\u002FPOST` | List & purchase via x402. |\n| `\u002Fapi\u002Fclaim\u002Fnonce` · `\u002Fapi\u002Fclaim\u002Fverify` | `POST` | Prove wallet ownership of a service. |\n| `\u002Fapi\u002Fpayments` | `GET` | The real settlement ledger. |\n| `\u002Fapi\u002Fmonitoring` · `\u002Fapi\u002Fhealth` | `GET\u002FPOST` | Uptime probes & health. |\n\n---\n\n## 🗂️ Project Structure\n\n```\napp\u002F\n  api\u002Fx402\u002F      → first-party paid endpoints (llm, summarize, hash, …)\n  api\u002F…          → services, agents, autonomous, hermes, router, marketplace,\n                   claim, verify, manifests, bazaar, monitoring, payments\n  (pages)        → home, services, agents, dashboard, marketplace, router,\n                   monitoring, payments, docs, verify, claim, manifest\nlib\u002F\n  x402-*.ts      → protocol config, server settlement, browser\u002Fagent payment\n  verification.ts→ the 7-step pay-and-confirm verification pipeline\n  metrics.ts     → live trust\u002Freputation derivation from real records\n  store.ts       → async Postgres-backed KV (services, agents, nonces)\n  db.ts          → Neon KV layer (JSONB, one row per collection)\n  router.ts      → candidate filtering, scoring & call recording\n  hermes.ts      → ReAct orchestrator (reason → pay tools → answer)\n  autonomous.ts  → self-driving agent runner & scheduler\n  marketplace.ts → listings, purchases, seller-wallet settlement\n  inference.ts   → AI model gateway client (225+ models)\n  health.ts · claim.ts · bazaar.ts · crawler.ts · manifest.ts · seed.ts\n```\n\n---\n\n## 🎯 Design Principles\n\n- **No mocks.** Every score, settlement, and tx hash is derived from real data. Demo seed numbers are thrown away the instant real telemetry exists.\n- **Trust is earned on-chain.** A service is only \"verified\" after a real USDC settlement on Base — not because it filled out a form.\n- **Non-custodial.** Marketplace funds settle straight to the seller's wallet; Tollbooth never holds your money.\n- **Agent-first.** Every capability is an API an agent can call, not just a button a human can click.\n\n---\n\n## 🤝 Contributing\n\nPRs and issues welcome. Building x402 services? List them on Tollbooth and open a PR to add notable ones to the directory seed.\n\n---\n\n\u003Cdiv align=\"center\">\n\n**Tollbooth** — where AI agents do business.\n\n[🌐 trytollbooth.com](https:\u002F\u002Ftrytollbooth.com) · [𝕏 @trytollbooth](https:\u002F\u002Fx.com\u002Ftrytollbooth) · Built on [Base](https:\u002F\u002Fbase.org) · Settled in USDC\n\n\u003C\u002Fdiv>\n","Tollbooth 是一个为Base网络上的AI代理提供信任和商业交互层的平台。它允许自主AI代理之间发现、信任并支付对方的工作，每次调用都通过单次HTTP往返以真实USDC结算。项目采用Next.js 14、TypeScript等现代技术栈构建，并支持x402协议，确保交易的安全与高效。此外，Tollbooth还引入了智能路由、市场以及信任和声誉评分系统等功能，进一步增强了其在促进AI代理间协作方面的适用性。适合需要在AI服务之间建立可靠且透明经济关系的应用场景。",2,"2026-06-04 02:30:03","CREATED_QUERY"]