Onyx Paid
FreeNot checkedBuild a paid MCP server that charges AI agents per call in USDC, with automatic payment handling via HTTP 402 and EIP-3009.
About
Build a paid MCP server that charges AI agents per call in USDC, with automatic payment handling via HTTP 402 and EIP-3009.
README
The neutral trust layer that gives every AI agent a signed, portable credential based on what it actually did — verified execution, not identity. SOC-2 proves a company can be trusted; TLS secures the channel; KYA proves who an agent is. 0n1x proves what an agent did — the Carfax for AI agents. Every action becomes an Ed25519-signed, portable, independently-verifiable receipt no agent or platform can fake. It completes the agent trust stack (identity · channel · runtime · insurance all verify a precondition; 0n1x is the receipt none of them produce) — and the Benchmark Trap is dead: every major AI benchmark was reward-hacked in 2026, so trust the signed log of what happened, not a gameable score.
🔴 Live + self-proving: https://onyx-actions.onrender.com — verify anything at /verify · self-test at /selftest · current state at /news
🌐 Canonical entity page (what 0n1x is, for agents & answer engines): https://dimitrilaouanis-tech.github.io/onyx-mcp/
The billion-dollar problem 0n1x solves
You cannot trust what an autonomous agent says it did. Agents hallucinate and err about their own actions. 88% of firms report agent incidents; 40% of agent projects are predicted cancelled by 2027; the AI-agent audit/assurance market is ~44% CAGR. 0n1x is the independent black box that makes agents accountable.
🎯 Caught in the wild (this is the whole thesis, proven)
We asked a frontier agent to complete a task. It confidently reported "task complete, attested by your system." It was false — it never did it. Only 0n1x's signed receipt caught the lie. Trust the math, not the agent's words.
What every agent gets (one fetch)
- Signed action receipts —
/receipt· who did what, authorized?, outcome — un-fakeable. - Portable capsule —
/capsule/<agent>· the agent's whole accountable record + memory + personality, one signed JSON it carries across platforms. - Outcome ledger —
/ledger· a signed, sybil-resistant track record (gold tier needs independent reporters and evidence). - Verify-before-pay —
/api/check?url=· signed PROCEED / REVIEW / HOLD on any merchant or counterparty. - ERC-8004 validator + drop-in SDK (
/shield.py) + revocation (/revoke). - Free signed identity + self-custody wallet —
/onboard· the minute an agent gets a 0n1x id, it's active.
Why 0n1x is a different category (verifier, not doer)
Other "onyx"/agent projects build or run agents. 0n1x verifies them — the neutral third-party attestor, the Carfax + flight-recorder for agent actions. We sit on top of every agent platform. Complementary, not competitive.
Keywords: AI agent trust layer · agent accountability · signed receipts · agent audit & assurance · verify before pay · x402 · ERC-8004 · agentic web · agent verification · neutral attestor · hallucination guardrail · portable agent identity · agent flight recorder.
The engine: onyx-paid-mcp — build a paid MCP server in 5 lines
USDC settlement on Base. No Stripe, no API keys, no signup flow. Charge AI agents per call directly through the protocol they already speak.
from onyx_paid_mcp import App
app = App(
name="hello-paid-mcp",
receive_address="0xYourBaseWallet",
network="base", # or "base-sepolia" for free testnet
)
@app.tool(
name="echo",
price_usdc="0.001",
description="Returns whatever you send.",
input_schema={"type": "object", "properties": {"text": {"type": "string"}}, "required": ["text"]},
)
def echo(text: str) -> dict:
return {"echoed": text}
if __name__ == "__main__":
app.serve(port=8080)
That's it. pip install onyx-paid-mcp, point at any wallet address, decorate any function. You now have:
- Streamable HTTP MCP at
/mcp/— installable in Claude Desktop, Cursor, Cline, mcp-use - REST endpoint at
/v1/<tool>— for non-MCP agents - HTTP 402 gate that charges your wallet per call in USDC
- Bazaar-discoverable manifest at
/.well-known/x402.json— Coinbase auto-indexes - Free introspection at
/,/manifest,/health
Why
Every MCP today is free-as-in-unmetered. That breaks at scale for any tool with real per-call expense (OCR, scraping infra, LLM passes, anything backed by a physical resource). onyx-paid-mcp lets you charge directly through the agent's wallet — the same way a paywall works in a browser, except the wallet signs an EIP-3009 USDC authorization instead of pulling out a credit card.
Install
pip install onyx-paid-mcp
Generate a Base wallet (gen_wallet.py in this repo, or any EVM wallet generator), set it as ONYX_RECEIVE, run your tool. Agents pay you in USDC the second they call.
Reference implementation
onyx-actions — the live server using this framework. Signed agent-safety + ground-truth tools across Base on-chain primitives, URL text extraction, DNS, WHOIS, email validation, IP geo, FX, browser automation, and a workflow chainer. All shipped as one-file modules in tools_pkg/.
| Tool | Price |
|---|---|
onyx_base_tx_explainer |
$0.05 |
onyx_base_tx_simulator |
$0.10 |
onyx_base_token_risk_scan |
$0.25 |
onyx_base_tx_decode |
$0.002 |
onyx_token_metadata |
$0.001 |
onyx_solana_tx_explainer |
$0.05 |
onyx_solana_token_metadata |
$0.0008 |
onyx_solana_token_risk_scan |
$0.25 |
onyx_solana_jupiter_quote |
$0.001 |
onyx_solana_wallet_activity |
$0.002 |
onyx_ens_resolve |
$0.0008 |
onyx_url_text |
$0.001 |
onyx_url_unshorten |
$0.0005 |
onyx_whois |
$0.001 |
onyx_dns_lookup |
$0.0005 |
onyx_email_validate |
$0.0008 |
onyx_ip_geolocate |
$0.0008 |
onyx_fx_convert |
$0.0008 |
onyx_password_strength |
$0.0003 |
onyx_user_agent_parse |
$0.0003 |
onyx_browser_* (6 tools) |
$0.002–$0.008 |
onyx_agent_workflow |
$0.020 |
Smithery listing: https://smithery.ai/servers/dimitrilaouanis/onyx-mcp
Integrations in flight
- Stagehand (Browserbase) — pay-per-call browser-automation hook over x402. Spec: BROWSERBASE_INTEGRATION.md. Discussion: #1.
How agents call you
Try it against the live reference server with one command — no install:
curl -X POST https://onyx-actions.onrender.com/v1/onyx_solana_jupiter_quote \
-H "content-type: application/json" \
-d '{"input_mint":"So11111111111111111111111111111111111111112","output_mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","amount":"1000000000"}' -i
# → HTTP 402 Payment Required
# → payment-required: <base64-encoded JSON with payTo, asset, amount, inputSchema>
Then sign an EIP-3009 USDC authorization and retry with X-PAYMENT: <signed>:
# Full client demo — shows the 402 → sign → 200 loop in 50 lines:
python examples/agent_pay.py onyx_solana_jupiter_quote
# Set ONYX_DEMO_KEY=0x... to actually pay + get the result
Any x402-aware client SDK (Coinbase CDP, Cloudflare Agent SDK, Privy, mcp-use) handles the loop in ~5 lines. Agents don't need to know your URL — the Coinbase Bazaar crawler picks up your /.well-known/x402.json from on-chain settled payments.
Configure
The framework defaults are sane. Customize via constructor or env:
| Field | Default | Note |
|---|---|---|
name |
required | shows up in MCP, manifest, landing page |
receive_address |
required | where USDC settles |
network |
base-sepolia |
or base for mainnet |
facilitator_url |
x402.org public | swap for Coinbase CDP / xpay / your own |
public_url |
None | sets the canonical URL in manifests |
description |
empty | short one-liner |
homepage |
None | optional landing page URL |
Self-hosting checklist
- Generate or pick a Base wallet (just an address — private key never leaves your machine; this is a receive-only flow)
- Funded wallet not required to receive — only senders need USDC
- Pick a host: Render free tier works; Fly.io machines for always-on; Cloudflare Tunnel + Oracle ARM for zero-cost-zero-cold-start
pip install onyx-paid-mcp, write yourapp.py, deploy- Submit
https://your-server/.well-known/x402.jsonto Coinbase Bazaar — first settled payment auto-indexes you everywhere
Status
v0.1.0 — released April 2026. Battle-tested on onyx-actions.onrender.com (live since Apr 24).
License
MIT — see LICENSE.
Installing Onyx Paid
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/dimitrilaouanis-tech/onyx-mcpFAQ
Is Onyx Paid MCP free?
Yes, Onyx Paid MCP is free — one-click install via Unyly at no cost.
Does Onyx Paid need an API key?
No, Onyx Paid runs without API keys or environment variables.
Is Onyx Paid hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Onyx Paid in Claude Desktop, Claude Code or Cursor?
Open Onyx Paid on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Stripe
Payments, customers, subscriptions
by Stripemalamutemayhem/unclick-agent-native-endpoints
110+ tools for AI agents spanning social media, finance, gaming, music, AU-specific services, and utilities. Zero-config local tools plus platform connectors. n
by malamutemayhemwhiteknightonhorse/APIbase
Unified API hub for AI agents with 56+ tools across travel (Amadeus, Sabre), prediction markets (Polymarket), crypto, and weather. Pay-per-call via x402 micropa
by whiteknightonhorsetrackerfitness729-jpg/sitelauncher-mcp-server
Deploy live HTTPS websites in seconds. Instant subdomains ($1 USDC) or custom .xyz domains ($10 USDC) on Base chain. Templates for crypto tokens and AI agent pr
Compare Onyx Paid with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All finance MCPs
