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:
Is 0xd8da6bf2…6045 a wallet or a contract?
- Checked the address for contract code
- Paid $0.005
It's a contract. There are 23 bytes of code at that address, and it reports the ERC165 interface. It's not a token.
Paid from your TaskFuel balance · $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.
What's in the wallet behind vitalik.eth?
- Resolved vitalik.eth to 0xd8da6bf2…6045 ($0.005)
- Read live ETH, USDC, USDT and DAI balances ($0.003)
Right now, at the head of the chain:
| Token | Balance |
|---|---|
| ETH | 6.712150561938690 |
| USDC | 37.192124 |
| USDT | 290.368219 |
| DAI | 4.572078273 |
Paid from your TaskFuel balance · $0.008
$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.
Did transaction 0x41b5dcb0…c63c go through?
- Read the transaction receipt
- Paid $0.005
Yes. It succeeded and was confirmed in block 25,946,934, for about 0.000016 ETH in fees.
Paid from your TaskFuel balance · $0.005
The receipt’s status came back 0x1, which is success: 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:
How much USDC has 0x24039800…1955 let Permit2 spend?
- Read the USDC allowance for that owner and spender
- Paid $0.003
Effectively unlimited. The approval is still standing, at this raw amount (USDC has 6 decimals):
115792089237316195423570985008687907853269984665640564039457584007907133059393
Paid from your TaskFuel balance · $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.
For price series and market history alongside on-chain records, use the crypto market data guide. The bitcoin research example combines several sources around one question.
Connect your agent and the first $1 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.
