Get Wallet Transfers
Overview
The Get Wallet Transfers endpoint obtains data on various transfers of native currency
and tokens by specifying an EOA wallet's address
as a required path parameter. The range should
be defined by either block_number
, timestamp
, or block_hash
. When querying via Postman or CLI,
it is recommended to always specify the asset_type
parameter, even if you are querying by contract.
Pass the values like so: native,ft,nft,multi
if interested in all types of assets, or remove those
not needed to narrow your search.
When using the endpoint via Parsiq JS Client, keep in mind that asset_type
is a required parameter. Pass
the values in an array like so: [AssetType.Native, AssetType.FungibleToken, AssetType.NonFungibleToken, AssetType.MultiToken]
if interested in all types of assets, or remove those not needed to narrow your search.
Multiple values can be set for the contract
and asset_type
parameters, with a maximum of five items each.
When using the contract
parameter, asset_type
can't be assigned as native
because a contract can only
represent a token, not a native currency.
Use Cases
While the Wallet Transfers endpoint should always include an EOA wallet's address
as a required path
parameter, it can also be combined with other query parameters to further refine your search. Several
possible combinations should be considered, where contract
is a smart contract's address, and asset_type
represents the token's type to query by. The direction
parameter allows the user to see all incoming
or
outgoing
transfers of the address
chosen. The counterparty
parameter is a specific address that is
either source or destination of transfer. To retrieve specific details about wallet transfers, follow the
guidelines below.
-
For transfers from an EOA wallet, specify
counterparty
and add it to the pathaddress
andasset_type
parameters. -
For transfers of a particular token, specify its
contract
and add it to the pathaddress
andasset_type
parameters. -
For transfers of a particular token from another EOA wallet, specify both
contract
andcounterparty
, then add them to the pathaddress
andasset_type
parameters. -
For obtaining only
incoming
oroutgoing
transfers of the pathaddress
parameter, specify the corresponding value ofdirection
, then add it to the pathaddress
andasset_type
parameters. Narrow your search bycounterparty
if needed.
Querying via Postman
If you prefer querying via Postman, the description of PARSIQ Endpoints for Get Wallet Transfers (opens in a new tab) might come in handy. There you will find examples and responses for good and bad requests as well as parameter definitions and their example values.
Usage
In this example, we receive all incoming
transfers starting from the first block, sent to the address
0xD85F68bC77024A730302a97c2e1e07785b01f153
from the counterparty
address
0x6d053f09684ee1c231b417cc1e502ef50b1b5697
. The asset_type
field should be set to nft
as we are querying by an ERC-721 standard contract.
import * as Parsiq from '@parsiq/parsiq.js';
import {AssetType, TransferDirection} from '@parsiq/parsiq.js';
const client = Parsiq.createClient(process.env.API_KEY, Parsiq.ChainId.ETH_MAINNET);
const walletTransfers = client.transfers.wallet.getByBlockRange(
`0xD85F68bC77024A730302a97c2e1e07785b01f153`,
1, 'latest',
{
contract: ['0xcaace84b015330c0ab4bd003f6fa0b84ec6c64ac'],
asset_type: [AssetType.NonFungibleToken],
direction: TransferDirection.Incoming,
counterparty: '0x6d053f09684ee1c231b417cc1e502ef50b1b5697'
},
{
limit: 10
}
);
for await (const transfer of walletTransfers) {
console.log(transfer);
}
Output:
{
id: '0000000000e38b5b-00b2-00000002',
tx_hash: '0x3b4df3c9c7d312193e54c28e8b0f771d34cc7aeb27b11757e6ec88bf4fbc8556',
block_hash: '0xd40f5c9aa54f0ba9b529b7363ce5167f4c9928dcf9df7885f301bfe9ea7fc6d3',
block_number: 14912347,
timestamp: 1654480202,
origin: '0x6d053f09684ee1c231b417cc1e502ef50b1b5697',
contract: '0xcaace84b015330c0ab4bd003f6fa0b84ec6c64ac',
sender: '0x6d053f09684ee1c231b417cc1e502ef50b1b5697',
recipient: '0xd85f68bc77024a730302a97c2e1e07785b01f153',
value: null,
token_id: '779',
asset_type: 'nft'
}
Parameters
chainId
version
address
block_number_start
block_number_end
contract
asset_type
direction
counterparty
offset
limit
estimate_cu