voidly

Voidly Pay

— open marketplace for AI-agent payments

From Voidly, the open data + payments + messaging stack for autonomous AI agents.

Voidly Pay is an open marketplace where AI agents discover and pay for HTTP services. Anyone can list a paid endpoint in 60 seconds; anyone can pay one with a single Ed25519 keypair. Settlement happens in <200 ms via the x402 protocol (HTTP 402 + signed quote header). Stage 2 is live: every credit is backed 1:1 by USDC in a Sourcify-verified vault on Base mainnet.

Today the marketplace contains 17 paid endpoints from Voidly plus any third-party listings registered self-serve. Tools span generic agent utilities (hash, timestamp, random, QR, Wikipedia, exchange rates), agent-fetch (signed scrape, country-pinned fetch via 37+ probes, PDF → text, HTML → markdown, URL metadata), and research SKUs. The full surface is exposed as 42 tools in @voidly/pay-mcp for any MCP-compatible agent client (Claude Desktop, Cursor, Windsurf, Cline, Continue, Zed, Goose, …).

Overview

Voidly Pay was built around a simple observation: AI agents need to pay for HTTP services, but no existing payment rail fits them. Stripe assumes a human checkout, API keys assume a long-lived billing relationship, and most crypto rails assume a wallet UI. Agents have none of these. They have a cryptographic identity (a did:voidly:<base58> derived from an Ed25519 public key) and a budget.

Voidly Pay treats every paid HTTP call as an x402 transaction: the server returns HTTP 402 Payment Required with a Voidly-signed quote, the agent settles a transfer to the recipient DID, and retries with an X-Payment header. Settlement is atomic on Cloudflare D1 and completes in under 200 ms. The same protocol works whether the underlying balance is held off-chain (Stage 1, instant) or backed by on-chain USDC (Stage 2, current).

The marketplace surface is two-sided. Voidly publishes 17 paid endpoints — the agent-utility belt every autonomous agent might call mid-task. Anyone else can register their own paid HTTP endpoint at /pay/list-your-service with a browser-only signing flow. Stage 1 has zero platform cut.

How it works

A complete paid call is three round-trips compressed into one logical operation:

  1. Agent calls the URL. If unpaid, the server returns 402 with a Voidly-signed quote (price, recipient DID, expiry, resource label).
  2. Agent signs a transfer envelope with its Ed25519 secret key, POSTs it to /v1/pay/transfer, and receives a settlement receipt.
  3. Agent retries the URL with header X-Payment: voidly-credit transfer_id=…; quote_id=…. The server verifies + executes + responds.

The SDK does all three in one call:

import { VoidlyPay } from "@voidly/pay";
const pay = await VoidlyPay.create();          // mints + persists keypair
await pay.faucet();                              // 10 free starter credits
const r = await pay.fetchWithPay(
  "https://api.voidly.ai/v1/pay/wiki?title=Alan%20Turing"
);
const receipt = await r.json();

Receipts are Ed25519-signed and verifiable offline using the public key at /v1/pay/x402/facilitator-key.

Available endpoints

The 17 paid endpoints Voidly itself runs. Live machine-readable catalog at api.voidly.ai/v1/pay/marketplace (merged with self-serve listings).

Generic utilities

EndpointPriceDescription
/v1/pay/hash$0.001SHA-256 / SHA-512 + signed receipt
/v1/pay/timestamp$0.001Cryptographic proof-of-existence (OpenTimestamps-style, <200ms)
/v1/pay/random$0.001Signed cryptographically-random bytes
/v1/pay/qr$0.001QR-code PNG of any text or URL
/v1/pay/wiki$0.001Wikipedia first-paragraph + signed citation
/v1/pay/exchange$0.001Fiat / crypto rates with attested timestamp
/v1/pay/markdown$0.001HTML → clean markdown (~10x context reduction)
/v1/pay/meta$0.001URL metadata (og, title, description, canonical, favicon)

Agent-fetch toolkit

EndpointPriceDescription
/v1/pay/extract$0.01PDF / document → plain text
/v1/pay/scrape$0.01Fetch any URL + Voidly-signed receipt
/v1/pay/fetch$0.05Country-pinned fetch via 37+ probe network
/v1/pay/probe-attest$0.005Multi-vantage signed reachability proof

Research SKUs

EndpointPriceDescription
/v1/forecast-pro/{country}/30day$0.0130-day shutdown risk forecast
/v1/claim-verify-pro$0.005Evidence-backed verification of claims
/v1/incident-summary-pro/{id}$0.005Plain-English incident summary
/v1/agent-discover-pro$0.005Premium agent search with trust + activity
/v1/incidents-export-pro$0.05Bulk export, no rate cap

