curl --request GET \
--url https://staging.crossmint.com/api/unstable/wallets/{walletLocator}/transfers \
--header 'X-API-KEY: <api-key>'import requests
url = "https://staging.crossmint.com/api/unstable/wallets/{walletLocator}/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://staging.crossmint.com/api/unstable/wallets/{walletLocator}/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://staging.crossmint.com/api/unstable/wallets/{walletLocator}/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://staging.crossmint.com/api/unstable/wallets/{walletLocator}/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://staging.crossmint.com/api/unstable/wallets/{walletLocator}/transfers")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/unstable/wallets/{walletLocator}/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{
"data": [
{
"completedAt": "2024-01-15T10:30:00.000Z",
"onChain": {
"explorerLink": "https://etherscan.io/tx/0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"txId": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
},
"recipient": {
"address": "0x1234567890123456789012345678901234567890",
"chain": "ethereum",
"locator": "ethereum:0x1234567890123456789012345678901234567890",
"owner": "user-123"
},
"sender": {
"address": "0x1234567890123456789012345678901234567890",
"chain": "ethereum",
"locator": "ethereum:0x1234567890123456789012345678901234567890",
"owner": "user-123"
},
"status": "succeeded",
"token": {
"amount": "18.833423432423",
"chain": "ethereum",
"contractAddress": "0x123",
"decimals": 6,
"locator": "ethereum:0x123",
"rawAmount": "18834161225104097789",
"type": "fungible"
},
"type": "wallets.transfer.in",
"transferId": "93fd7f08-0c63-4d73-808b-6268e665c964"
}
],
"nextCursor": "<string>",
"previousCursor": "<string>"
}{
"error": true,
"message": "<error message>",
"code": "DEVICE_SIGNER_NOT_SUPPORTED"
}List Wallet Transfers
Retrieves activity history for the specified wallet including transactions and other relevant events. This is an unstable API that may change without notice.
API scope required: wallets.read
curl --request GET \
--url https://staging.crossmint.com/api/unstable/wallets/{walletLocator}/transfers \
--header 'X-API-KEY: <api-key>'import requests
url = "https://staging.crossmint.com/api/unstable/wallets/{walletLocator}/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://staging.crossmint.com/api/unstable/wallets/{walletLocator}/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://staging.crossmint.com/api/unstable/wallets/{walletLocator}/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://staging.crossmint.com/api/unstable/wallets/{walletLocator}/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://staging.crossmint.com/api/unstable/wallets/{walletLocator}/transfers")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/unstable/wallets/{walletLocator}/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{
"data": [
{
"completedAt": "2024-01-15T10:30:00.000Z",
"onChain": {
"explorerLink": "https://etherscan.io/tx/0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"txId": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
},
"recipient": {
"address": "0x1234567890123456789012345678901234567890",
"chain": "ethereum",
"locator": "ethereum:0x1234567890123456789012345678901234567890",
"owner": "user-123"
},
"sender": {
"address": "0x1234567890123456789012345678901234567890",
"chain": "ethereum",
"locator": "ethereum:0x1234567890123456789012345678901234567890",
"owner": "user-123"
},
"status": "succeeded",
"token": {
"amount": "18.833423432423",
"chain": "ethereum",
"contractAddress": "0x123",
"decimals": 6,
"locator": "ethereum:0x123",
"rawAmount": "18834161225104097789",
"type": "fungible"
},
"type": "wallets.transfer.in",
"transferId": "93fd7f08-0c63-4d73-808b-6268e665c964"
}
],
"nextCursor": "<string>",
"previousCursor": "<string>"
}{
"error": true,
"message": "<error message>",
"code": "DEVICE_SIGNER_NOT_SUPPORTED"
}unstable prefix indicates that breaking changes may occur in future releases.Authorizations
API key required for authentication
Path Parameters
A wallet locator can be of the format:
<walletAddress>email:<email>:<chainType>[:<walletType>][:alias:<alias>](walletType defaults to 'smart')userId:<userId>:<chainType>[:<walletType>][:alias:<alias>](white label user example)phoneNumber:<phoneNumber>:<chainType>[:<walletType>][:alias:<alias>]twitter:<handle>:<chainType>[:<walletType>][:alias:<alias>]x:<handle>:<chainType>[:<walletType>][:alias:<alias>]me:<chainType>[:<walletType>][:alias:<alias>](Use when calling from the client side with a client API key)chainType[:<walletType>]:alias:<alias>
Query Parameters
Opaque cursor from a previous response (nextCursor or previousCursor). Omit it on the first request.
Maximum number of results per page. Minimum 1, maximum 100. Default 30.
Sort direction by creation date. desc returns the newest first (default). asc returns the oldest first.
asc, desc The blockchain network to query. Either an EVM chain, Solana, or Stellar.
abstract, abstract-testnet, apechain, arbitrum, arbitrum-sepolia, arbitrumnova, arc, arc-testnet, astar-zkevm, avalanche, avalanche-fuji, base, base-goerli, base-sepolia, bsc, bsc-testnet, celo, celo-sepolia, chiliz, chiliz-spicy-testnet, coti, coti-testnet, curtis, ethereum, ethereum-goerli, ethereum-sepolia, flow, flow-testnet, hedera, hedera-testnet, hypersonic-testnet, lightlink, lightlink-pegasus, mantle, mantle-sepolia, mode, mode-sepolia, optimism, optimism-goerli, optimism-sepolia, plume, plume-testnet, polygon, polygon-amoy, polygon-mumbai, rari, rari-testnet, robinhood-chain, robinhood-chain-testnet, scroll, scroll-sepolia, sei-atlantic-2-testnet, sei-pacific-1, shape, shape-sepolia, skale-nebula, skale-nebula-testnet, solana, soneium, soneium-minato-testnet, space, space-testnet, stellar, story, story-testnet, tempo, tempo-testnet, u2u-nebulas, u2u-solaris, verify-testnet, viction, viction-testnet, world-chain, world-chain-sepolia, xai, xai-sepolia-testnet, zenchain-testnet, zkatana, zkyoto, zora, zora-goerli, zora-sepolia "ethereum"
The tokens to query. Comma-separated list of either tokens or token locator strings
The status of the transfers to query
failed, successful "successful"
Filter transfers from this date (inclusive). ISO 8601 format. Supported for EVM and Stellar chains. ISO 8601 in UTC. Fractional seconds are optional.
"2024-01-01T00:00:00Z"
Filter transfers until this date (inclusive). ISO 8601 format. Supported for EVM and Stellar chains. ISO 8601 in UTC. Fractional seconds are optional.
"2024-12-31T23:59:59Z"
Response
The wallet activity has been successfully retrieved.
Was this page helpful?

