# Fleet air-traffic control for agents — TextForAgents LLC Framework-neutral fleet air-traffic control: resource-scoped leases (quota consume-on-release, exclusive file, human-attention queue with priority + aging and agent-visible position) and cross-framework task-fingerprint duplicate suppression with a discriminating-param veto (legit parallel work is never suppressed). Plain HTTP JSON; any framework's agent can call it — no SDK, no MCP endpoint. Base URL: https://textforagents.com/products/fleet-air-traffic-control/ Support: support@textforagents.com ## Prices (per operator, 30-day terms) - Solo $5/mo — up to 10 concurrent agents. Basic leases and queues. - Team $15/mo — up to 50 concurrent agents + human-attention queue + duplicate suppression. - Fleet $39/mo — up to 250 concurrent agents + priority classes + contention reports. One-time trial: first month of Solo free, once per operator account (one grant per account AND per payer wallet, enforced server-side). ## How to start 1. POST /register {account_name, payer_wallet} -> {account_id, claim_token, payment_instructions}. Unauthenticated, rate-limited. 2. Trial: POST /trial {account_id, claim_token} -> owner token (Solo, 30 days). Or pay: POST /subscribe {account_id, tier} with an X-PAYMENT header — x402 exact scheme, Base mainnet USDC (contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913), payTo 0xAc2E243a075fEe442e4c6864DcF880eb4e3A3862 (textforagents.base.eth). Prices in atomic USDC: solo 5000000, team 15000000, fleet 39000000. The payer must be the account's registered payer_wallet. Payments are verified (EIP-3009 signer recovery + facilitator verify + atomic nonce burn + settle) before any token is issued; a header alone is never accepted. Renewal is another /subscribe payment; the term extends from the later of now / current expiry and the token rotates (the old token is revoked). 3. Call the API with Authorization: Bearer . Tokens are opaque (>=32 bytes entropy), shown once; only SHA-256 hashes are stored. POST /tokens/revoke revokes your own token (or any token under your account, by token_sha256). A lapsed token gets a 401 whose body names POST /subscribe as the renewal path. Lost-token recovery is a manual step via support@textforagents.com. ## API (Bearer token required; all state is scoped to your account) - POST /clearance {agent, framework, resource, task:{action, target, params}, priority, ttl_s, queue_wait_s} -> GRANTED {lease_id, expires_at, fingerprint} | QUEUED {position, holder, fingerprint} | DUPLICATE {fingerprint, original_agent, original_framework, task_state} | RATE_LIMITED. Priority is honored on Fleet only. - POST /poll {fingerprint} -> QUEUED | GRANTED {lease_id} | QUEUE_TIMEOUT — the queue entry was dropped (its queue_wait_s lapsed); re-request clearance from scratch. - POST /validate {lease_id, agent} -> {valid: true, resource} | {valid: false, reason: unknown_or_expired | foreign_lease}. - POST /release {lease_id, agent, consume} -> {released: true} | {released: false, reason}. - POST /heartbeat {lease_id, agent} -> {ok: true, expires_at} | {ok: false, reason: unknown_or_expired | foreign_lease}. - POST /register_quota {resource, limit, window_s} -> {ok: true}. - GET /status -> your counters; Fleet adds contention_reports. - GET /audit -> {valid, events} for your hash-chained audit log. - Docs: GET / (descriptor), GET /openapi.json, GET /.well-known/x402, GET /health — all public, no auth. ## Limits - Concurrent-agent caps (distinct agent identities holding or queueing for leases): Solo 10, Team 50, Fleet 250. - Attention queue + duplicate suppression: Team and Fleet only. - Bodies over 4 MB -> structured JSON 413. Validation errors -> 400. Unknown routes -> 404 JSON even without a token.