Get ERC20 token transfers by contract address
curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"result": [
{
"token_name": "Tether USD",
"token_symbol": "USDT",
"token_decimals": "6",
"transaction_hash": "0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09",
"address": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
"block_timestamp": "2021-04-02T10:07:54.000Z",
"block_number": 12526958,
"block_hash": "0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86",
"from_address": "0xd4a3BebD824189481FC45363602b83C9c7e9cbDf",
"value": 650000000000000000,
"transaction_index": 12,
"log_index": 2,
"possible_spam": "false",
"verified_contract": "false",
"token_logo": "cdn.moralis.io/325/large/Tether-logo.png?1598003707",
"to_address_entity": "Beaver Build",
"to_address_entity_logo": "https://beaverbuild.com/favicon.ico",
"to_address": "0x62AED87d21Ad0F3cdE4D147Fdcc9245401Af0044",
"to_address_label": "Binance 2",
"from_address_entity": "Opensea",
"from_address_entity_logo": "https://opensea.io/favicon.ico",
"from_address_label": "Binance 1"
}
],
"page": "2",
"page_size": "100",
"cursor": "<string>"
}Transfers
Token Transfers by Contract
Get all ERC20 token transfers for a contract, ordered by block number (newest first).
GET
/
erc20
/
{address}
/
transfers
Get ERC20 token transfers by contract address
curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/erc20/{address}/transfers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"result": [
{
"token_name": "Tether USD",
"token_symbol": "USDT",
"token_decimals": "6",
"transaction_hash": "0x2d30ca6f024dbc1307ac8a1a44ca27de6f797ec22ef20627a1307243b0ab7d09",
"address": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
"block_timestamp": "2021-04-02T10:07:54.000Z",
"block_number": 12526958,
"block_hash": "0x0372c302e3c52e8f2e15d155e2c545e6d802e479236564af052759253b20fd86",
"from_address": "0xd4a3BebD824189481FC45363602b83C9c7e9cbDf",
"value": 650000000000000000,
"transaction_index": 12,
"log_index": 2,
"possible_spam": "false",
"verified_contract": "false",
"token_logo": "cdn.moralis.io/325/large/Tether-logo.png?1598003707",
"to_address_entity": "Beaver Build",
"to_address_entity_logo": "https://beaverbuild.com/favicon.ico",
"to_address": "0x62AED87d21Ad0F3cdE4D147Fdcc9245401Af0044",
"to_address_label": "Binance 2",
"from_address_entity": "Opensea",
"from_address_entity_logo": "https://opensea.io/favicon.ico",
"from_address_label": "Binance 1"
}
],
"page": "2",
"page_size": "100",
"cursor": "<string>"
}Path Parameters
Query Parameters
The chain to query
Available options:
eth, 0x1, sepolia, 0xaa36a7, polygon, 0x89, bsc, 0x38, bsc testnet, 0x61, avalanche, 0xa86a, cronos, 0x19, arbitrum, 0xa4b1, chiliz, 0x15b38, gnosis, 0x64, base, 0x2105, base sepolia, 0x14a34, optimism, 0xa, polygon amoy, 0x13882, linea, 0xe708, moonbeam, 0x504, moonriver, 0x505, flow, 0x2eb, flow-testnet, 0x221, ronin, 0x7e4, ronin-testnet, 0x31769, lisk, 0x46f, pulse, 0x171, sei-testnet, 0x530, sei, 0x531, monad, 0x8f Example:
"eth"

