Ethereum mainnet and Sepolia testnet RPC for AI agents, served from OneSource-operated nodes. Live block, balance, contract, NFT, transaction, and event data. Pay per call or use batch/session mode — USDC on Base via x402, or pathUSD/USDC.e on Tempo via MPP. No API keys required.
Price
from $0.0010
up to $0.0100 per request
Network
base
Category
ai
On-chain txns
335
Uptime
100%
Avg latency
523ms
Checks
94
Status
Healthy
Discovered from on-chain x402 payment activity. Prices shown are per-call in USDC.
ERC20 allowance via allowance (eth_call) - how much a spender is approved to move from an owner's wallet
Latest Ethereum block height - current chain tip via eth_blockNumber
Fetch an Ethereum block header and transaction hashes by number, tag, or hex via eth_getBlockByNumber
Simulate a read-only Ethereum contract call via eth_call - no transaction sent
Ethereum chain ID (EIP-155) via eth_chainId - confirm which chain a network is on
Check if an Ethereum address is a contract via eth_getCode - returns deployed bytecode
Contract introspection via eth_call - name, symbol, decimals, and ERC20/721/1155 interface support
ENS resolve - turn a .eth name into an address, or an address into its primary .eth name, via eth_call on OneSource live Ethereum RPC
ERC1155 token balance via balanceOf (eth_call) - how many copies of a token_id a wallet holds
ERC20 token balance for any Ethereum wallet - USDC, USDT, DAI, or any token - via balanceOf (eth_call) on OneSource live Ethereum RPC
ERC20 Transfer logs via eth_getLogs - decoded sender, recipient, and amount for a token or wallet
List every ERC721 NFT token_id a wallet owns in a collection via tokenOfOwnerByIndex (eth_call)
Estimate the gas a transaction will consume via eth_estimateGas before signing it
Query Ethereum contract event logs via eth_getLogs - filter by contract, topic, and block range
Live wallet balance - native ETH plus any ERC20 tokens in one call via eth_getBalance and balanceOf on OneSource Ethereum RPC
Ethereum network info - chain ID, block height, and gas price in one batched RPC call (eth_chainId + eth_blockNumber + eth_gasPrice)
NFT metadata, traits, and image URI for any ERC721 or ERC1155 token - fetched via eth_call with IPFS resolution (OneSource live Ethereum RPC)
Look up the current owner of an ERC721 NFT by token_id via ownerOf (eth_call)
Next transaction nonce for any Ethereum wallet via eth_getTransactionCount - how many txs it has sent
Pending Ethereum block - mempool transactions not yet mined, via eth_getBlockByNumber("pending")
Detect upgradeable proxy patterns (EIP-1967, UUPS, Transparent) via eth_getStorageAt - returns the implementation address behind a proxy
Transaction receipt via eth_getTransactionReceipt - status, gas, and event logs for a mined Ethereum transaction
Read a raw storage slot from any Ethereum contract via eth_getStorageAt
Total supply of an ERC20 or ERC721 token contract via totalSupply (eth_call)
Full Ethereum transaction details by hash via eth_getTransactionByHash - from, to, value, calldata, block
# one-time setup
npx @apihubio/cli register
npx @apihubio/cli topup 10
# call it
npx @apihubio/cli call https://skills.onesource.io \
-X POST \
-d '{ /* check provider docs for input */ }'
# or save it to Claude/Cursor/Codex
npx @apihubio/cli install
npx @apihubio/cli add https://skills.onesource.ioimport { wrapFetchWithPayment } from "@x402/fetch";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";
const account = privateKeyToAccount("0xYOUR_PRIVATE_KEY");
const client = createWalletClient({ account, chain: base, transport: http() });
const x402Fetch = wrapFetchWithPayment(client);
const res = await x402Fetch("https://skills.onesource.io", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ /* check provider docs for input */ }),
});
const data = await res.json();This is an external service not operated by APIHub. Listing data is sourced from public on-chain records and third-party indexes. Payment goes directly to the service provider via the x402 protocol. APIHub does not guarantee availability, accuracy, or quality of external services.