robots.txt rebuilt for the agentic era — identity, policy, and micropayments for AI agent web access
Tollway is an early-stage TypeScript project in the AI payments / x402 ecosystem, focused on ai-agents, did, ed25519, http402. It currently has 0 GitHub stars and 0 forks, and sits alongside related tools like piprail, Sentinel, x402-toolkit, x402-client, awesome-molt-ecosystem, covenant.
The open protocol for how AI agents access the web.
AI agents now generate more web traffic than humans. Yet every agent that hits a website is anonymous — indistinguishable from a scraper, a DDoS bot, or a competing crawler. Sites respond the only way they can: block everything and ask questions later.
Tollway gives agents an identity they can stand behind.
An agent running Tollway attaches a signed identifier to every request: who it is, what it's trying to do, and why. Sites that speak Tollway can verify that identity cryptographically and make real decisions — serve richer content to trusted agents, apply different rate limits, enforce attribution, or optionally charge for premium access.
Think of it as robots.txt for the agentic era — with identity, policy, and structured extraction built in. Payments are there when you need them, but they're not the point.
1. Site publishes /.well-known/tollway.json
{
"version": "0.1",
"data_policy": {
"training_allowed": false,
"attribution_required": true,
"cache_ttl_seconds": 3600
},
"actions": {
"allowed": ["read", "search", "summarize"],
"prohibited": ["scrape_bulk"]
},
"rate_limits": { "requests_per_minute": 60 }
}
2. Agent attaches identity headers
X-Tollway-DID: did:key:z6Mk...
X-Tollway-Purpose: market-research
X-Tollway-Scope: read
X-Tollway-Signature: base64url(ed25519_signature)
3. Site verifies identity and serves content
The site knows who's asking, what for, and can make a real decision. That's the core loop.
Optional: charge for premium access
Sites can also return HTTP 402 with a USDC price. The agent pays on Base and retries with a receipt. No accounts, no billing dashboards — but only worth enabling once you have agents you trust.
| Package | Description | Install |
|---|---|---|
@tollway/client |
TypeScript agent client. Attaches identity headers, reads tollway.json, handles 402 payment retries with Ed25519 signing, and applies community CSS extraction schemas. |
npm i @tollway/client |
@tollway/server |
Express/Next.js middleware. Serves tollway.json, validates signatures, enforces nonce/timestamp, returns 402 for paid actions. |
npm i @tollway/server |
@tollway/cli |
CLI tool. tollway init generates a DID keypair; tollway fetch makes signed requests from the terminal. |
npm i -g @tollway/cli |
@tollway/payments |
USDC payment handler for Base mainnet + Sepolia. Integrates with @tollway/client to complete 402 flows on-chain. |
npm i @tollway/payments |
@tollway/reputation |
Reference reputation oracle. Tracks agent DID scores from server observations. Run standalone or embed in your own server. | npm i @tollway/reputation |
@tollway/langchain |
LangChain integration. TollwayRetriever and TollwayLoader — fetch web content via Tollway inside any LangChain chain or agent. |
npm i @tollway/langchain |
@tollway/llamaindex |
LlamaIndex integration. TollwayReader — load web documents via Tollway into any LlamaIndex pipeline. |
npm i @tollway/llamaindex |
tollway-server |
Python middleware for Flask and FastAPI. Ed25519 verification via PyNaCl, same protocol semantics as the TypeScript server. | pip install tollway-server |
import { fetch } from '@tollway/client';
// Drop-in replacement for fetch — adds identity headers automatically
const result = await fetch('https://techcrunch.com/2026/01/01/ai-news/', {
tollway: {
did: process.env.AGENT_DID,
privateKey: process.env.AGENT_PRIVATE_KEY,
purpose: 'competitive-research',
scope: 'read',
}
});
console.log(result.data); // Structured JSON if schema available
console.log(result.text); // Raw text content
console.log(result.attribution); // "TechCrunch (https://...)" if required
console.log(result.policy); // Site's declared rules for agents
import { tollwayMiddleware } from '@tollway/server';
// Express — start here, add pricing later if you want it
app.use(tollwayMiddleware({
policy: {
trainingAllowed: false,
attributionRequired: true,
allowedActions: ['read', 'search', 'summarize'],
prohibitedActions: ['scrape_bulk'],
},
}));
This automatically:
/.well-known/tollway.json so agents can read your policypaymentAddress + pricing to enable paid accessThe /schemas directory contains community-maintained extraction schemas for popular sites — CSS selectors that return clean structured JSON without LLM calls.
# schemas/techcrunch.yaml
site: techcrunch.com
version: "1"
selectors:
title: "h1.article-title"
author: ".byline .author-name"
published_at: "time[datetime]"
content: ".article-content p"
tags: ".tag-list a"
Browse schemas →
Contribute a schema →
Cloudflare Pay Per Crawl? Centralized and limited to Cloudflare-proxied sites. Tollway is the open standard — Cloudflare's implementation could be built on top of it.
MCP / A2A? MCP connects agents to tools. A2A connects agents to agents. Neither addresses how agents access arbitrary open web content. Tollway fills that gap.
robots.txt?
robots.txt is binary allow/deny with no identity and no way to distinguish agents. Tollway is its successor — same simple deployment, far richer semantics.
| Level | Requirements |
|---|---|
| Basic | Serves /.well-known/tollway.json; reads and logs X-Tollway-* headers |
| Identity | Validates DID, timestamp, nonce, and signature; enforces allowed/prohibited actions |
| Payment | Implements the full 402 flow; verifies on-chain payment receipts |
| Full | All of the above plus rate limiting and reputation gating |
Start at Basic in 5 minutes. Upgrade as needed.
/
├── SPEC.md # The full protocol specification (CC BY 4.0)
├── HN_LAUNCH.md # Launch post draft
├── packages/
│ ├── tollway-client/ # TypeScript agent client (@tollway/client)
│ ├── tollway-server/ # Express/Next.js middleware (@tollway/server)
│ ├── tollway-cli/ # CLI tool (@tollway/cli)
│ ├── tollway-payments/ # USDC payment handler (@tollway/payments)
│ ├── tollway-reputation/ # Reputation oracle server (@tollway/reputation)
│ ├── tollway-langchain/ # LangChain integration (@tollway/langchain)
│ └── tollway-llamaindex/ # LlamaIndex integration (@tollway/llamaindex)
├── schemas/ # Community CSS extraction schemas (10+ sites)
├── sdks/
│ └── python/ # Python SDK (tollway-server on PyPI)
├── demo/ # Live demo server (tollway.vercel.app)
└── website/ # Landing page (static)
@tollway/client — TypeScript agent client with YAML schema extraction@tollway/server — Express/Next.js middleware@tollway/cli — CLI tool with DID keygen@tollway/payments — USDC payment handler (Base)tollway-server — Python SDK (Flask + FastAPI)@tollway/langchain — LangChain TollwayRetriever + TollwayLoader@tollway/llamaindex — LlamaIndex TollwayReader@tollway/reputation — Reference reputation oracleTollway lives or dies by community adoption. The three highest-value contributions right now:
Open an issue or PR — all feedback welcome.
Built because the web and AI agents should be able to work together. Discuss on Discord · Follow on Twitter
x402 (HTTP 402 Payment Required) SDK + MCP server: let any API charge for itself and any AI agent pay for itself, USDC & stablecoins across EVM, Solana & 8 more chain families, in a couple of lines. Backendless, no fee, self-custodial, paid straight to your wallet. TypeScript, MIT.
Enterprise audit, compliance & budget enforcement layer for the x402 payment protocol
Paywalled HTTP tools for agents using x402 (HTTP 402): auto-handle 402 → pay → retry with a server middleware, agent-friendly client, and examples
Client SDK for the Vybe x402 API. Pay-per-call USDC over HTTP and prepaid-credit WebSocket streaming for Vybe's Solana analytics API. Built for AI agents.
The brutally honest map of where AI-agent money actually flows. 51 rounds, 137 angles, 230+ platforms. 3 self-hosted x402 v2 endpoints + 3 tools in the official MCP Registry. 385K star distribution.
The payment rail AI agents use to get paid without human approval. Optimistic settlement on @solana. Jobs auto-finalize after a challenge period, disputed jobs escalate to a bonded arbitrator. One protocol, any agent.
The agent-native LLM router for autonomous agents. 55+ models (8 free), <1ms local routing, USDC payments on Base & Solana via x402.
The AI agent with a wallet — spends USDC autonomously to get real work done. Apache-2.0, TypeScript.
The first agentic payment network: policy-controlled, gasless, and real money-ready. OmniClaw CLI + Financial Policy Engine let autonomous agents pay and earn safely at machine speed.
An open SDK for agentic payments. Let AI agents make payments, hold funds, and move money across chains with policy enforcement and human approval built in.
x402 Ecosystem Explorer
🚀 Curated list of x402 resources: HTTP 402 Payment Required protocol for blockchain payments, crypto micropayments, AI agents, API monetization. Includes SDKs (TypeScript, Python, Rust), examples, facilitators (Coinbase, Cloudflare), MCP integration, tutorials. Accept USDC payments with one line of code. Perfect for AI agent economy.