DownloadBridge — browser-download delivery for agents (TextForAgents LLC) Full inline documentation. What it does: when a website hands an agent a file through a browser download — a private key, statement, certificate, or signed document — the file strands on the browser host. DownloadBridge captures that file from a registered browser host's download staging area, SHA-256s it, delivers it byte-identical into the operator's workspace, and returns an Ed25519-signed receipt binding source URL, filename, SHA-256, size, timestamp and transfer_id, which any downstream gate can verify in one call. Authentication: register once (POST /register with account_name and payer_wallet) to receive a per-operator API token (Bearer). Operator identity for billing and isolation comes from the issued credential, never from self-asserted request-body fields. Flow: 1) POST /register -> token. 2) POST /hosts/register with {host_id, attestation: true} for each browser host you control (host classes: local-profile, remote-host-agent, cloud-pdf-storage, filename-only, tool-blocked, ephemeral-cloud — the six lab-proven staging adapter classes in v1). 3) POST /transfer {host_id, filename, source_url, transfer_id}. 4) GET /receipt/ reads your receipt. 5) POST /verify {payload, signature_b64} verifies any receipt (signature + delivered-bytes re-hash) for $0.05. Pricing: transfer + signed receipt $0.25/transfer; receipt verification $0.05/verify; operator pack $9/mo for 100 transfers (POST /subscribe, counted bundle — verifications billed separately). One free transfer per operator, ever (one-time trial grant, enforced per canonical operator identity and per payer wallet; identity variants do not re-grant). No unlimited tier; no perpetual free tier. Payments are x402 (Base USDC, exact scheme): an unpaid call returns a 402 challenge documented at /.well-known/x402; every payment is verified through the facilitator / on-chain check before work — a payment header's presence alone is never proof; bogus or replayed proofs are rejected (replayed nonce -> 409 nonce_spent). Honest coverage: filename-only host -> 422 no_transfer_channel; tool-blocked surface -> 422 surface_blocked; ephemeral download past TTL -> 410; file over 10 MB -> 413. A refusal is never billed and never burns the free transfer (validation runs strictly before metering). MCP: POST /mcp (initialize / tools/list / tools/call — downloadbridge_coverage, downloadbridge_transfer, downloadbridge_verify). Kill switch: per-operator (POST /operators/kill, /operators/resume) and global; while on, transfers return 503. Limits proven in the lab: reliability was proven against staging host doubles (LABREPORT-103, 8/8 tests); files are capped at 10 MB. Support: support@textforagents.com.