ERC20 Token Transfers

Track transfers of ERC20 tokens including stablecoins (USDT, USDC, DAI) and other tokens.

Endpoint: GET /v1/erc20/events/transfer

Supported Networks: ETH, POLYGON, ARB, OP, BASE, BSC, AVAX

Parameters:

ParameterTypeRequiredDescription
tokenstringYesToken symbol (e.g., USDT) or contract address (e.g., 0x...). Case-insensitive for symbols (usdt, Usdt, USDT are equivalent).
decimalsintegerNoToken decimals when using custom address (default: 18)
min_amountnumberNoMinimum transfer amount (in token units)
max_amountnumberNoMaximum transfer amount (0 = no limit)
senderstringNoFilter by sender address
receiverstringNoFilter by receiver address
involvingstringNoFilter by address involved as either sender OR receiver. Mutually exclusive with sender and receiver.
involving_labelstringNoFilter where any address matches a label substring (e.g., Binance). Mutually exclusive with involving, `sender,receiver`.
involving_categorystringNoFilter where any address matches a category (e.g., exchange). Mutually exclusive with involving, `sender,receiver`.
sender_labelstringNoFilter sender by label substring. Mutually exclusive with sender, sender_category, `involving`.*
sender_categorystringNoFilter sender by category. Mutually exclusive with sender, sender_label, `involving`.*
receiver_labelstringNoFilter receiver by label substring. Mutually exclusive with receiver, receiver_category, `involving`.*
receiver_categorystringNoFilter receiver by category. Mutually exclusive with receiver, receiver_label, `involving`.*

Supported Tokens:

The API supports a wide range of ERC20 tokens including major stablecoins (USDT, USDC, DAI, USDE, etc.) and other tokens. You can also track any ERC20 token by providing its contract address directly.

To get the full list of supported token symbols, call the List Tokens discovery endpoint:

curl -H "X-API-Key: $API_KEY" 
  "https://api.defistream.dev/v1/tokens"

Sample Results:

block_numbertokensenderreceiveramounttime
24000000USDT0x2158…a6a90x8b07…1d4d28.02025-12-13T00:06:11Z
24000000USDT0x5050…2edf0x11b8…7f67638.832025-12-13T00:06:11Z
24000000USDT0xae71…4bc60x1c01…06bd320.862025-12-13T00:06:11Z
24000000USDT0x5050…2edf0xc7bb…f9b5308.992025-12-13T00:06:11Z
24000000USDT0x5050…2edf0x0000…a904661.272025-12-13T00:06:11Z

Example: Track large USDT transfers

curl -H "X-API-Key: $API_KEY" 
  "https://api.defistream.dev/v1/erc20/events/transfer?network=ETH&block_start=24000000&block_end=24010000&token=USDT&min_amount=100000"

Example: Track transfers to a specific address

curl -H "X-API-Key: $API_KEY" 
  "https://api.defistream.dev/v1/erc20/events/transfer?network=ETH&block_start=24000000&block_end=24010000&token=USDC&receiver=0x1234567890abcdef1234567890abcdef12345678"

Example: Custom token by address

curl -H "X-API-Key: $API_KEY" 
  "https://api.defistream.dev/v1/erc20/events/transfer?network=ETH&block_start=24000000&block_end=24010000&token=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48&decimals=6"

Example: Track USDT transfers involving Binance wallets

curl -H "X-API-Key: $API_KEY" 
  "https://api.defistream.dev/v1/erc20/events/transfer?network=ETH&block_start=24000000&block_end=24010000&token=USDT&involving_label=Binance"

Example: Track USDT transfers FROM exchanges TO DeFi protocols

curl -H "X-API-Key: $API_KEY" 
  "https://api.defistream.dev/v1/erc20/events/transfer?network=ETH&block_start=24000000&block_end=24010000&token=USDT&sender_category=exchange&receiver_category=defi"

Aggregate Queries

Bucket ERC20 transfer events into time or block intervals with summary statistics.

Endpoint: GET /v1/erc20/events/transfer/aggregate

Requires group_by (time or block_number) and period (e.g., 2h, 1d, 10000).

Aggregated columns: agg_amount (sum of transfer amounts), count (number of transfers)

Example: Hourly USDT transfer volume

curl -H "X-API-Key: $API_KEY" 
  "https://api.defistream.dev/v1/erc20/events/transfer/aggregate?network=ETH&block_start=21000000&block_end=21100000&token=USDT&group_by=time&period=1h"

Sample Aggregate Results:

time_starttime_endagg_amountcount
2024-11-08T00:00:00Z2024-11-08T01:00:00Z45823190.421247
2024-11-08T01:00:00Z2024-11-08T02:00:00Z38291045.181053
2024-11-08T02:00:00Z2024-11-08T03:00:00Z29104582.67892
2024-11-08T03:00:00Z2024-11-08T04:00:00Z31578204.91964
2024-11-08T04:00:00Z2024-11-08T05:00:00Z42195063.351128

Quota & Limits

ERC-20 endpoints use a block-based quota model. Cost formula: max(100, round(block_range × network_discount × aggregate_discount)).

FormatMax time rangeMax block rangeQuota cost
JSON7 days10,000block_range (min 100)
CSV / Parquet7 days1,000,000block_range (min 100)
CSV / Parquet (ARB)7 days10,000,000block_range × 0.2 (min 100)
Aggregate7 dayssame as aboveblock_range × 0.5 (min 100)

Check response headers X-RateLimit-Remaining and X-Request-Cost to monitor usage.