# Transfers

> transfers.query and transfers.subscribe, and the fields of a transfer and a transaction.

This page is part of the Intear API docs. The Intear API is at `https://api.intea.rs` and `wss://api.intea.rs/ws`, with no API key. https://docs.intear.tech/api/llms-full.txt has all of its pages in one file, and https://docs.intear.tech/llms.txt lists every page of the Intear docs.

`transfers.query` and `transfers.subscribe` work like [trades](https://docs.intear.tech/api/reference/trades.md): `transfers.query` takes `limit`, `cursor`, `after_millis`, `before_millis` and `order` (HTTP: `/transfers`), and `transfers.subscribe` takes `history` or `after_id`, with the same results and pushes.

## Filters

| Param | Description |
| --- | --- |
| `fields` | **Required.** [Transfer fields](#transfer-fields), or with `kind: "transaction"`, [transaction fields](#transaction-fields) |
| `token` | Transfers of this token, or a list of up to 100 tokens |
| `parent` | Instead of `token`: the tokens directly under an account or a list of them, as they are when the request is made, up to 100 tokens |
| `sender`, `receiver` | Transfers and transactions from or to this account |
| `account` | From or to this account, instead of `sender` and `receiver` |
| `kind` | `transfer` or `transaction`: only that kind |
| `include_transactions` | Default `false`. Transactions alongside transfers when `kind` isn't given |

- History (`transfers.query`, `history` or `after_id`) needs a `sender`, `receiver` or `account`. Subscribing from now on doesn't, and with no filters gets every transfer.
- Transactions have no token, so `token` and `parent` can't be used with `include_transactions` or `kind: "transaction"`.
- `token` and `parent` don't go with both `sender` and `receiver`, and `account` doesn't go with `sender` or `receiver`. Both are a `bad_request`, for subscribing from now on too.

## Transfer fields

| Field | Type | Description |
| --- | --- | --- |
| `id` | number | |
| `kind` | string | `transfer` or `transaction` |
| `height`, `timestamp_millis` | number | The block it's in |
| `transaction_id` | string or `null` | `null` for the few transfers whose transaction started long before they did |
| `receipt_id` | string or `null` | `null` for transactions |
| `token` | string or `null` | `near` for native NEAR. `null` for transactions |
| `sender` | string or `null` | `null` for a mint |
| `receiver` | string or `null` | `null` for a burn |
| `amount` | string or `null` | In the token's smallest units, yoctoNEAR for `near`. `null` for transactions |

A `transfer` is every NEP-141 mint, transfer and burn, and every native NEAR transfer or deposit attached to a function call, except gas refunds and amounts of 1 yoctoNEAR or less.

## Transaction fields

With `kind: "transaction"`, fields are a transaction's: `id`, `height`, `timestamp_millis`, `transaction_id`, `sender` and `receiver`.

A `transaction` is every transaction, in the block it was included in, whether or not it went on to succeed, so an account's history can show what it sent alongside the tokens it moved. `sender` and `receiver` are its signer and receiver, or for a meta-transaction, those of the delegate action rather than the relayer. Transfers made by a transaction carry its hash as their `transaction_id`.
