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.
Get Your API Key
Start building in under 5 minutes
No credit card required. Free tier includes 300M compute units/month.
Trusted by developers building:
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.
// 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
Start Building with Transfers API
Get your free API key and ship your first request in under 5 minutes. No credit card required.