| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
account_id |
string | Yes | — | NEAR account ID to query |
resume_token |
string | No | null | Pagination token from previous response |
from_timestamp_ms |
integer | No | null | Start of time range (ms) inclusive |
to_timestamp_ms |
integer | No | null | End of time range (ms) |
limit |
integer | No | 1000 | Number of transfers to return (1 to 1000) |
desc |
boolean | No | false | Sort descending (newest first) when true |
min_amount |
string | No | null | Minimum absolute amount in token units (e.g. yoctoNEAR) |
min_human_amount |
number | No | null | Minimum absolute amount after applying token decimals |
min_usd_amount |
number | No | null | Minimum absolute USD value |
asset_id |
string | No | null | Filter by asset ID (e.g. "near" or a token contract ID) |
direction |
string | No | null | Filter by direction: "sender" (outgoing) or "receiver" (incoming) |
ignore_system |
boolean | No | false | Skip transfers where other_account_id is "system" |
Fetch transfers for an account with default settings (ascending order):
curl -X POST https://transfers.main.fastnear.com/v0/transfers \
-H "Content-Type: application/json" \
-d '{"account_id": "intents.near"}'
Fetch the 10 most recent transfers:
curl -X POST https://transfers.main.fastnear.com/v0/transfers \
-H "Content-Type: application/json" \
-d '{"account_id": "intents.near", "limit": 10, "desc": true}'
Continue fetching from where the previous request left off:
curl -X POST https://transfers.main.fastnear.com/v0/transfers \
-H "Content-Type: application/json" \
-d '{"account_id": "intents.near", "limit": 10, "desc": true, "resume_token": "7594641293647473196415950063"}'
Fetch transfers within a specific time window (timestamps in milliseconds):
curl -X POST https://transfers.main.fastnear.com/v0/transfers \
-H "Content-Type: application/json" \
-d '{"account_id": "intents.near", "from_timestamp_ms": 1768265220000, "to_timestamp_ms": 1768265226000}'
Paginate through transfers within a time range:
curl -X POST https://transfers.main.fastnear.com/v0/transfers \
-H "Content-Type: application/json" \
-d '{
"account_id": "intents.near",
"resume_token": "7594641293647473196415950063",
"from_timestamp_ms": 1768265200000,
"to_timestamp_ms": 1768265300000,
"limit": 5,
"desc": true
}'
Fetch only incoming NEAR transfers with at least 1 NEAR:
curl -X POST https://transfers.main.fastnear.com/v0/transfers \
-H "Content-Type: application/json" \
-d '{
"account_id": "intents.near",
"asset_id": "near",
"direction": "receiver",
"min_amount": "1000000000000000000000000",
"limit": 10,
"desc": true
}'
Fetch transfers worth at least $100, excluding system transfers:
curl -X POST https://transfers.main.fastnear.com/v0/transfers \
-H "Content-Type: application/json" \
-d '{
"account_id": "intents.near",
"min_usd_amount": 100,
"ignore_system": true,
"desc": true
}'
Account-centric Transfers table:
CREATE TABLE account_transfers
(
block_height UInt64 -- Block height
block_timestamp DateTime64 -- Block timestamp in nanoseconds (UTC)
transaction_id String? -- Transaction hash
receipt_id String -- Receipt hash
action_index UInt16? -- Index of the action within the receipt
log_index UInt16? -- Index of the log within the receipt
transfer_index UInt32 -- Unique index of the transfer within the block
signer_id String -- Transaction signer account ID
predecessor_id String -- Receipt predecessor account ID
receipt_account_id String -- Account ID where the receipt is executed
account_id String -- Account ID involved in the transfer
other_account_id String? -- Other side of the transfer (empty for mints/burns)
asset_id String -- Asset ID ("near" or token contract account ID)
asset_type String -- "Near" or "Ft"
amount Int128 -- Amount in token units (positive=in, negative=out)
method_name String? -- Method that triggered the transfer
transfer_type String -- NEAR native token or Fungible Token (FT)
human_amount Float64? -- Amount after applying token decimals
usd_amount Float64? -- USD value at the time of the block
start_of_block_balance UInt128? -- Sender balance at start of block
end_of_block_balance UInt128? -- Sender balance at end of block
)
PRIMARY KEY (account_id, block_timestamp)
ORDER BY (account_id, block_timestamp, transfer_index)