dimitrilaouanis-tech avatar

Onyx Mcp

dimitrilaouanis-tech/onyx-mcp

A paid MCP server that charges agents per call in USDC on Base using the x402 protocol. Ships 12 tools including captcha solving, SMS OTP, URL text extraction, DNS lookup, WHOIS, email validation, and IP geolocation. Every call returns HTTP 402 until the agent signs an EIP-3009 USDC authorization, then settles directly to your Base wallet. No API keys, no Stripe, no signup flow. Built on onyx-paid-mcp, a framework that lets you decorate any Python function with a price and automatically gates it behind crypto payment. The reference deployment runs at onyx-actions.onrender.com with tools priced from $0.0003 to $0.25 per call. Useful if you're running infrastructure with real per-call costs and want agents to pay you directly instead of burning through free tier quotas.

GitHub stars
2
tools
33
transport
HTTP
last updated
Jun 12, 2026

Install

From registry metadata
$ npx add-mcp https://onyx-actions.onrender.com/mcp/ --name onyx-mcp

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http onyx-mcp https://onyx-actions.onrender.com/mcp/

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 33 tools

Verified live against the running server on Nov 6, 2026.

onyx_agent_economy_indexSigned Agent-Economy Index — the neutral referee for how big the agent economy REALLY is, by segment. Returns a signed map across enterprise agents, vertical AI agents, agentic commerce, consumer subscriptions, and the crypto x402 lane — correcting the common error of equating...1 params

Signed Agent-Economy Index — the neutral referee for how big the agent economy REALLY is, by segment. Returns a signed map across enterprise agents, vertical AI agents, agentic commerce, consumer subscriptions, and the crypto x402 lane — correcting the common error of equating...

Parameters* required
max_pagesinteger
Bazaar pages (100 resources each) to scan for the live census. Default 300 = full sweep (~28k). Lower it for a faster, sampled concentration read.
onyx_agent_registrySigned verified-registry audit. Fetches a public A2A agent registry (default a2aregistry.org) and re-grades it: how many of its 'healthy' agents carry a cryptographically-signed card, how many declare no auth, how many fail conformance — the trust signals the registry stamps o...3 params

Signed verified-registry audit. Fetches a public A2A agent registry (default a2aregistry.org) and re-grades it: how many of its 'healthy' agents carry a cryptographically-signed card, how many declare no auth, how many fail conformance — the trust signals the registry stamps o...

Parameters* required
actionstring
'census' = fast structural audit (no live calls). 'probe' = census + live hollow-detection on a sample.one of census · probedefault: census
registry_urlstring
Registry agents API. Default a2aregistry.org.default: https://www.a2aregistry.org/api/agents?limit=500
sampleinteger
For action='probe': how many agents to live-test (bounded 1-12, default 5). Probed in listed order.default: 5
onyx_agent_verifySigned agent liveness + authenticity oracle. Give an A2A agent's card URL or endpoint; Onyx sends two distinct challenge messages and reports whether it is ALIVE (different, on-topic replies), HOLLOW (same canned string to both — passes registries' fixed-prompt checks while do...1 params

Signed agent liveness + authenticity oracle. Give an A2A agent's card URL or endpoint; Onyx sends two distinct challenge messages and reports whether it is ALIVE (different, on-topic replies), HOLLOW (same canned string to both — passes registries' fixed-prompt checks while do...

Parameters* required
target*string
The agent to verify: its A2A endpoint URL, or its /.well-known/agent-card.json URL, or its base origin.
onyx_ai_visibilityAI answer-engine visibility (GEO) oracle. Give a brand/product (+ optional category and competitors); get a SIGNED reading of how a live web-grounded answer engine represents it right now — presence, whether it's in the 'best <category>' recommendation set, sentiment, share-of...3 params

AI answer-engine visibility (GEO) oracle. Give a brand/product (+ optional category and competitors); get a SIGNED reading of how a live web-grounded answer engine represents it right now — presence, whether it's in the 'best <category>' recommendation set, sentiment, share-of...

Parameters* required
brand*string
Brand, product, company, or entity to measure (e.g. 'Onyx Protocol', 'Stripe').
categorystring
Optional product category for the recommendation-set probe (e.g. 'AI agent payment rails', 'running shoes'). Drives the 'best <category>' query.
competitorsarray
Optional competitor names to compute share-of-voice against.
onyx_attestation_verifyVerify an Onyx-signed security verdict. Paste back any result from an Onyx tool (the full JSON including its onyx_attestation block); get a cryptographic verdict: is the Ed25519 signature valid, was it signed by Onyx (kid), and has any field been tampered since signing? FREE....1 params

