Transactions API

Transactions that touched ZK-compressed state on Solana

The newest Solana transactions that touched ZK-compressed state: chain-wide, or for one compressed account, one address, or a wallet's compressed token accounts.

GET/api/external/transaction-analysis/compressed-signatures/{chain}

What it returns

Lists the transactions that read or wrote Solana ZK-compressed state, newest first, with their slot and block time. With no subject, the newest such transactions across the whole chain. Name at most ONE subject: hash for one compressed account by its leaf hash, address for a compressed address, or tokenOwner for every compressed TOKEN account a wallet owns — compressed accounts of that wallet that hold no token are not covered, and there is no mode for them. Two subjects are a 400. Pages with limit and cursor: keep passing cursor back until it is null. With hash there is no paging — a leaf hash names one version of an account, so its history is short and comes back whole — and limit or cursor is a 400. Rows carry no success or failure status: none is known here, so read one transaction through the single-transaction resource for that.

Chains

  • Solana SOL

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/transaction-analysis/compressed-signatures/SOL"
Parameters
ParameterDescription
hash

query · string · optional

A compressed account's leaf hash, base58. Answers the transactions that wrote or spent that one version of the account. Not combinable with limit or cursor.
address

query · string · optional

A compressed address, base58. Answers the transactions that touched the account at that address.
tokenOwner

query · string · optional

A wallet address, base58. Answers the transactions that touched any compressed token account the wallet owns. Compressed accounts that are not token accounts are not covered.
limit

query · integer · optional

How many transactions per page: 1 to 1000. Defaults to 50. Not accepted with hash. limit ≤ 200 keeps the answer under 32 KB.
cursor

query · string · optional

The cursor of a previous response, for the next page. Only meaningful with the same subject it was issued for; an empty one, or one over 256 characters, is a 400. Not accepted with hash.
chain

path · string · required

SOL. Every other chain returns 400: compressed accounts and compressed tokens are a Solana construct.

Response fields

A JSON response. Every field is always present; null means the value could not be established, never zero.

Response fields of Transactions that touched ZK-compressed state on Solana
FieldTypeDescription
slotintegerThe slot the compressed-state index answered at.
transactionsobject[]Newest first, in the order the index reports — never re-sorted here. Empty is a real answer: nothing compressed was touched for that subject.
transactions[].signaturestringThe transaction signature.
transactions[].slotintegerThe slot the transaction landed in.
transactions[].atinteger | nullUnix SECONDS of the block it landed in; null when no block time is known.
cursorstring | nullPass back as cursor for the next page. null on the last page, and always with hash.

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