{"x402Version":2,"services":[{"resource":"https://onyx-actions.onrender.com/v1/onyx_agent_economy_index","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"250000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_agent_economy_index","description":"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 tiny x402 settlement (one small, shrinking lane) with the whole multi-billion economy. Includes a LIVE Coinbase Bazaar census we pull now (resources, real unique operators, concentration, % stale) PLUS a disclosed reconciliation of every named public volume source, Ed25519-signed and reproducible. Use before citing any agent-economy number in a deck, report, or decision.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_agent_economy_index","tier":"premium","price_usdc":"0.25","input_schema":{"type":"object","properties":{"max_pages":{"type":"integer","description":"Bazaar pages (100 resources each) to scan for the live census. Default 300 = full sweep (~28k). Lower it for a faster, sampled concentration read."}}}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"max_pages":{"type":"integer","description":"Bazaar pages (100 resources each) to scan for the live census. Default 300 = full sweep (~28k). Lower it for a faster, sampled concentration read."}}}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_agent_registry","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"50000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_agent_registry","description":"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 over. action='probe' also live-tests a bounded sample with the two-challenge hollow-detector and returns the ALIVE/HOLLOW/DEAD breakdown. Ed25519-signed, timestamped, recomputable. Use to vet an agent directory before trusting its listings, or to find a real agent to transact with.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_agent_registry","tier":"metered","price_usdc":"0.05","input_schema":{"type":"object","properties":{"action":{"type":"string","enum":["census","probe"],"description":"'census' = fast structural audit (no live calls). 'probe' = census + live hollow-detection on a sample.","default":"census"},"registry_url":{"type":"string","description":"Registry agents API. Default a2aregistry.org.","default":"https://www.a2aregistry.org/api/agents?limit=500"},"sample":{"type":"integer","description":"For action='probe': how many agents to live-test (bounded 1-12, default 5). Probed in listed order.","default":5}},"required":[]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"action":{"type":"string","enum":["census","probe"],"description":"'census' = fast structural audit (no live calls). 'probe' = census + live hollow-detection on a sample.","default":"census"},"registry_url":{"type":"string","description":"Registry agents API. Default a2aregistry.org.","default":"https://www.a2aregistry.org/api/agents?limit=500"},"sample":{"type":"integer","description":"For action='probe': how many agents to live-test (bounded 1-12, default 5). Probed in listed order.","default":5}},"required":[]}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_agent_verify","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"100000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_agent_verify","description":"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 doing nothing), or DEAD (no answer). Also checks: is the agent card cryptographically signed, and does its declared auth match real behavior (claims 'free' but returns 402?). Ed25519-signed verdict. Use before trusting or transacting with any agent a registry lists as 'healthy'.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_agent_verify","tier":"metered","price_usdc":"0.10","input_schema":{"type":"object","properties":{"target":{"type":"string","description":"The agent to verify: its A2A endpoint URL, or its /.well-known/agent-card.json URL, or its base origin."}},"required":["target"]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"target":{"type":"string","description":"The agent to verify: its A2A endpoint URL, or its /.well-known/agent-card.json URL, or its base origin."}},"required":["target"]}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_ai_visibility","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"200000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_ai_visibility","description":"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-voice vs competitors, the cited sources driving the narrative, and a 0-100 visibility score. The new SEO, as one per-call x402 tool. Never fabricated.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_ai_visibility","tier":"premium","price_usdc":"0.20","input_schema":{"type":"object","properties":{"brand":{"type":"string","description":"Brand, product, company, or entity to measure (e.g. 'Onyx Protocol', 'Stripe')."},"category":{"type":"string","description":"Optional product category for the recommendation-set probe (e.g. 'AI agent payment rails', 'running shoes'). Drives the 'best <category>' query."},"competitors":{"type":"array","items":{"type":"string"},"description":"Optional competitor names to compute share-of-voice against."}},"required":["brand"]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"brand":{"type":"string","description":"Brand, product, company, or entity to measure (e.g. 'Onyx Protocol', 'Stripe')."},"category":{"type":"string","description":"Optional product category for the recommendation-set probe (e.g. 'AI agent payment rails', 'running shoes'). Drives the 'best <category>' query."},"competitors":{"type":"array","items":{"type":"string"},"description":"Optional competitor names to compute share-of-voice against."}},"required":["brand"]}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_contract_audit","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"500000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_contract_audit","description":"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 fees), AND flags the live on-chain risks a static audit misses — upgradeable proxies (owner can swap logic post-audit) and self-destructed contracts. Optional Claude deep-pass for novel bugs. Returns ALLOW/REVIEW/BLOCK + 0-100 risk score, every finding Ed25519-signed. Cheaper than a manual audit, and unlike one it audits the contract as actually deployed.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_contract_audit","tier":"metered","price_usdc":"0.50","input_schema":{"type":"object","properties":{"address":{"type":"string","description":"Contract address on Base mainnet (0x... 20-byte hex)."},"deep":{"type":"boolean","default":true,"description":"Run the optional AI deep-pass for novel/business-logic bugs (only fires if the server has an AI key configured; degrades gracefully otherwise)."}},"required":["address"]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"address":{"type":"string","description":"Contract address on Base mainnet (0x... 20-byte hex)."},"deep":{"type":"boolean","default":true,"description":"Run the optional AI deep-pass for novel/business-logic bugs (only fires if the server has an AI key configured; degrades gracefully otherwise)."}},"required":["address"]}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_merchant_fact_check","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"250000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_merchant_fact_check","description":"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, brand-name similarity score with lookalike-token flags, and observed page price vs your expectation. Facts only, method disclosed per field — Onyx never asserts 'legit' or 'scam'; the signature proves the observation is genuine and untampered.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_merchant_fact_check","tier":"premium","price_usdc":"0.25","input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"Storefront domain or URL, e.g. brand-outlet-sale.com or https://shop.example.com/p/1"},"brand":{"type":"string","description":"Optional brand name you believe this storefront represents (e.g. 'Russell & Bromley'). Enables the brand-similarity observation."},"expected_price":{"type":"number","description":"Optional price you were quoted/expect. If the page shows a price, the deviation percentage is reported as a fact."},"product_url":{"type":"string","description":"Optional specific product URL to extract the observed price from (defaults to the domain root)."}},"required":["domain"]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"domain":{"type":"string","description":"Storefront domain or URL, e.g. brand-outlet-sale.com or https://shop.example.com/p/1"},"brand":{"type":"string","description":"Optional brand name you believe this storefront represents (e.g. 'Russell & Bromley'). Enables the brand-similarity observation."},"expected_price":{"type":"number","description":"Optional price you were quoted/expect. If the page shows a price, the deviation percentage is reported as a fact."},"product_url":{"type":"string","description":"Optional specific product URL to extract the observed price from (defaults to the domain root)."}},"required":["domain"]}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_aeo_score","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"500000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_aeo_score","description":"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% confidence interval, PUBLISHED weights, presence rate, position-weighted share-of-voice vs competitors, citation rate, sentiment, and every cited source. Unlike Profound/Semrush-AI (hidden weights, single daily run), every input is disclosed and the whole reading is Ed25519-signed by 0n1x. Never fabricated.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_aeo_score","tier":"premium","price_usdc":"0.50","input_schema":{"type":"object","properties":{"brand":{"type":"string","description":"Brand, product, protocol, or agent to score (e.g. '0n1x', 'Stripe')."},"category":{"type":"string","description":"Category for the buyer-intent prompts (e.g. 'agent trust layer', 'payment processors'). Drives the 'best <category>' / 'verify before pay' style queries."},"domain":{"type":"string","description":"Optional canonical domain (e.g. '0n1x.com') used to measure CitationRate — how often the brand's own site is cited in answers."},"competitors":{"type":"array","items":{"type":"string"},"description":"Optional competitor names for position-weighted share-of-voice."},"runs":{"type":"integer","description":"Runs per prompt (default 3, max 5). More runs = tighter confidence interval on the score."},"aliases":{"type":"array","items":{"type":"string"},"description":"Optional alternate names that count as the brand (e.g. ['Onyx'] for a rename). Any alias match = brand present."}},"required":["brand"]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"brand":{"type":"string","description":"Brand, product, protocol, or agent to score (e.g. '0n1x', 'Stripe')."},"category":{"type":"string","description":"Category for the buyer-intent prompts (e.g. 'agent trust layer', 'payment processors'). Drives the 'best <category>' / 'verify before pay' style queries."},"domain":{"type":"string","description":"Optional canonical domain (e.g. '0n1x.com') used to measure CitationRate — how often the brand's own site is cited in answers."},"competitors":{"type":"array","items":{"type":"string"},"description":"Optional competitor names for position-weighted share-of-voice."},"runs":{"type":"integer","description":"Runs per prompt (default 3, max 5). More runs = tighter confidence interval on the score."},"aliases":{"type":"array","items":{"type":"string"},"description":"Optional alternate names that count as the brand (e.g. ['Onyx'] for a rename). Any alias match = brand present."}},"required":["brand"]}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_research_intel","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"50000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_research_intel","description":"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 author names. Built for autonomous agents that need to check prior art before burning cycles re-deriving a known result. Fallback to Semantic Scholar.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_research_intel","tier":"metered","price_usdc":"0.05","input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Research question or keyword string. Plain English works; OpenAlex handles tokenization."},"top_n":{"type":"integer","minimum":1,"maximum":20,"default":5,"description":"How many papers to return."},"min_citations":{"type":"integer","minimum":0,"default":0,"description":"Filter out papers with fewer than this many citations. Use 50+ to surface only well-known work."},"year_from":{"type":"integer","minimum":1900,"maximum":2100,"description":"Optional: only return papers from this year onward."},"sort_by":{"type":"string","enum":["relevance","citations","recency"],"default":"relevance","description":"Ranking. citations = highest cited first; recency = newest first; relevance = OpenAlex semantic match."}},"required":["query"]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"query":{"type":"string","description":"Research question or keyword string. Plain English works; OpenAlex handles tokenization."},"top_n":{"type":"integer","minimum":1,"maximum":20,"default":5,"description":"How many papers to return."},"min_citations":{"type":"integer","minimum":0,"default":0,"description":"Filter out papers with fewer than this many citations. Use 50+ to surface only well-known work."},"year_from":{"type":"integer","minimum":1900,"maximum":2100,"description":"Optional: only return papers from this year onward."},"sort_by":{"type":"string","enum":["relevance","citations","recency"],"default":"relevance","description":"Ranking. citations = highest cited first; recency = newest first; relevance = OpenAlex semantic match."}},"required":["query"]}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_retail_price_check","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"20000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_retail_price_check","description":"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 prices. Never guesses: returns price=None with confidence='none' when the page exposes no machine-readable price. Use before an agent quotes, compares, or transacts on a price it would otherwise invent.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_retail_price_check","tier":"metered","price_usdc":"0.02","input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Full product page URL (http/https). The exact page whose price + availability you want observed."},"expect_price":{"type":"number","description":"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."}},"required":["url"]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"url":{"type":"string","description":"Full product page URL (http/https). The exact page whose price + availability you want observed."},"expect_price":{"type":"number","description":"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."}},"required":["url"]}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_secure_payment","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"250000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_secure_payment","description":"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 returns a single PASS / REVIEW / FAIL verdict + risk score, plus the Onyx take-rate quote (bps of value secured). Ed25519-signed so the clearance is provable. The check a serious agent runs before moving real money. Onyx never takes custody.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_secure_payment","tier":"premium","price_usdc":"0.25","input_schema":{"type":"object","properties":{"recipient":{"type":"string","description":"0x recipient address the agent is about to pay (Base)."},"amount_usdc":{"type":"number","description":"Amount about to be sent, in USDC. Drives both the risk threshold and the take-rate quote."},"contract_address":{"type":"string","description":"Optional. If the payment interacts with a contract, its 0x address — triggers a full contract audit."},"counterparty_agent_id":{"type":"integer","description":"Optional. If paying another AI agent, its ERC-8004 id — triggers a reputation check."}},"required":["recipient","amount_usdc"]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"recipient":{"type":"string","description":"0x recipient address the agent is about to pay (Base)."},"amount_usdc":{"type":"number","description":"Amount about to be sent, in USDC. Drives both the risk threshold and the take-rate quote."},"contract_address":{"type":"string","description":"Optional. If the payment interacts with a contract, its 0x address — triggers a full contract audit."},"counterparty_agent_id":{"type":"integer","description":"Optional. If paying another AI agent, its ERC-8004 id — triggers a reputation check."}},"required":["recipient","amount_usdc"]}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_signature_guard","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"100000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_signature_guard","description":"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 it authorizes, flags unlimited token-permit values, EOA/unverified spenders, NFT-order signatures, and bad deadlines, and returns a SIGNED ALLOW/REVIEW/BLOCK + plain-English explanation. Covers the #2 wallet-drain vector that on-chain tx checks miss entirely.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_signature_guard","tier":"metered","price_usdc":"0.10","input_schema":{"type":"object","properties":{"typed_data":{"type":"object","description":"The full EIP-712 typed-data object the agent is about to sign: {domain, primaryType, types, message}."}},"required":["typed_data"]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"typed_data":{"type":"object","description":"The full EIP-712 typed-data object the agent is about to sign: {domain, primaryType, types, message}."}},"required":["typed_data"]}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_token_risk","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"100000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_token_risk","description":"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 you can recompute from the itemized factors. Ed25519-signed + timestamped so an agent can PROVE it screened a token before buying. Use before any agent swaps into or quotes an ERC-20 it didn't issue.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_token_risk","tier":"metered","price_usdc":"0.10","input_schema":{"type":"object","properties":{"contract":{"type":"string","description":"Token contract address (0x… 20-byte hex) to screen."},"chain":{"type":"string","description":"Chain the token lives on. Name ('base','ethereum','bsc','polygon','arbitrum','optimism','avalanche') or numeric chain id. Default 'base'.","default":"base"}},"required":["contract"]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"contract":{"type":"string","description":"Token contract address (0x… 20-byte hex) to screen."},"chain":{"type":"string","description":"Chain the token lives on. Name ('base','ethereum','bsc','polygon','arbitrum','optimism','avalanche') or numeric chain id. Default 'base'.","default":"base"}},"required":["contract"]}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_tx_guard","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"100000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_tx_guard","description":"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 guard, and sink/honeypot heuristics. Catches paying a brand-new, unverified, or drain-shaped recipient BEFORE the money leaves. Never guesses — every field is observed on-chain and Ed25519-signed.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_tx_guard","tier":"metered","price_usdc":"0.10","input_schema":{"type":"object","properties":{"address":{"type":"string","description":"0x recipient address your agent is about to send funds to (Base mainnet)."},"amount_usdc":{"type":"number","description":"Optional amount about to be sent (USDC). Larger amounts raise the review threshold."}},"required":["address"]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"address":{"type":"string","description":"0x recipient address your agent is about to send funds to (Base mainnet)."},"amount_usdc":{"type":"number","description":"Optional amount about to be sent (USDC). Larger amounts raise the review threshold."}},"required":["address"]}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_tx_preflight","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"100000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_tx_preflight","description":"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 NFT approval), transfers to fresh/EOA recipients, raw ETH sends to unknown addresses, and calls to unverified targets. Returns a SIGNED ALLOW/REVIEW/BLOCK + human explanation. The single highest-frequency safety gate an on-chain agent has — every signed tx should pass through it.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_tx_preflight","tier":"metered","price_usdc":"0.10","input_schema":{"type":"object","properties":{"to":{"type":"string","description":"The transaction's `to` address (target contract or recipient). Required."},"data":{"type":"string","description":"The transaction calldata (0x-hex). Omit/empty for a plain ETH transfer."},"value_wei":{"type":"string","description":"Optional. ETH value being sent, in wei (base-10 string)."}},"required":["to"]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"to":{"type":"string","description":"The transaction's `to` address (target contract or recipient). Required."},"data":{"type":"string","description":"The transaction calldata (0x-hex). Omit/empty for a plain ETH transfer."},"value_wei":{"type":"string","description":"Optional. ETH value being sent, in wei (base-10 string)."}},"required":["to"]}},"output":{"type":"object","schema":{"type":"object"}}}}}},{"resource":"https://onyx-actions.onrender.com/v1/onyx_verified_issue","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","maxAmountRequired":"2000000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x3fD9ee1373562f894D322B37DFFAd7a5D2b2d78f","resource":"https://onyx-actions.onrender.com/v1/onyx_verified_issue","description":"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/{domain} — plus a live badge (served by Onyx, so it can't be faked or staled) and a machine-readable status URL agents check before they pay you. Valid 90 days, renewable. This attests your domain PASSED published checks, like a CA certificate — Onyx never claims you are 'honest' or 'safe'; the value is a neutral, verifiable, public presence agents can trust.","mimeType":"application/json","outputSchema":{"type":"object"},"maxTimeoutSeconds":60,"extra":{"name":"onyx_verified_issue","tier":"premium","price_usdc":"2.00","input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"The domain to verify, e.g. shop.example.com (your storefront/agent endpoint)."},"contact":{"type":"string","description":"Optional contact (email/handle) recorded with the issuance for renewal notices."},"agent_id":{"type":"string","description":"Optional agent id to cross-link this verified domain to an agent identity."}},"required":["domain"]}}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"type":"object","properties":{"domain":{"type":"string","description":"The domain to verify, e.g. shop.example.com (your storefront/agent endpoint)."},"contact":{"type":"string","description":"Optional contact (email/handle) recorded with the issuance for renewal notices."},"agent_id":{"type":"string","description":"Optional agent id to cross-link this verified domain to an agent identity."}},"required":["domain"]}},"output":{"type":"object","schema":{"type":"object"}}}}}}],"facilitator":"https://facilitator.xpay.sh"}