> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coingecko.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Token Transfers by Wallet Address

> To query the token transfers of a wallet address on a network

export const CacheInfo = ({publicRate, paidRate, rate}) => {
  const fmt = v => v === 0 ? 'Real-time (Cacheless)' : `Every ${v}`;
  if (rate !== undefined) {
    return <Callout icon="clock-rotate-left" color="#2196F3" iconType="regular">
        <strong>Cache / Update Frequency:</strong><br />{fmt(rate)}
      </Callout>;
  }
  if (publicRate !== undefined && paidRate !== undefined) {
    return <Callout icon="clock-rotate-left" color="#2196F3" iconType="regular">
        <strong>Cache / Update Frequency:</strong><ul><li>{fmt(paidRate)} (Paid API)</li><li>{fmt(publicRate)} (Demo / Keyless API)</li></ul>
      </Callout>;
  }
  return null;
};

export const PlanExclusivity = ({tier}) => {
  if (tier === "enterprise") {
    return <Callout icon="crown" color="#FFC107" iconType="regular">
        <strong>Enterprise Only</strong><br />This endpoint is exclusively available to <strong>Enterprise</strong> plan.<br /><a href="https://www.coingecko.com/en/api/enterprise">→ Contact sales</a>
      </Callout>;
  }
  if (tier === "analyst_above") {
    return <Callout icon="briefcase" color="#FFC107" iconType="regular">
        <strong>Analyst Plan and Above</strong><br />This endpoint is only available to <strong>Analyst, Lite, Pro, and Enterprise</strong> plan.<br /><a href="https://www.coingecko.com/en/api/pricing">→ View pricing</a>
      </Callout>;
  }
  if (tier === "basic_above") {
    return <Callout icon="briefcase" color="#FFC107" iconType="regular">
        <strong>Basic Plan and Above</strong><br />This endpoint is only available to <strong>Basic, Analyst, Lite, Pro, and Enterprise</strong> plan.<br /><a href="https://www.coingecko.com/en/api/pricing">→ View pricing</a>
      </Callout>;
  }
  throw new Error(`PlanExclusivity: invalid tier "${tier}". Use "basic_above", "analyst_above", or "enterprise".`);
};

#### Notes

* `direction` is relative to the queried wallet, so the counterparty is whichever of `from_address` and `to_address` is not that wallet:

  | `direction` | Queried wallet is | Transfer was |
  | ----------- | ----------------- | ------------ |
  | `in`        | `to_address`      | received     |
  | `out`       | `from_address`    | sent         |

* `amount` is full precision and never rounded, but comes back `null` when the token cannot be resolved. `amount_raw` is always present, so fall back to it and convert with `decimals`: `amount_raw / 10^decimals`.

* Paginate with `cursor` rather than a page number:
  * Pass `meta.next_cursor` back unchanged as `cursor` to fetch the next page.
  * `meta.next_cursor` is `null` on the last page.

<Accordion title="Supported networks">
  | Chain     | Network `id`  |
  | --------- | ------------- |
  | Ethereum  | `eth`         |
  | Base      | `base`        |
  | BNB Chain | `bsc`         |
  | Polygon   | `polygon_pos` |
  | Arbitrum  | `arbitrum`    |
  | Optimism  | `optimism`    |
  | Avalanche | `avax`        |
  | Stable    | `stable`      |
  | Robinhood | `robinhood`   |
</Accordion>

<Warning>
  `from` and `to` must be provided together, and the window between them cannot exceed 30 days.

  * Omit both to get the most recent 7 days.
  * Providing only one of them returns a `400`.
</Warning>

<PlanExclusivity tier="analyst_above" />

<CacheInfo rate={0} />


## OpenAPI

````yaml openapi-specs/pro-api.json get /onchain/networks/{network}/wallets/{address}/transfers
openapi: 3.0.0
info:
  title: CoinGecko Pro API
  version: 3.0.0
servers:
  - url: https://pro-api.coingecko.com/api/v3
security:
  - headerAuth: []
  - queryAuth: []