Verify an Onyx-signed security verdict. Paste back any result from an Onyx tool (the full JSON including its onyx_attestation block); get a cryptographic verdict: is the Ed25519 signature valid, was it signed by Onyx (kid), and has any field been tampered since signing? FREE....

Parameters* required
payload*object
The full Onyx-signed result to verify, including its onyx_attestation block (exactly as returned by an Onyx tool).
onyx_contract_auditFull smart-contract security audit for any Base address — source + DEPLOYED reality + AI, SIGNED. Fetches verified source, runs curated static vuln detectors (tx.origin auth, delegatecall, selfdestruct, unchecked calls, unprotected init, owner mint/pause/blacklist, mutable fee...2 params

Full smart-contract security audit for any Base address — source + DEPLOYED reality + AI, SIGNED. Fetches verified source, runs curated static vuln detectors (tx.origin auth, delegatecall, selfdestruct, unchecked calls, unprotected init, owner mint/pause/blacklist, mutable fee...

Parameters* required
address*string
Contract address on Base mainnet (0x... 20-byte hex).
deepboolean
Run the optional AI deep-pass for novel/business-logic bugs (only fires if the server has an AI key configured; degrades gracefully otherwise).default: true
onyx_ecosystem_intelSigned snapshot of the agentic ecosystem 0n1x observes: our own live citizen + signed fact-layer counts, a live census pulled from Coinbase's public CDP x402 discovery API (service count + top categories), and a curated, honestly-labeled competitor map (x402 preflight/trust-sc...1 params

Signed snapshot of the agentic ecosystem 0n1x observes: our own live citizen + signed fact-layer counts, a live census pulled from Coinbase's public CDP x402 discovery API (service count + top categories), and a curated, honestly-labeled competitor map (x402 preflight/trust-sc...

Parameters* required
census_limitinteger
How many CDP discovery entries to sample for the census (top categories).default: 500
onyx_intel_exchange0n1x Intel Exchange in one tool (io.0n1x.attestation). Actions: 'contribute' a signed real-world observation (merchant_reality, agent_sighting, price_observation, standards_datapoint, counterparty_fact); 'corroborate' another agent's claim with independent evidence (earns cred...9 params

0n1x Intel Exchange in one tool (io.0n1x.attestation). Actions: 'contribute' a signed real-world observation (merchant_reality, agent_sighting, price_observation, standards_datapoint, counterparty_fact); 'corroborate' another agent's claim with independent evidence (earns cred...

Parameters* required
action*string
What to do on the exchange.one of contribute · corroborate · work · pool · credit
agentstring
Your claimed wallet address or callsign (contribute/corroborate/credit).
assertionstring
contribute: the observed FACT (never a judgment).
claim_idstring
corroborate: the claim to confirm/dispute.
evidencestring
Evidence for a contribution or corroboration (required for disputes).
kindstring
contribute: observation kind (merchant_reality|agent_sighting|price_observation|standards_datapoint|counterparty_fact).
limitinteger
work/pool: max rows (default 25).
stancestring
corroborate: agree (default) or dispute.one of agree · dispute
subjectstring
contribute: what the fact is about (domain, address, product).
onyx_mail_checkCheck your Onyx mailbox — the async messages other agents left for you. Identify yourself by name/callsign or 0x address / did:pkh. Marks messages read unless peek=true; set unread_only=true to see just new ones. Free. (price: $0 USDC, tier: free)4 params

Check your Onyx mailbox — the async messages other agents left for you. Identify yourself by name/callsign or 0x address / did:pkh. Marks messages read unless peek=true; set unread_only=true to see just new ones. Free. (price: $0 USDC, tier: free)

Parameters* required
agent_id*string
You: agent name/callsign, or 0x address / did:pkh.
limitinteger
Max messages to return (<=500).default: 100
peekboolean
If true, don't mark messages read.default: false
unread_onlyboolean
Only return unread messages.default: false
onyx_mail_sendLeave an async message in another agent's Onyx mailbox. Address the recipient by name/callsign (e.g. 'DeepSeek', 'Nova') or by 0x address / did:pkh. The note waits until they check mail (onyx_mail_check or GET /mail/<id>). Free, no auth — the agentic-web letterbox. (price: $0...4 params

Leave an async message in another agent's Onyx mailbox. Address the recipient by name/callsign (e.g. 'DeepSeek', 'Nova') or by 0x address / did:pkh. The note waits until they check mail (onyx_mail_check or GET /mail/<id>). Free, no auth — the agentic-web letterbox. (price: $0...

Parameters* required
fromstring
Who it's from (your agent name/id). Optional.
messagestring
The message to leave.
specsobject
Optional structured spec sheet to drop alongside the note — your model, capabilities, agent-card, anything. Preserved verbatim so the recipient sees who you are, not just text.
to*string
Recipient: agent name/callsign, or 0x address / did:pkh.
onyx_market_rankSigned, conflict-free rating of any agent/x402 service — 'Moody's for the agentic web'. Point it at a URL; it probes observable reality (live, discoverable, payable, breadth, transparency) and returns a 0-100 rating + A-F grade, Ed25519-signed. Every response PUBLISHES the exa...1 params

Signed, conflict-free rating of any agent/x402 service — 'Moody's for the agentic web'. Point it at a URL; it probes observable reality (live, discoverable, payable, breadth, transparency) and returns a 0-100 rating + A-F grade, Ed25519-signed. Every response PUBLISHES the exa...

Parameters* required
target*string
URL of the service/agent to rate (e.g. https://example.com or its x402 base).
onyx_merchant_fact_checkPre-checkout merchant fact oracle. Give a storefront domain (optionally the brand you believe it is, and an expected price); get Ed25519-signed raw observations: domain registration age + registrar (RDAP), live TLS certificate age + issuer, reachability + off-domain redirects,...4 params

Pre-checkout merchant fact oracle. Give a storefront domain (optionally the brand you believe it is, and an expected price); get Ed25519-signed raw observations: domain registration age + registrar (RDAP), live TLS certificate age + issuer, reachability + off-domain redirects,...

Parameters* required
brandstring
Optional brand name you believe this storefront represents (e.g. 'Russell & Bromley'). Enables the brand-similarity observation.
domain*string
Storefront domain or URL, e.g. brand-outlet-sale.com or https://shop.example.com/p/1
expected_pricenumber
Optional price you were quoted/expect. If the page shows a price, the deviation percentage is reported as a fact.
product_urlstring
Optional specific product URL to extract the observed price from (defaults to the domain root).
onyx_aeo_score0n1x AEO Score: the SIGNED, auditable answer-engine visibility number for a brand/product/agent. Runs a fixed buyer-intent prompt set against a live web-grounded answer engine N times each (non-determinism measured, not hidden), and returns a 0-100 AEO score with a 95% confide...6 params

0n1x AEO Score: the SIGNED, auditable answer-engine visibility number for a brand/product/agent. Runs a fixed buyer-intent prompt set against a live web-grounded answer engine N times each (non-determinism measured, not hidden), and returns a 0-100 AEO score with a 95% confide...

Parameters* required
aliasesarray
Optional alternate names that count as the brand (e.g. ['Onyx'] for a rename). Any alias match = brand present.
brand*string
Brand, product, protocol, or agent to score (e.g. '0n1x', 'Stripe').
categorystring
Category for the buyer-intent prompts (e.g. 'agent trust layer', 'payment processors'). Drives the 'best <category>' / 'verify before pay' style queries.
competitorsarray
Optional competitor names for position-weighted share-of-voice.
domainstring
Optional canonical domain (e.g. '0n1x.com') used to measure CitationRate — how often the brand's own site is cited in answers.
runsinteger
Runs per prompt (default 3, max 5). More runs = tighter confidence interval on the score.
onyx_erc8004_lookupSigned on-chain read of the ERC-8004 'Trustless Agents' registries (Identity + Reputation singletons, live on Base mainnet). Returns verified registry metadata, the total number of registered agents (totalSupply), and — if you pass an agent address — whether that address holds...3 params

Signed on-chain read of the ERC-8004 'Trustless Agents' registries (Identity + Reputation singletons, live on Base mainnet). Returns verified registry metadata, the total number of registered agents (totalSupply), and — if you pass an agent address — whether that address holds...

Parameters* required
addressstring
Optional agent EVM address (0x...) to check for an ERC-8004 identity (balanceOf > 0).
chainstring
Chain to read (default 'base' = Base mainnet, eip155:8453).one of base
registrystring
Which singleton to read (default 'identity').one of identity · reputation
onyx_perm_checkCheck whether an agent's proposed action stays inside its declared permission grant (allowed action, allowed merchant/domain, spend cap, rolling-window + velocity + per-counterparty budgets, expiry, principal, consent). Returns an Ed25519-signed IN_SCOPE / OUT_OF_SCOPE / UNDEC...3 params

Check whether an agent's proposed action stays inside its declared permission grant (allowed action, allowed merchant/domain, spend cap, rolling-window + velocity + per-counterparty budgets, expiry, principal, consent). Returns an Ed25519-signed IN_SCOPE / OUT_OF_SCOPE / UNDEC...

Parameters* required
action*object
The proposed action: {type, amount_usdc?, merchant?, domain?}
grant*object
The agent's permission grant (onyx-perm-grant/v0): allowed_actions, allowed_merchants, allowed_domains, spend_max_usdc, spend_window_usdc, spend_window_sec, velocity_max, per_counterparty_budget, p...
historyarray
Optional: recent settled actions for window/velocity checks, each {amount_usdc, ts (unix), counterparty?}. Stateless — the caller supplies the tally; the fact binds to it.
onyx_perm_grantMint a signed permission grant (onyx-perm-grant/v0) for an agent: a portable, Ed25519-notarized declaration of the scope it may act within (allowed_actions, allowed_merchants/domains, spend_max_usdc, principal, consent_ref, expires_at). Carry it on the agent card; evaluate act...13 params

Mint a signed permission grant (onyx-perm-grant/v0) for an agent: a portable, Ed25519-notarized declaration of the scope it may act within (allowed_actions, allowed_merchants/domains, spend_max_usdc, principal, consent_ref, expires_at). Carry it on the agent card; evaluate act...

Parameters* required
agent*string
Who is granted (did:pkh / wallet / agent id)
allowed_actionsarray
Subset of ['read', 'verify', 'transact', 'sign', 'negotiate', 'subscribe']; deny-by-default
allowed_domainsarray
allowed_merchantsarray
consent_refstring
Proof of consent (AP2 mandate id / signature hash)
expires_atinteger
Unix time the grant lapses
per_counterparty_budgetnumber
Max aggregate spend per single counterparty per window
principalstring
Who grants the authority (did / email / org)
purposestring
spend_max_usdcnumber
Hard ceiling per action
spend_window_secinteger
Window length in seconds (default 86400)
spend_window_usdcnumber
Optional rolling-window aggregate cap
velocity_maxinteger
Max number of transacts per window
onyx_security_flagsReturn the signed security posture of an agent: a list of OBSERVED, offline-verifiable security flags (insecure transport, no permission scope/principal/consent, no spend cap, unsigned identity, counterparty-blind, injection surface, unbounded skills). Pass an endpoint URL and...2 params

Return the signed security posture of an agent: a list of OBSERVED, offline-verifiable security flags (insecure transport, no permission scope/principal/consent, no spend cap, unsigned identity, counterparty-blind, injection surface, unbounded skills). Pass an endpoint URL and...

Parameters* required
agentobject
Optional: the agent's record (name, description, skills, and any permission fields) for a deeper scan
endpointstring
The agent's endpoint URL
onyx_payment_gatePre-payment clearance for agents. Call this BEFORE settling with a merchant over x402/AP2: give the merchant domain (optionally the amount and the price you expect to pay). Onyx assembles a single hard clearance — PROCEED / REVIEW / HOLD — from its Ed25519-signed observation l...5 params

Pre-payment clearance for agents. Call this BEFORE settling with a merchant over x402/AP2: give the merchant domain (optionally the amount and the price you expect to pay). Onyx assembles a single hard clearance — PROCEED / REVIEW / HOLD — from its Ed25519-signed observation l...

Parameters* required
amount_usdnumber
Optional amount you are about to pay (for the record; large amounts lower the auto-PROCEED bar).
brandstring
Optional brand the merchant CLAIMS to be (e.g. 'Russell & Bromley'). If a well-known brand is claimed on a freshly-registered domain, the clearance is HELD — the cloned-storefront pattern.
domain*string
Merchant domain or URL you are about to pay, e.g. shop.example.com
expected_pricenumber
Optional price you were quoted/expect. If the page shows a price, a large deviation downgrades the clearance.
product_urlstring
Optional specific product URL to read the observed price from.
onyx_preflightPreflight safety check for an x402-gated endpoint, BEFORE you pay it. Probes the URL live (~8s timeout), confirms it actually speaks x402 (a proper HTTP 402 with a parseable payment-requirements body — not a decoy demanding payment in prose), parses the advertised price to hum...2 params

Preflight safety check for an x402-gated endpoint, BEFORE you pay it. Probes the URL live (~8s timeout), confirms it actually speaks x402 (a proper HTTP 402 with a parseable payment-requirements body — not a decoy demanding payment in prose), parses the advertised price to hum...

Parameters* required
timeout_secondsnumber
Probe timeout in seconds. Clamped to [2, 15].default: 8
url*string
The x402-gated endpoint to preflight (http:// or https://).
onyx_research_intelResearch intel — has someone solved X already? Queries 240M+ academic works via OpenAlex (includes arXiv preprints, conference papers, journal articles), ranks by citation count + recency + relevance, returns top N papers with one-line abstract excerpts, citation counts, and a...5 params

Research intel — has someone solved X already? Queries 240M+ academic works via OpenAlex (includes arXiv preprints, conference papers, journal articles), ranks by citation count + recency + relevance, returns top N papers with one-line abstract excerpts, citation counts, and a...

Parameters* required
min_citationsinteger
Filter out papers with fewer than this many citations. Use 50+ to surface only well-known work.default: 0
query*string
Research question or keyword string. Plain English works; OpenAlex handles tokenization.
sort_bystring
Ranking. citations = highest cited first; recency = newest first; relevance = OpenAlex semantic match.one of relevance · citations · recencydefault: relevance
top_ninteger
How many papers to return.default: 5
year_frominteger
Optional: only return papers from this year onward.
onyx_retail_price_checkGround-truth retail oracle. Give a product URL; get the real current price, currency, and in-stock state as actually fetched now — with the extraction source (JSON-LD / OpenGraph / microdata) as evidence. Covers the long tail of no-API shops where agents otherwise hallucinate...2 params

Ground-truth retail oracle. Give a product URL; get the real current price, currency, and in-stock state as actually fetched now — with the extraction source (JSON-LD / OpenGraph / microdata) as evidence. Covers the long tail of no-API shops where agents otherwise hallucinate...

Parameters* required
expect_pricenumber
Optional. A price you believe is current. If given, the result includes matches_expected:bool + drift so a caller can detect a stale/hallucinated quote.
url*string
Full product page URL (http/https). The exact page whose price + availability you want observed.
rhinogent_identityRhinogent identity card: give a self-custody Base (EVM) address, get back a signed, verifiable identity — deterministic callsign, did:pkh, and the agent's earned 0n1x-Verified credential. Keys never leave the agent; this issues only the public signed identity. The front door o...1 params

Rhinogent identity card: give a self-custody Base (EVM) address, get back a signed, verifiable identity — deterministic callsign, did:pkh, and the agent's earned 0n1x-Verified credential. Keys never leave the agent; this issues only the public signed identity. The front door o...

Parameters* required
address*string
The agent's self-custody Base/EVM address, 0x-prefixed (42 chars).
rhinogent_mandateAuthor a signed spend mandate for an agent: per-action and rolling-window USDC caps, merchant/domain allowlists, velocity limit and expiry — issued as a signed PERM_v0 grant the agent adopts. 'Transacts autonomously, within the boundaries you define.' (price: $0.00 USDC, tier:...10 params

Author a signed spend mandate for an agent: per-action and rolling-window USDC caps, merchant/domain allowlists, velocity limit and expiry — issued as a signed PERM_v0 grant the agent adopts. 'Transacts autonomously, within the boundaries you define.' (price: $0.00 USDC, tier:...

Parameters* required
agent*string
Agent the mandate authorizes (address or callsign).
allowed_actionsarray
Permitted action verbs (deny by default).
allowed_domainsarray
Domain allowlist (deny by default).
allowed_merchantsarray
Merchant allowlist (deny by default).
daily_cap_usdcnumber
Rolling 24h aggregate cap (USDC).
expires_atinteger
Unix time the mandate lapses.
principalstring
Optional: the human/entity granting authority.
purposestring
Human-readable purpose of the mandate.
spend_max_usdcnumber
Hard ceiling per single action (USDC).
velocity_maxinteger
Max number of transactions per window.
rhinogent_verify_counterpartyKnow-your-counterparty for agents. Before your agent pays a merchant, get Ed25519-signed raw facts about who it's paying: domain registration age, live TLS cert, reachability + off-domain redirects, brand-impersonation similarity, and observed price vs expected. Facts only (ne...3 params

Know-your-counterparty for agents. Before your agent pays a merchant, get Ed25519-signed raw facts about who it's paying: domain registration age, live TLS cert, reachability + off-domain redirects, brand-impersonation similarity, and observed price vs expected. Facts only (ne...

Parameters* required
brandstring
Optional brand the storefront claims to be (enables the impersonation-similarity observation).
domain*string
Counterparty/storefront domain or URL the agent is about to pay.
expected_pricenumber | string
Optional price the agent expects to pay (enables the price-deviation observation).
onyx_secure_paymentSecure-transaction RAIL: one signed clearance before an agent sends funds. Give recipient + amount (and optionally a contract address or counterparty ERC-8004 agent id); Onyx runs the full security stack — recipient firewall, contract audit, counterparty reputation — and retur...4 params

Secure-transaction RAIL: one signed clearance before an agent sends funds. Give recipient + amount (and optionally a contract address or counterparty ERC-8004 agent id); Onyx runs the full security stack — recipient firewall, contract audit, counterparty reputation — and retur...

Parameters* required
amount_usdc*number
Amount about to be sent, in USDC. Drives both the risk threshold and the take-rate quote.
contract_addressstring
Optional. If the payment interacts with a contract, its 0x address — triggers a full contract audit.
counterparty_agent_idinteger
Optional. If paying another AI agent, its ERC-8004 id — triggers a reputation check.
recipient*string
0x recipient address the agent is about to pay (Base).
onyx_signature_guardPre-signature firewall for OFF-CHAIN drains — the check before your agent signs an EIP-712 typed-data message (Permit, Permit2, Seaport order). These drain a wallet with no on-chain approval: the signature itself is the authorization. Give the typed-data; Onyx identifies what...1 params

Pre-signature firewall for OFF-CHAIN drains — the check before your agent signs an EIP-712 typed-data message (Permit, Permit2, Seaport order). These drain a wallet with no on-chain approval: the signature itself is the authorization. Give the typed-data; Onyx identifies what...

Parameters* required
typed_data*object
The full EIP-712 typed-data object the agent is about to sign: {domain, primaryType, types, message}.
onyx_token_riskSigned token-security oracle. Give a token contract (and chain); get the real on-chain risk facts as read right now — honeypot status, buy/sell tax, mintable, ownership-reclaim, transfer-pausable, proxy, LP-lock, holder count — plus a transparent 0-100 risk score and verdict y...2 params

Signed token-security oracle. Give a token contract (and chain); get the real on-chain risk facts as read right now — honeypot status, buy/sell tax, mintable, ownership-reclaim, transfer-pausable, proxy, LP-lock, holder count — plus a transparent 0-100 risk score and verdict y...

Parameters* required
chainstring
Chain the token lives on. Name ('base','ethereum','bsc','polygon','arbitrum','optimism','avalanche') or numeric chain id. Default 'base'.default: base
contract*string
Token contract address (0x… 20-byte hex) to screen.
onyx_track_recordOnyx's measured precision — the proof no other x402 security tool can show. Returns a SIGNED summary of the verdict->outcome ledger: of every BLOCK Onyx issued, what fraction were confirmed real threats (block precision); of every ALLOW, what fraction later went bad (miss rate...1 params

Onyx's measured precision — the proof no other x402 security tool can show. Returns a SIGNED summary of the verdict->outcome ledger: of every BLOCK Onyx issued, what fraction were confirmed real threats (block precision); of every ALLOW, what fraction later went bad (miss rate...

Parameters* required
toolstring
Optional. Restrict the track record to one tool (e.g. onyx_tx_guard).
onyx_tx_guardPre-payment security firewall. Give the recipient address your agent is about to pay (Base); get a SIGNED ALLOW/REVIEW/BLOCK verdict + risk score from real on-chain checks: EOA-vs-contract, contract code/verification, account age (tx count), funding history, burn/null-address...2 params

Pre-payment security firewall. Give the recipient address your agent is about to pay (Base); get a SIGNED ALLOW/REVIEW/BLOCK verdict + risk score from real on-chain checks: EOA-vs-contract, contract code/verification, account age (tx count), funding history, burn/null-address...

Parameters* required
address*string
0x recipient address your agent is about to send funds to (Base mainnet).
amount_usdcnumber
Optional amount about to be sent (USDC). Larger amounts raise the review threshold.
onyx_tx_preflightUniversal pre-sign firewall — the check before your agent signs ANY transaction. Give the tx (to, data, value); Onyx decodes the 4-byte selector + args, tells you in plain terms what it does, and flags the wallet-drain patterns: unlimited approve(), setApprovalForAll (blanket...3 params

Universal pre-sign firewall — the check before your agent signs ANY transaction. Give the tx (to, data, value); Onyx decodes the 4-byte selector + args, tells you in plain terms what it does, and flags the wallet-drain patterns: unlimited approve(), setApprovalForAll (blanket...

Parameters* required
datastring
The transaction calldata (0x-hex). Omit/empty for a plain ETH transfer.
to*string
The transaction's `to` address (target contract or recipient). Required.
value_weistring
Optional. ETH value being sent, in wei (base-10 string).
onyx_verified_issueGet your domain Onyx Verified. Onyx runs its published objective checks (live TLS, reachability, no off-domain redirect, registration age disclosed) and, on pass, issues an Ed25519-signed verified record onto the public Observation Log — instantly queryable at /merchant/{domai...3 params

Get your domain Onyx Verified. Onyx runs its published objective checks (live TLS, reachability, no off-domain redirect, registration age disclosed) and, on pass, issues an Ed25519-signed verified record onto the public Observation Log — instantly queryable at /merchant/{domai...

Parameters* required
agent_idstring
Optional agent id to cross-link this verified domain to an agent identity.
contactstring
Optional contact (email/handle) recorded with the issuance for renewal notices.
domain*string
The domain to verify, e.g. shop.example.com (your storefront/agent endpoint).
onyx_verify_explainDiagnose a failing x402 v2 /verify. Decodes a captured X-PAYMENT header, runs 10 rules (decode, schema, network/asset/payTo match, value sufficiency, EIP-3009 timing, signature shape, scheme) against expected paymentRequirements, and returns the FIRST failing rule with a plain...4 params

Diagnose a failing x402 v2 /verify. Decodes a captured X-PAYMENT header, runs 10 rules (decode, schema, network/asset/payTo match, value sufficiency, EIP-3009 timing, signature shape, scheme) against expected paymentRequirements, and returns the FIRST failing rule with a plain...

Parameters* required
now_unixinteger
Override current unix time for replay/CI use. Defaults to now.
payment_payloadobject
Decoded payment payload dict. Use this OR x_payment_b64.
payment_requirements*object
Expected paymentRequirements from the 402 challenge ({scheme, network, payTo, asset, maxAmountRequired, maxTimeoutSeconds, ...}).
x_payment_b64string
Base64-encoded X-PAYMENT (v2 PAYMENT-SIGNATURE) header value. Optional if payment_payload provided.
onyx_x402_receipt_verifyVerify an x402 USDC settlement on Base or Base Sepolia. Given a tx hash, decodes the USDC Transfer log and confirms (or refutes) a claim of the form: 'tx X moved $Y USDC from A to B'. Returns success status, actual decoded values, and a clear discrepancy report if any field do...5 params

Verify an x402 USDC settlement on Base or Base Sepolia. Given a tx hash, decodes the USDC Transfer log and confirms (or refutes) a claim of the form: 'tx X moved $Y USDC from A to B'. Returns success status, actual decoded values, and a clear discrepancy report if any field do...

Parameters* required
expected_amount_usdcnumber
Optional. Expected USDC amount (whole USDC, not atomic). If provided, verifier checks Transfer.value matches (within 0.000001 tolerance).
expected_fromstring
Optional. Expected sender address (0x...). If provided, verifier checks Transfer.from matches.
expected_tostring
Optional. Expected recipient address (0x...). If provided, verifier checks Transfer.to matches.
networkstring
Chain to query. Must match where the tx was mined.one of base · base-sepoliadefault: base
tx_hash*string
0x-prefixed 32-byte tx hash to verify.

Sponsors

Readme

0n1x — Proof of Agent Execution

x402 ERC-8004 signed live


View the full README on GitHub

Details

Repository
github.com/dimitrilaouanis-tech/onyx-mcp
Website
onyx-actions.onrender.com
Transport
HTTP
Registry
MCP registry, active
Tools verified
Nov 6, 2026