Card snapshot
router.mudko.com
·
2026-07-17 15:13:42 UTC
·
ea4bf6f088cd9328c72cb3a4e55a91a4a101170df9f6ee8e4bc6589fff7cde07
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"protocolVersion": "0.3.0",
"name": "OnRamperX",
"description": "Non-custodial value router for humans and AI agents. Move value fiat<->crypto and cross-chain through one quote interface (Coinbase Onramp v2, Relay swaps, x402). The platform routes value; it never holds funds.",
"version": "0.1.0",
"url": "https://router.mudko.com/api/a2a",
"documentationUrl": "https://router.mudko.com/.well-known/api-catalog",
"provider": {
"organization": "OnRamperX",
"url": "https://router.mudko.com"
},
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": false,
"markdownNegotiation": true,
"apiDiscovery": true,
"mcpTools": true,
"agentSkills": true,
"extensions": [
{
"uri": "https://x402.org",
"description": "Agent-payable via x402 (USDC on Base). Pay for a ranked routing quote at /api/x402/quote; the crawlable listing is at /api/x402/route.",
"required": false,
"params": {
"discovery": "https://router.mudko.com/.well-known/x402",
"network": "base"
}
}
]
},
"defaultInputModes": [
"text/plain",
"application/json"
],
"defaultOutputModes": [
"application/json",
"text/markdown"
],
"interfaces": [
{
"name": "mcp",
"transport": "streamable-http",
"url": "https://router.mudko.com/api/mcp",
"protocolVersion": "2025-06-18"
}
],
"supportedInterfaces": [
{
"name": "a2a",
"transport": "JSONRPC",
"url": "https://router.mudko.com/api/a2a"
},
{
"name": "mcp",
"transport": "streamable-http",
"url": "https://router.mudko.com/api/mcp"
}
],
"securitySchemes": {
"none": {
"type": "none",
"description": "Public, unauthenticated resource. Rate-limited per IP. Paid routing quotes settle via x402 (USDC on Base)."
}
},
"skills": [
{
"id": "get-route-quote",
"name": "Get a ranked value-routing quote",
"description": "Use this when a human or agent wants the best non-custodial way to move value between fiat and crypto (or crypto to crypto) \u2014 returns ranked rails with fees, ETA, KYC burden, limits, and reasoning.",
"tags": [
"routing",
"quote",
"non-custodial"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "create-swap",
"name": "Create a crypto swap (Relay)",
"description": "Use this to swap any token on any chain into USDC on Base via Relay \u2014 returns a headless deposit address (no signing) or an on-chain intent; app fees accrue on swaps.",
"tags": [
"swap",
"relay",
"usdc",
"base"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "check-swap",
"name": "Check a swap + fee collection",
"description": "Use this to check a Relay swap's status by requestId and confirm app-fee collection (appFees vs paidAppFees).",
"tags": [
"swap",
"relay",
"status"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "create-onramp-session",
"name": "Create a US card onramp session (HITL)",
"description": "Use this when a US user wants to buy USDC on Base with a card / Apple Pay / Google Pay \u2014 returns a payment link a HUMAN must physically tap (fiat legs cannot be programmatically triggered); a human is notified.",
"tags": [
"onramp",
"fiat",
"coinbase",
"human-in-the-loop"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "provision-wallet",
"name": "Provision a gasless Base wallet",
"description": "Use this to create a gasless, non-custodial CDP Embedded Wallet address on Base (TEE keys, user-exportable) to receive routed value.",
"tags": [
"wallet",
"base",
"non-custodial",
"embedded"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
}
],
"preferredTransport": "JSONRPC"
}