Chains API
The ERC-4337 smart accounts on a chain, optionally one factory's
The chain's account-abstraction smart accounts by address, 50 per page, optionally only one factory's: factory, deployment, user-operation count and smart-account code.
/api/external/chain-analysis/smart-accounts/{chain}What it returns
The account-abstraction (ERC-4337) smart accounts that have sent user operations on one chain, ordered by address, 50 per page — all of them, or only those one factory deployed (factory). Each row gives the account, its factory and deployment, its user-operation count and the smart-account code it runs. The order is by address, not by age or activity. Keep passing nextCursor back as cursor until it is null. A factory that deployed nothing gets an empty list.
Chains
- Ethereum ETH
- Robinhood Chain RHC
- Optimism OP
- Scroll SCROLL
Request
Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.
curl -H "x-dex-data-key: $DEXDATA_API_KEY" \ "https://api.dexdata.io/api/external/chain-analysis/smart-accounts/ETH"
| Parameter | Description |
|---|---|
factoryquery · string · optional | Only the accounts this factory contract deployed: 0x followed by 40 hexadecimal characters. |
cursorquery · string · optional | An opaque cursor from a previous response's nextCursor, for the next page. It only pages the chain and factory it was issued for; an empty one, or one over 512 characters, is a 400 (enforced after the API-key gate). |
chainpath · string · required | RHC, ETH, OP and SCROLL only; every other chain returns 400. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
factory | string | null | The factory filter, lowercase; null when not filtered by one. |
accounts | object[] | Ascending by address. [] when nothing matched. |
accounts[].address | string | The smart account. |
accounts[].factory | string | null | The factory contract that deployed it; null when no factory did — typically an ordinary wallet that delegates to smart-account code (EIP-7702). |
accounts[].creationOperationHash | string | null | The user operation that deployed it; null when no factory did. |
accounts[].creationTransactionHash | string | null | The transaction that carried that deployment; null when no factory did. |
accounts[].creationTimestamp | integer | null | Unix seconds of the deployment; null when no factory did. |
accounts[].totalOperations | integer | The user operations it has sent on this chain. The same address on another chain is counted there. |
accounts[].implementations | object[] | The smart-account code it runs; [] when not known. |
accounts[].implementations[].address | string | The implementation contract. |
accounts[].implementations[].name | string | null | Its verified contract name, e.g. "Kernel"; null when not known. |
accounts[].proxyType | string | null | How it points at that code, e.g. "eip1967", "eip7702", "erc7760"; null when not known. |
nextCursor | string | null | Pass back as cursor for the next page. null on the last page. |
Start building with DexData today
Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.
Get a free API key