Available Now

Transfers API

Track token & NFT transfers in real-time

Monitor and query all token transfers across chains. Get transfer history, pending transactions, and real-time notifications for any address or contract.

All Transfer Types

Native tokens, ERC-20, ERC-721, and ERC-1155 transfers.

Historical Data

Query transfer history from genesis to present.

Real-time Alerts

Webhooks for instant transfer notifications.

Advanced Filtering

Filter by token, address, amount, or time range.

Back to Web3 Overview

Get Your API Key

Start building in under 5 minutes

99.999%
Uptime
<50ms
Latency
100+
Chains

No credit card required. Free tier includes 300M compute units/month.

Trusted by developers building:

DeFiNFTsPaymentsGamingAI Agents

Key Capabilities

Everything you need, nothing you don't.

All Transfer Types

Native tokens, ERC-20, ERC-721, and ERC-1155 transfers.

Historical Data

Query transfer history from genesis to present.

Real-time Alerts

Webhooks for instant transfer notifications.

Advanced Filtering

Filter by token, address, amount, or time range.

Decoded Data

Human-readable transfer details with token metadata.

Multi-chain

Unified API for transfers across 100+ chains.

Low Latency

Sub-second transfer detection and notification.

Internal Transfers

Track internal transactions and contract interactions.

Analytics

Aggregate transfer volume and flow analytics.

Simple to Integrate

Get started with just a few lines of code. SDKs for every language.

TransferMonitor.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC721/IERC721.sol";

/// @title TransferMonitor - Track and log transfers for indexing
contract TransferMonitor {
    // Indexed transfer events for efficient querying
    event TokenTransfer(
        address indexed token,
        address indexed from,
        address indexed to,
        uint256 amount,
        uint256 timestamp
    );

    event NFTTransfer(
        address indexed collection,
        uint256 indexed tokenId,
        address indexed from,
        address to,
        uint256 timestamp
    );

    event NativeTransfer(
        address indexed from,
        address indexed to,
        uint256 amount,
        uint256 indexed blockNumber
    );

    // Log ERC20 transfer with metadata
    function logTokenTransfer(
        address token,
        address from,
        address to,
        uint256 amount
    ) external {
        emit TokenTransfer(token, from, to, amount, block.timestamp);
    }

    // Log NFT transfer
    function logNFTTransfer(
        address collection,
        uint256 tokenId,
        address from,
        address to
    ) external {
        emit NFTTransfer(collection, tokenId, from, to, block.timestamp);
    }

    // Transfer ETH and emit event
    function transferWithLog(address payable to) external payable {
        to.transfer(msg.value);
        emit NativeTransfer(msg.sender, to, msg.value, block.number);
    }

    // Batch transfer ERC20 tokens
    function batchTransfer(
        address token,
        address[] calldata recipients,
        uint256[] calldata amounts
    ) external {
        require(recipients.length == amounts.length, "Length mismatch");
        for (uint256 i = 0; i < recipients.length; i++) {
            IERC20(token).transferFrom(msg.sender, recipients[i], amounts[i]);
            emit TokenTransfer(token, msg.sender, recipients[i], amounts[i], block.timestamp);
        }
    }
}

Built For

Transaction Monitoring

Track deposits, withdrawals, and suspicious activity.

Portfolio Updates

Real-time balance updates as transfers happen.

Compliance Tools

AML monitoring and transaction screening.

Notification Services

Alert users on incoming transfers and NFT activity.

Supported Chains

Ethereum
Polygon
Arbitrum
Optimism
Base
BNB Chain
Avalanche
zkSync
Scroll
Linea

Start Building with Transfers API

Get your free API key and ship your first request in under 5 minutes. No credit card required.