Skip to content
TraceFast Docs

Accounts touched by one block

Open this block in TraceFast →

Every account whose own state — native balance, nonce or code — changed in one block, with what changed, the native balance before and after, and whether the account was created in that block, in address order. Each account appears once per block, whatever it did. New to account state? See accounts on ethereum.org.

GET https://tracefast.xyz/api/v1/chains/1/blocks/{number}/addresses
ParameterInTypeNotes
numberpathintegerblock height, 0 or more
limitqueryinteger, optional1..100, default 25
cursorquerystring, optionalnextCursor of the previous page, unchanged

Access — an API key on the Intelligence plan or higher (plans), or no key at all: pay per call with x402 at the same path on https://mpp.tracefast.xyz/api/v1, at the price its 402 states. As a tool for AI agents: get_block_addresses on the MCP server. Stable — see stability.

chains/1 is a literal: the method serves Ethereum mainnet data. Other chain ids answer 404 chain_not_supported. There are no other parameters — an unknown one is refused rather than ignored.

What it covers, and what it does not

  • An account's own state, not every address the block mentions. An address that only appears in the block's activity without a change to its own balance, nonce or code is not listed. A token recipient is the common case: a token balance lives in the token contract's storage, so receiving a token changes the contract, not the recipient's account.
  • Native ETH only. beforeBalanceWei and afterBalanceWei are the account's ETH balance; token balances are in portfolio of an address.
  • A created account has no "before". beforeBalanceWei is absent when the account had no prior state — never 0 in its place.
  • Served to the chain head. An empty list means no account changed its state in the block. A block above the head does not exist yet and answers 404 not_found; see data freshness.

Response

200 application/json, here for block 25925120 with ?limit=2:

{
  "data": {
    "blockNumber": 25925120,
    "addressCount": 571,
    "addresses": [
      {
        "address": "0x000000000004444c5dc75cb358380d2e3de08a90",
        "balanceChanged": true,
        "nonceChanged": false,
        "codeChanged": false,
        "created": false,
        "beforeBalanceWei": "48532889754720940802674",
        "afterBalanceWei": "48533260914605007691802"
      },
      {
        "address": "0x000000000121d39fc0e48f7aa4fa1fbb819c377c",
        "balanceChanged": true,
        "nonceChanged": true,
        "codeChanged": false,
        "created": false,
        "beforeBalanceWei": "9632548936220112",
        "afterBalanceWei": "9619528124678892"
      }
    ],
    "nextCursor": "AVsyNTkyNTEyMCwiMDAwMDAwMDAwMTIxZDM5ZmMwZTQ4ZjdhYTRmYTFmYmI4MTljMzc3YyJdEAnWvzAN2zXLfb6xxzu1lw"
  },
  "meta": {
    "chain": "ethereum",
    "timestamp": 1789067462204,
    "cached": false,
    "asOfBlock": 25925120,
    "docs": "https://docs.tracefast.xyz/api/block-addresses"
  }
}

data

FieldMeaning
blockNumberthe block these accounts were touched in
addressCounthow many accounts the block touched in total, not on this page
addresses[]this page, in address order
nextCursorcursor for the next page. Absent on the last page

An account

FieldMeaning
addressthe account, lowercase
balanceChangedtrue when its native balance changed in the block
nonceChangedtrue when its nonce changed — it sent a transaction, or, for a contract, created one
codeChangedtrue when its code changed — deployed, or set by an EIP-7702 delegation
createdtrue when the account was created in this block
beforeBalanceWeinative balance before the block, wei, as a decimal string. Absent when the account had no prior state
afterBalanceWeinative balance at the end of the block, wei, as a decimal string

Pagination

Keyset pagination: pass nextCursor back as cursor, with the same number, until the response carries no nextCursor. A cursor is valid only for this method and this block; anything else answers 400 invalid_cursor — restart from the first page. See pagination.

Errors

StatuscodeWhendetails
400bad_requestnumber is not a non-negative integerreason: block_number_invalid
400bad_requestlimit outside 1..100reason: limit_out_of_range, limit, maxLimit
400invalid_cursorthe cursor was not issued for this request—
404not_foundthe block is above the chain head — it does not exist yet—
422block_not_availablethe block sits in a coverage gap; it exists, ask again laterreason: coverage_gap, coverageGapFromBlock, coverageGapToBlock, maxAvailableBlock
503service_unavailablethe block is outside the range that can be read right now, and that range's edge could not be read; retry with backoff—

Malformed input, unknown parameters and the key check's 401/403/429 are the same for every method — see conventions and API keys.


Last updated 22 Oct 2026, 08:06 UTC · verified against TraceFast v1.0.261 · Markdown