Skip to content
Back to Obol

Card snapshot

obol.danieldutoit.net · 2026-10-05 17:49:03 UTC · b5035fecf64a672149b7f66cd528ce85f898aba873e15affe7c420cc600a036c

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.

{
  "name": "Obol",
  "description": "Verified blockchain-data lookups, paid per request with USDC on Base.",
  "url": "https://obol.danieldutoit.net",
  "version": "0.1.0",
  "protocolVersion": "0.3.0",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "base-address-snapshot",
      "name": "Base address snapshot",
      "description": "Return ETH and canonical Base USDC balances at one observed block with two-provider consistency metadata. Costs 0.001 USDC over x402.",
      "tags": [
        "base",
        "usdc",
        "balance",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/base/address-snapshot?address=0x..."
      ]
    },
    {
      "id": "sanctions-address-screening",
      "name": "Sanctions address screening",
      "description": "Check an exact blockchain address against public-source EU, OFAC, and UK wallet observations. Entity names are omitted. Costs 0.005 USDC over x402.",
      "tags": [
        "sanctions",
        "compliance",
        "address",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/sanctions/address-screening?address=0x..."
      ]
    },
    {
      "id": "kraken-candles",
      "name": "Kraken candles",
      "description": "Return up to 100 newest historical Kraken OHLCV candles for an exact period/base/quote tuple. Costs 0.001 USDC over x402.",
      "tags": [
        "kraken",
        "ohlcv",
        "markets",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/markets/kraken/candles?period=60&base=BTC&quote=USD&limit=10"
      ]
    },
    {
      "id": "latest-btc-usd-candle",
      "name": "Latest Kraken BTC/USD candle",
      "description": "Return the newest Kraken 60-second BTC/USD OHLCV candle. Costs 0.001 USDC over x402 and requires no parameters.",
      "tags": [
        "kraken",
        "btc-usd",
        "ohlcv",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/markets/btc-usd/latest-candle"
      ]
    },
    {
      "id": "latest-eth-usd-candle",
      "name": "Latest Kraken ETH/USD candle",
      "description": "Return the newest Kraken 60-second ETH/USD OHLCV candle. Costs 0.001 USDC over x402 and requires no parameters.",
      "tags": [
        "kraken",
        "eth-usd",
        "ohlcv",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/markets/eth-usd/latest-candle"
      ]
    },
    {
      "id": "kraken-orderbook-top",
      "name": "Kraken top-of-book snapshot",
      "description": "Return the best bid, best ask, and spread percentage for one exact historical timestamp/base/quote key. Costs 0.001 USDC over x402.",
      "tags": [
        "kraken",
        "orderbook",
        "markets",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/markets/kraken/orderbook-top?timestamp=1788962867&base=BTC&quote=USD"
      ]
    },
    {
      "id": "multi-exchange-orderbook-top",
      "name": "Multi-exchange top-of-book snapshot",
      "description": "Return one normalized best bid, best ask, and spread percentage snapshot or exact miss for an exact allowlisted exchange/timestamp/base/quote key. Costs 0.001 USDC over x402.",
      "tags": [
        "exchanges",
        "orderbook",
        "markets",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/markets/orderbook-top?exchange=COINBASE&timestamp=1788962867&base=BTC&quote=USD"
      ]
    },
    {
      "id": "multi-exchange-candles",
      "name": "Multi-exchange candles",
      "description": "Return up to 100 newest historical OHLCV candles for an exact exchange/period/base/quote tuple. Costs 0.001 USDC over x402.",
      "tags": [
        "exchanges",
        "ohlcv",
        "markets",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/markets/candles?exchange=KRAKEN&period=60&base=BTC&quote=USD&limit=10"
      ]
    },
    {
      "id": "bitcoin-address-cluster",
      "name": "Bitcoin address cluster",
      "description": "Return one heuristic public-chain cluster assignment for an exact Bitcoin address. Costs 0.003 USDC over x402.",
      "tags": [
        "bitcoin",
        "clustering",
        "address",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/bitcoin/address-cluster?address=1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp"
      ]
    },
    {
      "id": "bitcoin-cash-address-cluster",
      "name": "Bitcoin Cash address cluster",
      "description": "Return one heuristic public-chain cluster assignment for an exact Bitcoin Cash address. Costs 0.003 USDC over x402.",
      "tags": [
        "bitcoin-cash",
        "clustering",
        "address",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/bitcoin-cash/address-cluster?address=1BpEi6DfDAUFd7GtittLSdBeYJvcoaVggu"
      ]
    },
    {
      "id": "dogecoin-address-cluster",
      "name": "Dogecoin address cluster",
      "description": "Return one heuristic public-chain cluster assignment for an exact Dogecoin address. Costs 0.003 USDC over x402.",
      "tags": [
        "dogecoin",
        "clustering",
        "address",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/dogecoin/address-cluster?address=D5EQRCnPMXmRvUoZwC7gu7fYspean3PQ9a"
      ]
    },
    {
      "id": "litecoin-address-cluster",
      "name": "Litecoin address cluster",
      "description": "Return one heuristic public-chain cluster assignment for an exact Litecoin Base58Check address. Costs 0.003 USDC over x402.",
      "tags": [
        "litecoin",
        "clustering",
        "address",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/litecoin/address-cluster?address=La11a9B6w6dykTnst5MZAy78DfiAmUVL8G"
      ]
    },
    {
      "id": "cardano-transaction",
      "name": "Cardano transaction",
      "description": "Return one bounded Cardano mainnet transaction and its block fields for an exact 64-character hexadecimal hash. Costs 0.003 USDC over x402.",
      "tags": [
        "cardano",
        "transaction",
        "block",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/cardano/transaction?hash=a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0"
      ]
    },
    {
      "id": "cardano-stake-rewards",
      "name": "Cardano stake rewards",
      "description": "Return up to 100 newest Cardano mainnet stake rewards for an exact stake address, reward type, and earned-epoch range of at most 1,000. Costs 0.003 USDC over x402.",
      "tags": [
        "cardano",
        "staking",
        "rewards",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/cardano/stake-rewards?stake_address=stake1uyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqg6jacpu&reward_type=member&earned_epoch_min=1000&earned_epoch_max=2000"
      ]
    },
    {
      "id": "solana-transaction",
      "name": "Solana transaction",
      "description": "Return one bounded public Solana mainnet transaction for an exact canonical base58 signature and slot. Costs 0.003 USDC over x402.",
      "tags": [
        "solana",
        "transaction",
        "slot",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/solana/transaction?signature=1111111111111111111111111111111111111111111111111111111111111111&slot=42"
      ]
    },
    {
      "id": "xrp-transaction",
      "name": "XRP transaction",
      "description": "Return one bounded public XRP mainnet transaction for an exact hash, ledger number, and transaction index. Costs 0.003 USDC over x402.",
      "tags": [
        "xrp",
        "transaction",
        "ledger",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/xrp/transaction?transaction_hash=a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0&block_number=103400001&tx_index=7"
      ]
    },
    {
      "id": "ethereum-address-cluster",
      "name": "Ethereum address cluster",
      "description": "Return up to 10 newest heuristic public-chain cluster assignments for one exact Ethereum address. Clustering is not proof of ownership or identity. Costs 0.003 USDC over x402.",
      "tags": [
        "ethereum",
        "address",
        "clustering",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/ethereum/address-cluster?address=0x00000000000062c6e2195ae26dff3b084c5c3938"
      ]
    },
    {
      "id": "ethereum-complex-flow",
      "name": "Ethereum complex flow",
      "description": "Return up to 100 newest public aggregate flow observations for one exact Ethereum address pair, asset, and block range of at most 100,000 blocks. Costs 0.003 USDC over x402.",
      "tags": [
        "ethereum",
        "flow",
        "aggregate",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/ethereum/complex-flow?from_address=0x0000000000000000000000000000000000000000&to_address=0x0000000000000000000000000000000000000000&asset=0x0030b738bc1de21c93ca066340f74a952881e0a4&block_number_min=17783798&block_number_max=17883798"
      ]
    },
    {
      "id": "arbitrum-token-transfers",
      "name": "Arbitrum token transfers",
      "description": "Return up to 100 newest public Arbitrum token transfers for one exact asset and block range of at most 100,000 blocks. Costs 0.003 USDC over x402.",
      "tags": [
        "arbitrum",
        "token",
        "transfers",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/arbitrum/token-transfers?asset=0x0030b738bc1de21c93ca066340f74a952881e0a4&block_number_min=17783798&block_number_max=17883798"
      ]
    },
    {
      "id": "address-labels",
      "name": "Hit-conditional address labels",
      "description": "Check exact Ethereum, Bitcoin, or Tron addresses against public-source labels. Misses are free; known hits cost 0.001 USDC over x402.",
      "tags": [
        "ethereum",
        "bitcoin",
        "tron",
        "labels",
        "x402"
      ],
      "examples": [
        "GET https://obol.danieldutoit.net/v1/address-labels?chain=ethereum&address=0x..."
      ]
    }
  ]
}