Blog

Guides

Step-by-step recipes for reading onchain data: fixing a specific error you hit, or pulling a specific value out of a protocol like Aave, Uniswap, or Chainlink. Copy the snippet, adapt the address, move on.

Aave V3 health factor — getUserAccountData fields, base-currency decimals, and the infinite health case
GuideAugust 5, 2026

Aave V3 Health Factor Explained: getUserAccountData, Decimals, and the Infinite Health Case

Decode Aave V3's getUserAccountData correctly: six struct fields, three decimal scales, and why a zero-debt wallet returns a healthFactor near 1.16e59.

Using Chainlink price feeds correctly: staleness, sequencer uptime, and decimals normalization
GuideAugust 5, 2026

Using Chainlink Price Feeds Correctly: Staleness, Sequencer Uptime, and Decimals

The three checks a Chainlink price feed integration needs to be correct: staleness against the heartbeat, Base sequencer uptime, and decimals normalization without hardcoding 8.

Fixing the could not decode result data (0x) error in Ethers and viem
GuideAugust 5, 2026

Fixing "could not decode result data (value="0x")" in Ethers and Viem

Ethers and viem throw could not decode result data (value=0x) for four real reasons, from unresolved proxies to wrong chains. Diagnose each one and fix it fast.

ERC-8004 trustless agents — query the Identity and Reputation registries with evmquery
GuideAugust 5, 2026

ERC-8004 Explained: Query Onchain AI Agent Identity and Reputation with a REST Call

ERC-8004 gives AI agents a portable onchain identity and reputation record. Query the live Identity and Reputation registries with evmquery — no ABI, no SDK.

Why an eth_call loop hits 429 rate limits, and how Multicall3 fixes it
GuideAugust 5, 2026

Why Your eth_call Loop Hits 429s (and How Multicall3 Fixes It)

A loop of eth_call calls works fine in dev, then throws 429 in production. Here's the real free-tier RPC limit behind it, and how Multicall3 fixes it.

Uniswap V3 pool data via REST API — sqrtPriceX96 to ETH price in one call
GuideJune 5, 2026

Uniswap V3 Pool Data Without the SDK: Price, Liquidity, and Fees in One REST Call

Read sqrtPriceX96, tick, liquidity, and fee tier from any Uniswap V3 pool with a single POST request. No SDK, no ABI files, no RPC provider required.

Multi-wallet ERC-20 balance scanning with TypeScript REST API — no Viem, no RPC node
GuideApril 26, 2026

Multi-Wallet ERC-20 Balance Scanning from TypeScript: No ABIs, No RPC, No Viem

Scan ERC-20 token balances for many wallets, across Ethereum, Base, BNB Chain, and Polygon, using TypeScript fetch. No Viem, no ABI files, no RPC provider needed.

Blockchain monitoring in Python: EVM contract polling with evmquery
GuideApril 25, 2026

Blockchain Monitoring in Python: Poll EVM Contract State Without the Boilerplate

How to write a Python script that polls EVM contract state (Aave health factors, ERC-20 balances, multi-wallet checks) using evmquery's REST API. No ABIs, no ABI decoders, no Multicall3 setup.

Blockchain indexers guide — The Graph vs direct contract reads
GuideApril 24, 2026

Blockchain Indexers in 2026: The Graph, Goldsky, and When to Skip the Index Entirely

When The Graph wins and when a direct contract query is faster. A practical guide to blockchain indexers with TypeScript examples for ERC-20, Uniswap v3, and DeFi.