OneSource - Pay-per-call Ethereum RPC for Agents — MPP Grade B
Compliance Checks
1 issue
- OpenAPI doc exceeds 64KB limit (106598 bytes)
Paid Operations (25)
GET /api/chain/allowance dynamic
Returns how much of an ERC20 token a spender is approved to transfer from an owner via eth_call on allowance(owner, spender). Use before calling transferFrom, or to audit outstanding approvals for security review.
- Amount
- map[amount:0.003 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.003 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contract | query | string | Yes | ERC20 contract address |
| owner | query | string | Yes | Token owner address |
| spender | query | string | Yes | Approved spender address |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/block-number dynamic
Returns the latest mined Ethereum block height via eth_blockNumber against a live node. No caching - every call queries the upstream RPC fresh. Use this to sync an agent to the chain tip, to detect progress or stalls, or as a cheap liveness ping before issuing more expensive RPC calls.
- Amount
- map[amount:0.001 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.001 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| network | query | string | No | Blockchain network (currently only "ethereum" mainnet) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/block/{number} dynamic
Returns the block header plus its transaction hashes for a given block number, tag (latest, pending, safe, finalized), or hex block number via eth_getBlockByNumber. Live from the upstream RPC node.
- Amount
- map[amount:0.003 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.003 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| number | path | Yes | Block number (hex or decimal) | |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
POST /api/chain/call dynamic
Simulates a contract read via eth_call - returns the raw ABI-encoded result without submitting a transaction. Pass 'to' (contract address) and 'data' (ABI-encoded calldata); optional 'from', 'value', and 'block' override the caller, msg.value, and block tag.
- Amount
- map[amount:0.005 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.005 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| network | query | string | No | Blockchain network |
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| data | string | Yes | ABI-encoded call data (hex) |
| from | string | No | Caller address (optional) |
| to | string | Yes | Target contract address |
| value | string | No | ETH value in wei (hex, optional) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/chain-id dynamic
Returns the EIP-155 chain ID via eth_chainId, queried live from the upstream RPC node. Verify a backend is serving the expected chain before signing an EIP-155 transaction.
- Amount
- map[amount:0.001 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.001 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/code/{address} dynamic
Returns the deployed bytecode at an address via eth_getCode. Empty bytecode means the address is an EOA (wallet); non-empty means it's a contract. Response includes a bytecode_size field for quick classification.
- Amount
- map[amount:0.003 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.003 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| address | path | string | Yes | Contract or wallet address |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/contract/{address} dynamic
Introspects a contract via eth_call - probes name(), symbol(), decimals(), and supportsInterface() to report what token standards (ERC20, ERC721, ERC1155) the contract claims to implement. Ideal for classifying an unknown contract.
- Amount
- map[amount:0.005 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.005 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| address | path | string | Yes | Contract address |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/ens/{input} dynamic
Resolves a *.eth ENS name to its address (forward lookup) or an address to its primary ENS name (reverse lookup) via eth_call on the ENS Registry and Resolver contracts. Auto-detects direction from the input format.
- Amount
- map[amount:0.005 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.005 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| input | path | Yes | ENS name (e.g. vitalik.eth) or address (0x...) | |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/erc1155-balance dynamic
Fetches an account's balance of a specific ERC1155 token_id by eth_call-ing balanceOf(address, uint256). Supports any ERC1155 contract - gaming items, editions, semi-fungible assets.
- Amount
- map[amount:0.003 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.003 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| address | query | string | Yes | Wallet address |
| contract | query | string | Yes | ERC1155 contract address |
| token_id | query | string | Yes | Token ID |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/erc20-balance dynamic
Fetches an account's balance of a specific ERC20 token by eth_call-ing balanceOf(address). Returns the raw balance plus the token's decimals and symbol for convenience. Works for any ERC20 contract.
- Amount
- map[amount:0.003 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.003 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| address | query | string | Yes | Wallet address |
| contract | query | string | Yes | ERC20 contract address |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/erc20-transfers dynamic
Specialized eth_getLogs query that filters on the ERC20 Transfer(address,address,uint256) topic and optionally narrows to a token contract or a specific wallet (sender or recipient). Decodes the indexed from/to and raw value.
- Amount
- map[amount:0.005 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.005 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contract | query | string | No | ERC20 contract address |
| address | query | string | No | Wallet address filter |
| from_block | query | No | Start block | |
| to_block | query | No | End block | |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/erc721-tokens dynamic
Lists every ERC721 token_id held by an owner by combining balanceOf(owner) with tokenOfOwnerByIndex(owner, i) across a batched set of eth_call requests. Requires the contract to implement the ERC721Enumerable extension.
- Amount
- map[amount:0.008 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.008 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contract | query | string | Yes | ERC721 contract address |
| address | query | string | Yes | Wallet address to enumerate tokens for |
| max | query | integer | No | Max tokens to return (default 50) |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
POST /api/chain/estimate-gas dynamic
Estimates the gas a transaction would consume via eth_estimateGas. Accepts the same 'to', 'data', 'from', 'value' fields as /call. A failing estimate usually means the transaction would revert - use this to pre-flight a complex interaction before paying gas.
- Amount
- map[amount:0.004 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.004 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| network | query | string | No | Blockchain network |
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| data | string | No | ABI-encoded call data (hex, optional) |
| from | string | No | Sender address (optional) |
| to | string | No | Target address |
| value | string | No | ETH value in wei (hex, optional) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/events dynamic
Queries contract event logs via eth_getLogs with optional filters on contract address, topic0 (event signature hash), and block range. Returns the raw logs - address, topics, data, block_number, tx_hash.
- Amount
- map[amount:0.005 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.005 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contract | query | string | No | Contract address filter |
| topic | query | string | No | Topic0 filter (event signature hash) |
| from_block | query | No | Start block | |
| to_block | query | No | End block | |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/live-balance dynamic
Fetches the wallet's native ETH balance (eth_getBalance) and, when you pass a comma-separated list of ERC20 contract addresses in the optional 'tokens' param, batches a balanceOf eth_call per token alongside symbol() and decimals(). Returns a single snapshot of ETH plus any requested token balances. Live from the upstream RPC node.
- Amount
- map[amount:0.003 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.003 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| address | query | string | Yes | Wallet address |
| tokens | query | string | No | Comma-separated ERC20 contract addresses |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/network-info dynamic
Batches eth_chainId, eth_blockNumber, and eth_gasPrice into a single round-trip to the upstream RPC node. Use this instead of three separate calls when bootstrapping an agent, probing liveness, or pre-flighting a transaction.
- Amount
- map[amount:0.001 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.001 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/nft-metadata dynamic
Calls tokenURI(tokenId) (ERC721) or uri(tokenId) (ERC1155) via eth_call, resolves ipfs:// URIs through a gateway, and returns the resolved metadata JSON alongside the raw URI. Works for most compliant NFT contracts.
- Amount
- map[amount:0.008 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.008 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contract | query | string | Yes | NFT contract address |
| token_id | query | string | Yes | Token ID |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/nft-owner dynamic
Returns the current owner of a specific ERC721 NFT via eth_call on ownerOf(tokenId). Reverts for unminted or burned token IDs - the error surfaces as an RPC error.
- Amount
- map[amount:0.003 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.003 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contract | query | string | Yes | NFT contract address |
| token_id | query | string | Yes | Token ID |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/nonce/{address} dynamic
Returns the number of transactions sent from this address via eth_getTransactionCount. Pass block="pending" (default) for the next-nonce an EIP-1559 or legacy transaction should use, or a confirmed tag for historical nonces. Use this to build a correctly-nonced transaction or to diagnose stuck transactions.
- Amount
- map[amount:0.003 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.003 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| address | path | string | Yes | Wallet address |
| block | query | No | Block tag (default: "pending") | |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/pending dynamic
Returns the pending block as seen by the upstream RPC node - transactions that are in the mempool but not yet included on-chain, via eth_getBlockByNumber("pending"). Use this to monitor unconfirmed activity, spot front-running risk, or peek at what a node plans to mine next.
- Amount
- map[amount:0.010 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.010 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/proxy/{address} dynamic
Reads well-known proxy storage slots via eth_getStorageAt to detect EIP-1967, UUPS, and Transparent proxy patterns, and returns the current implementation address. Also surfaces the admin slot when present.
- Amount
- map[amount:0.005 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.005 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| address | path | string | Yes | Proxy contract address |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/receipt/{hash} dynamic
Returns the mined transaction receipt - status (success/failed), gas used, effective gas price, emitted event logs, and block inclusion data - via eth_getTransactionReceipt. Returns null if the transaction is pending or unknown to the node.
- Amount
- map[amount:0.005 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.005 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| hash | path | string | Yes | Transaction hash |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/storage dynamic
Reads a 32-byte storage slot directly from a contract's storage via eth_getStorageAt. Useful for inspecting EIP-1967 proxy implementation slots, packed variables, and storage layouts that aren't exposed through a public function.
- Amount
- map[amount:0.005 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.005 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contract | query | string | Yes | Contract address |
| slot | query | string | Yes | Storage slot (hex) |
| block | query | No | Block tag (default: "latest") | |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/total-supply dynamic
Returns the total supply of a token contract via eth_call on totalSupply(). Works for ERC20 (raw token units) and ERC721 (count of minted NFTs) contracts that implement the standard.
- Amount
- map[amount:0.003 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.003 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| contract | query | string | Yes | Token contract address |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
GET /api/chain/tx/{hash} dynamic
Returns the full transaction object - from, to, value, gas, nonce, calldata, block inclusion - via eth_getTransactionByHash. Returns null if the transaction is pending eviction or unknown to the node.
- Amount
- map[amount:0.008 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
payTo: 0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea price: map[amount:0.008 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]] map[mpp:map[currency:0x20c0000000000000000000000000000000000000 intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| hash | path | string | Yes | Transaction hash |
| network | query | string | No | Blockchain network |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| data | object | Response payload |
| error | [object null] | - |
| meta | object | - |
Payment Methods
- Methods
- tempo (from challenge)
- Intents
- charge (from challenge)
- Currencies (discovery)
- -
- Currency (challenge)
- pathUSD on Tempo Mainnet Presto (Tempo Mainnet Presto)
- Multiple Challenges
- Yes
Recipients
- 0x19B8e99079A5558ff4460357b0a78e14a7F600B7
Per-endpoint breakdown
- GET /api/chain/allowance
- 0x19B8e99079A5558ff4460357b0a78e14a7F600B7
- GET /api/chain/block-number
- 0x19B8e99079A5558ff4460357b0a78e14a7F600B7
- GET /api/chain/block/{number}
- 0x19B8e99079A5558ff4460357b0a78e14a7F600B7
- GET /api/chain/chain-id
- 0x19B8e99079A5558ff4460357b0a78e14a7F600B7
- GET /api/chain/code/{address}
- 0x19B8e99079A5558ff4460357b0a78e14a7F600B7
- POST /api/chain/call
- 0x19B8e99079A5558ff4460357b0a78e14a7F600B7
Security
- TLS Version
- TLSv1.2
- Challenge ID Unique
- Yes
- Challenge ID Length
- 43
- Digest Binding
- -
Uptime
- Discovery
- Reachable (876ms)
- Challenge
- Reachable (562ms)
- Last Checked
Schema Completeness
- Paid Operations
- 25
- With Input Schema
- 2
- With Description
- 25
23 missing schema
- GET /api/chain/allowance
- GET /api/chain/block-number
- GET /api/chain/block/{number}
- GET /api/chain/chain-id
- GET /api/chain/code/{address}
- GET /api/chain/contract/{address}
- GET /api/chain/ens/{input}
- GET /api/chain/erc1155-balance
- GET /api/chain/erc20-balance
- GET /api/chain/erc20-transfers
- GET /api/chain/erc721-tokens
- GET /api/chain/events
- GET /api/chain/live-balance
- GET /api/chain/network-info
- GET /api/chain/nft-metadata
- GET /api/chain/nft-owner
- GET /api/chain/nonce/{address}
- GET /api/chain/pending
- GET /api/chain/proxy/{address}
- GET /api/chain/receipt/{hash}
- GET /api/chain/storage
- GET /api/chain/total-supply
- GET /api/chain/tx/{hash}
Documentation
- Homepage
- https://onesource.io
- API Reference
- https://skills.onesource.io/openapi.json
- llms.txt
- -
Discovery
- OpenAPI URL
- https://skills.onesource.io/openapi.json
- OpenAPI Version
- 3.1.0
- Service Version
- 1.0.0
- Document Size
- 106598 bytes
- Document Hash
- 262352495f35c7e19a2dce9f1b5ad6d76356f0fb3c81c686e411219ae64daf3e
Version History (1 snapshots)
- document hash changed (no semantic differences detected)
Scan snapshots
| Date | Grade | Score | Response | Status |
|---|---|---|---|---|
| 2026-05-06 | B | 81% | 874ms | Up |