One address
Open this address in TraceFast →
One address as the chain sees it now: how it exists on chain, whether it holds code, its native balance and nonce, when it was first mentioned and last active in any form, and how many top-level transactions it sent and received.
It carries no names, labels or prices. What an address is comes from address attributes; what it holds, valued, from address portfolio.
GET https://tracefast.xyz/api/v1/chains/1/entities/{address}
| Parameter | In | Type | Notes |
|---|---|---|---|
address | path | string | 0x-prefixed, 40 hex characters, any case |
Access — an API key on the Enriched Data 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_entity_overview 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. The method takes no query parameters — an
unknown one is refused rather than ignored.
What it covers, and what it does not
- Two ways to exist. An
accounthas had its balance, nonce or code touched at least once. Astorage_onlyaddress is only ever mentioned by other operations — a token transfer party, a call target — and its own account state was never touched: no balance, no nonce, no code, ever. - Direct transactions only.
directTxCount,sentTxCountandreceivedTxCountcount top-level transactions. A contract reached through other contracts is almost absent from them: read them as "direct transactions", never as usage. For activity in any form, seelastActiveBlockor activity of an address. - EIP-7702 delegation, for accounts only.
eip7702says whether an account delegates its code, to which contract and since when. A contract cannot delegate, so the field is absent on one. - An address mentioned nowhere on chain answers
404, not a body of zeros.
Response
200 application/json:
{
"data": {
"chainId": 1,
"address": "0xf977814e90da44bfa03b6295a0616a897441acec",
"existenceKind": "account",
"accountType": "eoa",
"eip7702": {"state": "none", "delegationCount": 0, "delegateCount": 0, "coveredThroughBlock": 26227678},
"balanceWei": "419397734335154907220973",
"nonce": 20749,
"firstSeenBlock": 8115394,
"firstSeenTimestamp": 1562653163,
"lastActiveBlock": 26227406,
"lastActiveTimestamp": 1792422359,
"lastInteractionBlock": 26226826,
"lastInteractionTimestamp": 1792415375,
"createdAtBlock": 8117712,
"createdAtTimestamp": 1562683760,
"directTxCount": 21662,
"sentTxCount": 20749,
"receivedTxCount": 913,
"totalFeesPaidWei": "45988778131850989474",
"txStatsAsOfBlock": 26228070
},
"meta": {
"chain": "ethereum",
"timestamp": 1792432108622,
"cached": true,
"asOfBlock": 26228123,
"docs": "https://docs.tracefast.xyz/api/address"
}
}data
| Field | Meaning |
|---|---|
chainId | the chain the facts are about; 1 is Ethereum mainnet |
address | the address, lowercase |
existenceKind | account or storage_only — see above |
accountType | eoa (an externally owned account) or contract (code present). An account that delegates its code with EIP-7702 is eoa: its only code is the delegation designator. A storage_only address is always eoa: an account never touched never held code |
eip7702 | the account's EIP-7702 delegation — see below. Absent on a contract |
balanceWei | native balance in wei, a decimal string. Always "0" for a storage_only address |
nonce | the account's transaction count, as the protocol counts it |
firstSeenBlock | the first block that mentions the address anywhere on chain. Absent when it could not be resolved — never 0 |
firstSeenTimestamp | Unix time of firstSeenBlock, seconds |
lastActiveBlock | the newest block at which the address was active in any form: a top-level transaction, a token transfer, an emitted log, a value-bearing call. null only when nothing was observed on any source |
lastActiveTimestamp | Unix time of lastActiveBlock, seconds; null when the block is null or its time could not be resolved |
lastInteractionBlock | the newest top-level transaction with the address as sender or recipient. Absent when there is none — a contract reached only through other contracts has none |
lastInteractionTimestamp | Unix time of lastInteractionBlock, seconds |
createdAtBlock | the block the account was created at — its first account-state change. Absent for a storage_only address |
createdAtTimestamp | Unix time of createdAtBlock, seconds |
directTxCount | top-level transactions with the address as sender or recipient |
sentTxCount | top-level transactions sent by the address |
receivedTxCount | top-level transactions addressed to it |
totalFeesPaidWei | fees paid by the transactions the address sent, in wei, a decimal string |
txStatsAsOfBlock | the block the transaction counters were last computed at. It can trail meta.asOfBlock. Absent when the counters are plain zeros — no direct transaction was ever observed |
eip7702
| Field | Meaning |
|---|---|
state | delegated — the account delegates its code now; revoked — it did, and no longer does; none — it never has, as far as coveredThroughBlock; unknown — this could not be determined right now, which is not a statement that it never delegated |
delegate | with delegated: the contract the account's code points at, lowercase |
sinceBlock | with delegated: the block this delegation began. With revoked: the block the last one ended |
delegationCount | how many delegations the account has made in all |
delegateCount | to how many distinct contracts |
coveredThroughBlock | the block the account's delegation history is guaranteed complete through. Delegations after it can already be included in delegate, sinceBlock and both counts, but not all of them are promised to be. none is stated only up to this block. Absent with unknown |
A delegating account answers, for example:
"eip7702": {"state": "delegated", "delegate": "0x84d05511614272694d3a9cebe896514dbde51f40", "sinceBlock": 26227733, "delegationCount": 474543, "delegateCount": 393, "coveredThroughBlock": 26227678}Here sinceBlock is past coveredThroughBlock: the newest delegation is
already read, while the guarantee of a complete history stops a little earlier.
Each delegation is one EIP-7702 authorization: the entries themselves are in
authorizations of one block, and the timeline of
delegates in the relation history with
attributeId=relation:eip7702_delegates_to.
meta.asOfBlock is the block the answer as a whole is valid at. See
conventions for the rest of meta.
Errors
| Status | code | When | details |
|---|---|---|---|
| 404 | not_found | the address is mentioned nowhere on chain | — |
| 422 | block_not_available | recent blocks are in a coverage gap, and an address first seen in them cannot be confirmed right now; the message names the address ("the address 0x…, if it first appeared recently, …"). Retry later — this is not "does not exist" | reason: coverage_gap, coverageGapFromBlock, coverageGapToBlock, maxAvailableBlock |
| 404 | chain_not_supported | a chain id other than 1 | — |
Malformed input, unknown parameters and the key check's 401/403/429 are the same for every method — see conventions and API keys.
Related pages
- Activity of an address — first seen, last state change and last activity, by source
- Native balance history — how
balanceWeigot here, day by day - Address attributes — what the address is
- Accounts & Wallets — the same numbers, read in the app
Last updated 22 Oct 2026, 08:06 UTC · verified against TraceFast v1.0.261 · Markdown