paths:
  /onchain/networks/{network}/wallets/{address}/transfers:
    get:
      summary: Token Transfers by Wallet Address
      description: To query the token transfers of a wallet address on a network
      operationId: wallet-token-transfers
      parameters:
        - name: network
          in: path
          required: true
          description: >-
            Network ID. 

            *refers to [supported
            networks](/reference/wallet-token-transfers#supported-networks).
          schema:
            type: string
            default: eth
        - name: address
          in: path
          required: true
          description: Wallet address.
          schema:
            type: string
            default: '0x9642b23ed1e01df1092b92641051881a322f5d4e'
        - name: token
          in: query
          required: false
          description: Filter transfers by token contract address.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: >-
            Starting date in ISO date string (`YYYY-MM-DD` or
            `YYYY-MM-DDTHH:MM`) or UNIX timestamp. 

            **Use ISO date string for best compatibility.** 

            Must be provided together with `to`.
          schema:
            type: string
        - name: to
          in: query
          required: false
          description: >-
            Ending date in ISO date string (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM`)
            or UNIX timestamp. 

            **Use ISO date string for best compatibility.** 

            Must be provided together with `from`.
          schema:
            type: string
        - name: direction
          in: query
          required: false
          description: |-
            Filter transfers by direction, relative to the queried wallet. 
            Omit to return both.
          schema:
            type: string
            enum:
              - in
              - out
        - name: cursor
          in: query
          required: false
          description: >-
            Cursor from the previous response, passed back unchanged to fetch
            the next page.
          schema:
            type: string
        - name: per_page
          in: query
          required: false
          description: |-
            Total results per page. 
            Default value: 100 
            Valid values: 1...300
          schema:
            type: integer
      responses:
        '200':
          description: Wallet token transfers data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletTokenTransfers'
              example:
                data:
                  - id: >-
                      eth_25937833_0xe3d3005d33af5e5ea60ebe3c16436691ac44a862f7f7bdf133114c0b4110d9f0_299_out
                    type: transfer
                    attributes:
                      block_number: 25937833
                      tx_hash: >-
                        0xe3d3005d33af5e5ea60ebe3c16436691ac44a862f7f7bdf133114c0b4110d9f0
                      direction: out
                      token_address: '0xdac17f958d2ee523a2206206994597c13d831ec7'
                      amount_raw: '7999906000'
                      amount: '7999.906'
                      block_timestamp: '2026-09-09T05:50:11Z'
                      from_address: '0x9642b23ed1e01df1092b92641051881a322f5d4e'
                      to_address: '0xf8932784396f4f122bbb7ff62fab2a85e400646b'
                      name: Tether USD
                      symbol: USDT
                      decimals: 6
                  - id: >-
                      eth_25937832_0x0f8c5a214905a7590e9b4f55821e89dd790e8569f2f91db46cce0cb13f8023fb_144_in
                    type: transfer
                    attributes:
                      block_number: 25937832
                      tx_hash: >-
                        0x0f8c5a214905a7590e9b4f55821e89dd790e8569f2f91db46cce0cb13f8023fb
                      direction: in
                      token_address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
                      amount_raw: '3401000000'
                      amount: '3401.0'
                      block_timestamp: '2026-09-09T05:49:59Z'
                      from_address: '0x5fa654326317a2a5d69bc97e5a0ea9fe6f092cd5'
                      to_address: '0x9642b23ed1e01df1092b92641051881a322f5d4e'
                      name: USD Coin
                      symbol: USDC
                      decimals: 6
                meta:
                  next_cursor: >-
                    eyJibG9ja19udW1iZXIiOjI1OTM3ODMyLCJsb2dfaW5kZXgiOjE0NCwiZGlyZWN0aW9uIjoiaW4iLCJmcm9tIjoxNzg4MzI4MjQ3LCJ0byI6MTc4ODkzMzA0N30
components:
  schemas:
    WalletTokenTransfers:
      type: object
      required:
        - data
        - meta
      properties:
        data:
          type: array
          items:
            type: object
            required:
              - id
              - type
              - attributes
            properties:
              id:
                type: string
                description: Transfer identifier
              type:
                type: string
                description: Resource type
              attributes:
                type: object
                required:
                  - block_number
                  - tx_hash
                  - direction
                  - token_address
                  - amount_raw
                  - amount
                  - block_timestamp
                  - from_address
                  - to_address
                  - name
                  - symbol
                  - decimals
                properties:
                  block_number:
                    type: integer
                    description: Block number of the transfer
                  tx_hash:
                    type: string
                    description: Transaction hash
                  direction:
                    type: string
                    description: >-
                      Transfer direction relative to the queried wallet, either
                      in or out
                  token_address:
                    type: string
                    description: Token contract address
                  amount_raw:
                    type: string
                    description: >-
                      Transfer amount in the smallest unit, before decimals are
                      applied
                  amount:
                    type: string
                    nullable: true
                    description: Transfer amount at full precision
                  block_timestamp:
                    type: string
                    format: date-time
                    description: Block timestamp of the transfer
                  from_address:
                    type: string
                    description: Sender address
                  to_address:
                    type: string
                    description: Recipient address
                  name:
                    type: string
                    description: Token name
                  symbol:
                    type: string
                    description: Token symbol
                  decimals:
                    type: integer
                    description: Token decimals
        meta:
          type: object
          required:
            - next_cursor
          properties:
            next_cursor:
              type: string
              nullable: true
              description: Cursor for the next page, null when there are no further pages
  securitySchemes:
    headerAuth:
      type: apiKey
      in: header
      name: x-cg-pro-api-key
      description: >-
        Learn how to [set up your API
        key](https://docs.coingecko.com/docs/setting-up-your-api-key)
    queryAuth:
      type: apiKey
      in: query
      name: x_cg_pro_api_key
      description: >-
        Learn how to [set up your API
        key](https://docs.coingecko.com/docs/setting-up-your-api-key)

````