Ask your agent what is in a wallet and it will tell you something. It cannot look, so what comes back is whatever that address looked like when the model was trained, said in the same even tone as a fact.
Here is the version that catches people out. Take
0xd8da6bf2…6045, one of the most written-about addresses on Ethereum, and ask
whether it is a wallet or a contract. For most of that address’s life the answer
was wallet, so that is what a model learned. Half a cent says otherwise:
→ GET /api/chain/contract/0xd8da6bf2…6045
{ "is_contract": true, "code_length": 23,
"is_erc20": false, "is_erc721": false,
"is_erc165": true, "interfaces": ["ERC165"] }
paid $0.005
That answer came from OneSource.io, one of the chain-data providers in the
catalog. Twenty-three bytes of code, sitting at an address everyone calls a
wallet. Fetch them for another $0.003 and they read 0xef0100
followed by a second address, which is a delegation: that account runs someone
else’s code now. Nothing about the model’s answer was careless. It was just
old, and from the outside there was no way to tell.
What is in the wallet behind a name?
On-chain questions usually start with something a person typed, and people type names rather than addresses. Two calls turn one into the other and then read what is actually there.
→ GET /api/chain/ens/vitalik.eth
{ "address": "0xd8da6bf2…6045", "is_forward": true }
paid $0.005
→ GET /api/chain/live-balance?address=0xd8da6bf2…6045&tokens=<3 contracts>
ETH 6.712150561938690
USDC 37.192124
USDT 290.368219
DAI 4.572078273
paid $0.003
$0.008 for the pair, and those numbers are from the head of the chain rather than from an index that last ran an hour ago. The endpoint returns hex quantities and the decimals to divide them by, so your agent does the arithmetic. Do it by hand against the wrong decimals and you are out by orders of magnitude.
Whether that head is worth trusting is another $0.001. network-info came back
with a nine second old block and stale: false. Had it come back stale, an
agent would know to stop rather than reason confidently over an hour-old block.
Did the transaction go through?
Hand it a transaction hash. Either the chain has a receipt for that hash or it does not, and if it does, the receipt says whether the transaction succeeded or reverted.
→ GET /api/chain/receipt/0x41b5dcb0…c63c
{ "status": "0x1", "blockNumber": "0x18beb36",
"gasUsed": "0x3dfaf", "effectiveGasPrice": "0x3cc50bf" }
paid $0.005
status: 0x1 is success, confirmed in block 25,946,934: 253,871 gas at 0.064
gwei, so about 0.000016 ETH in fees. A 0x0 would mean the transaction was
mined and then reverted, which still costs gas and looks the same from outside
until you read the receipt.
Half a cent, instead of your agent telling you to go and look for yourself.
Starting from a wallet instead of a hash is another $0.005. One call returns the
raw Transfer logs for a token, an address, or a block range, and that is where
the hash above came from.
Check the address before acting on it
Someone pastes a token address into a chat and asks what it is worth. Before your agent quotes a price or drafts a transfer, that same half-cent contract lookup tells it whether there is code at the address at all and, when the code is a token, what it calls itself and how many decimals it uses. It is a preflight rather than an audit, and it catches the plain mistakes: an address with nothing behind it, or a contract answering to a different interface than the one you assumed.
The other half of that question is what a wallet has already let someone else spend. An approval is a standing permission: sign it once, and the spender can move that much of your tokens whenever it wants, until you take it back. Here is a live one on a different address, for $0.003:
→ GET /api/chain/allowance?contract=<USDC>&owner=0x24039800…1955&spender=<Permit2>
symbol USDC
decimals 6
allowance 115792089237316195423570985008687907853269984665640564039457584007907133059393
paid $0.003
That is 2 to the 256 minus one, minus 5,996,580,542. At six decimals, that gap
is 5,996.58 USDC. Someone approved an unlimited spend once, it is still
standing, and there is nothing unusual about that. To find out whether the gap
is money that actually moved, your agent can pull the Transfer logs for the
same owner and spender.
Here is an ENS name. Resolve it, read its ETH plus USDC, USDT and DAI balances, then check the resolved address for contract code and tell me what is there. Show me what each call cost.
Eight calls. Three cents. One balance.
Every price on this page is what the balance was actually charged, and your agent can read each one off the endpoint before it commits. Add them up and the page comes to three cents. There is no RPC provider to sign up with, no free tier to outgrow and no key to rotate.
Every OneSource.io endpoint here sits in the catalog already, so your agent can find one, quote it and pay for it inside one run without stopping to ask you for anything.
Your agent can already reason about the chain. Let it read the chain too.
Connect your agent and the first $5 is on us.
These eight calls are a fraction of what the catalog holds for chain data.
Search the TaskFuel catalog for every endpoint that reads blockchain data. Group them by the question each one answers, show me what each costs, and pay for nothing yet.
