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.

GET/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"
Parameters
ParameterDescription
factory

query · string · optional

Only the accounts this factory contract deployed: 0x followed by 40 hexadecimal characters.
cursor

query · 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).
chain

path · 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.

Response fields of The ERC-4337 smart accounts on a chain, optionally one factory's
FieldTypeDescription
factorystring | nullThe factory filter, lowercase; null when not filtered by one.
accountsobject[]Ascending by address. [] when nothing matched.
accounts[].addressstringThe smart account.
accounts[].factorystring | nullThe factory contract that deployed it; null when no factory did — typically an ordinary wallet that delegates to smart-account code (EIP-7702).
accounts[].creationOperationHashstring | nullThe user operation that deployed it; null when no factory did.
accounts[].creationTransactionHashstring | nullThe transaction that carried that deployment; null when no factory did.
accounts[].creationTimestampinteger | nullUnix seconds of the deployment; null when no factory did.
accounts[].totalOperationsintegerThe user operations it has sent on this chain. The same address on another chain is counted there.
accounts[].implementationsobject[]The smart-account code it runs; [] when not known.
accounts[].implementations[].addressstringThe implementation contract.
accounts[].implementations[].namestring | nullIts verified contract name, e.g. "Kernel"; null when not known.
accounts[].proxyTypestring | nullHow it points at that code, e.g. "eip1967", "eip7702", "erc7760"; null when not known.
nextCursorstring | nullPass 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