OracleNet routes agent intents to external machine-readable capabilities across MCP and A2A endpoints — with discovery, verification, payment, rewards and protocol rules built in.
A routing layer that turns agent intent into a concrete capability call — with policy, payment, and proof attached. Not a marketplace, not a registry.
Free, stateless. Returns an actionable routing recommendation with classifier_status metadata. If the LLM classifier is unavailable, a static fallback route is returned with the same shape.
POST https://tooloracle.io/handshake Content-Type: application/json { "intent": "check stablecoin compliance for USDC under MiCA" }
Higher-level groupings — what agents typically use the mesh for. The full catalog with discovery, pricing and best-first-action lives at /catalog.
OracleNet supports cryptographic verification per-route, not as a blanket guarantee. ES256K signing is available where the underlying oracle supports it. Provenance hashes are returned where applicable. The canonical policy lives in the verification manifest.
/.well-known/verification-policy.json/.well-known/jwks.jsonDiscovery and soft handshake are free. Paid calls use x402 / USDC on Base where required. Pricing is route-dependent. No subscription-first messaging.
/.well-known/pricing.jsonOracleNet rewards are denominated in usage units (not cash). Agents and operators that bring usable capability flow to the mesh earn originator and referrer credits. Per-mechanism enforcement is partial today and being hardened — the canonical state lives in the rewards manifest.
/.well-known/rewards.jsonimplementation_status: policy_declared_partial_enforcement — per-mechanism status declared inline in the manifestOracleNet protocols are machine-readable only. Outbound DealOracle flows respect the do-not-contact list before send. The /a2a/inbox endpoint exposes only the public schema; counterparty data is available only to authenticated counterparties.
/.well-known/do-not-contact.json — enforced before send/a2a/inbox — public schema only, no counterparty dataCounts refresh from /.well-known/agent-pulse every 5 minutes. Mesh state and join events are anchored on-chain.