Screening

Follow value through a DEX or aggregator

Net balance change per address and asset inside one transaction, with the beneficiaries of any swap flagged.

This is how a trace continues through a decentralised exchange without decoding the exchange. An address that ends the transaction having sent one asset and received a DIFFERENT one is the party the swap was for, whatever router or aggregator sat in between, so the walk resumes from it. Pools, wrapper contracts and relayers fall out of the same arithmetic without being named anywhere.

delta_raw is a signed integer in the asset's smallest unit, as a string. asset is null for the chain's native coin, which covers both plain transfers and internal calls.

Ethereum and BSC only. Some chains need block_number alongside the hash to resolve it at all; the response says so with a 422.

post/v1/swap-through

Request

  • Base URL: https://intelapi.publicaml.org
  • URL: https://intelapi.publicaml.org/v1/swap-through
  • Auth: one of:
    • API key in header X-API-Key
    • none

Request body

tx_hashstring required

0x-prefixed EVM transaction hash.

chain'bitcoin' | 'ethereum' | 'bsc' | 'tron' required

Which blockchain the address belongs to. Send one of the four values in the enum. The short forms used by the older clients (ETH, BTC, TRX, BNB) and any capitalisation are still accepted, but responses always echo the canonical spelling.

Getting this wrong is the single commonest integration bug: the same 0x-prefixed address exists on ethereum, bsc and tron and means a different wallet on each, so the chain is part of the identity, never a hint. If it does not match the address format the call fails with invalid_address_format, which names the chain the address does look like.

block_numberinteger

Required on chains that cannot resolve a bare hash — see the 422.

Response

Net deltas for the transaction.

tx_hashstring
chainstring
foundboolean
block_numberinteger
edge_countinteger
participant_countinteger
swap_beneficiariesstring[]

Addresses that sent one asset and received another.

participantsobject[]

Each carries address, swap_beneficiary, assets_sent, assets_received and deltas[] of {asset, symbol, decimals, delta_raw}.

warningsstring[]

Present when the edge set hit its cap and the deltas are partial.

Changes

No recorded changes to this operation across all 1 revision of this API.