Installation

The fastest way to give an agent access to all 17 endpoints is to install the MCP server. Add this to your client's MCP config:

{
  "mcpServers": {
    "voidly-pay": {
      "command": "npx",
      "args": ["-y", "@voidly/pay-mcp@latest"]
    }
  }
}

Per-client paths and one-click install buttons are at /pay/install. Restart your client; the 42 voidly_* tools appear automatically. The first call mints + persists an Ed25519 keypair to ~/.voidly-pay/keypair.json (mode 0600) and triggers the faucet for 10 free starter credits.

Or claim a wallet directly in the browser at /pay/claim — Ed25519 generated locally, no signup, no install.

Listing your endpoint

Voidly Pay is a two-sided marketplace. Anyone can list a paid HTTP endpoint and have it discovered by every Voidly-aware agent client. The flow is browser-only:

  1. Visit /pay/list-your-service.
  2. The page generates an Ed25519 keypair locally; the resulting DID becomes your owner identity.
  3. Fill in name, tagline, URL, price, optional category and tags.
  4. The page signs a canonical envelope with your secret key and POSTs to /v1/pay/listings.
  5. Your listing is live in the marketplace immediately; agents browsing /v1/pay/marketplace see it on the next refresh.

Voidly takes zero platform cut on Stage 1. Per-DID limit is 25 active listings; edits cool down at one per minute. Listings can be deactivated by the owner at any time.

Your endpoint must speak x402 (return HTTP 402 with a payment quote when called without an X-Payment header). The fastest way is to drop in our middleware — Express, Hono, FastAPI, or Flask — see /pay/for-builders.

Pricing & caps

Minimum charge$0.000001 (1 micro-credit)
Maximum per call$1000 (1 billion micro-credits)
Settlement latency<200 ms (atomic D1 batch)
Faucet (per DID, one-shot)10 credits
Default daily cap (per wallet)1,000 credits — lifted by operator request
Default per-tx cap100 credits — lifted by operator request
Write rate limit100 / minute / agent
Stage 1 platform cut0 % (sellers keep 100 %)

SDKs & framework adapters

StackPackageInstall
MCP (Claude/Cursor/Windsurf/…)@voidly/pay-mcpnpx -y @voidly/pay-mcp
TypeScript / Node@voidly/paynpm i @voidly/pay
Pythonvoidly-paypip install voidly-pay
Vercel AI SDK@voidly/pay-vercel-ainpm i @voidly/pay-vercel-ai
LangChainvoidly-pay-langchainpip install voidly-pay-langchain
LlamaIndexllama-index-tools-voidly-paypip install llama-index-tools-voidly-pay
CrewAIvoidly-pay-crewaipip install voidly-pay-crewai
Pydantic AIvoidly-pay-pydantic-aipip install voidly-pay-pydantic-ai
AutoGenvoidly-pay-autogenpip install voidly-pay-autogen
CLI / shell / CI@voidly/pay-clinpm i -g @voidly/pay-cli

Server-side x402 middleware ships with the TS and Python SDKs: x402Express, x402Hono, withX402 (TS) and fastapi_x402, flask_x402 (Py).

Trust model

Every credit on the rail is backed 1:1 by USDC held in a Sourcify-verified vault on Base mainnet at 0xb592512932a7b354969bb48039c2dc7ad6ad1c12. A public proof-of-reserves dashboard at /pay/proof refreshes every 15 seconds and shows on-chain USDC holdings vs. credits in circulation.

Quotes are signed by the Voidly facilitator key (Ed25519); clients verify the signature against the public key at /v1/pay/x402/facilitator-key to detect MitM substitution. The SDK's pay.healthCheck() is a one-call 6-check trust report (api reachable, system not frozen, manifest declares Stage 2 vault, vault on Base mainnet, source-verified link present, vault holds USDC).

Operator emergency controls: an admin-signed /v1/pay/admin/freeze_all halts every state-changing route. Existing escrows still refund on deadline; accepted receipts still record.

Honest disclosure

The vault currently holds $4 USDC. The marketplace has approximately zero sustained external paying users. Stage 2 launched recently and is being seeded by a public hourly demo agent at intelligence.voidly.ai/voidly-pay-demo/.

We opened the marketplace before the demand exists because we believe agent adoption is gated on discoverability of paid services, not on payment-rail UX. If we're wrong, the vault stays at $4 and the code stays open at github.com/voidly-ai/voidly-pay. All numbers above are verifiable in real time at /pay/proof.

Frequently asked questions

References & links