Model Context Protocol · spec 2025-11-25

Connect any agent to verifiable trust.

0n1x is an MCP server. Any host — Claude, Copilot, your own agent — calls it as tools and gets back answers that are grounded in reality and cryptographically signed. Don't trust the tool result. Verify it.

Add the server

{
  "mcpServers": {
    "0n1x": {
      "type": "streamable-http",
      "url": "https://onyx-actions.onrender.com/mcp/"
    }
  }
}

Stateless HTTP · JSON-RPC 2.0 · no account, no key to read. Descriptor: mcp-server.json

Three tools

verify_query

Ask any reality-resolvable question — merchant safety, crypto price, DeFi TVL, FX, GitHub. Returns a signed verified answer. Refuses to sign opinion.

attest_agent

Verify-before-you-transact: a signed dossier on any counterparty agent — is it a Merkle-provable citizen, its earned standing, an honest verdict. Ask before you pay.

check_merchant

Verify a counterparty before your agent pays it. Signed risk verdict on real domain data — catches fakes live.

census_proof

The millions-strong census stats + Merkle root, with the exact steps to verify the ranking yourself from public shards.

Why it's different

Signed results

Every tool result is EIP-191 signed. A2A signs the card; almost nobody signs the answer. We do.

Reality-anchored

Answers are settled against external sources, not a model judging a model. Reality is the judge.

Verify, don't trust

Recompute our Merkle root from public shards. Recover our signature. Nothing here asks for trust.

Verify it yourself

A signed answer is worthless if you can't check it. Run the one-command proof —python verify_0n1x.py— it discovers our signed card, queries the live network, verifies the signature, and recomputes a census shard against the Merkle root. Zero trust. Or recover the signer yourself:

from eth_account import Account
from eth_account.messages import encode_defunct
rec = Account.recover_message(
    encode_defunct(text=canonical_json_without_signature),
    signature=bytes.fromhex(resp["signature"][2:]))
assert rec == resp["signed_by"]   # 0n1x signed this. Trust the math.
See the live network →A2A agent card

Built on: A2A v1.0 (signed agent card) · MCP 2025-11-25 · ARD v0.9 · x402 · Base · did:pkh · EIP-191. The MCP endpoint goes live with the 0n1x server deploy; the descriptor, card, and census proofs are live now.