Alchemy Transfers API
REST endpoints for paginated address-level transfer history (external, internal, ERC-20, ERC-721, ERC-1155).
REST endpoints for paginated address-level transfer history (external, internal, ERC-20, ERC-721, ERC-1155).
openapi: 3.0.3
info:
title: Alchemy Gas Manager Paymaster Transfers API
description: The Alchemy Gas Manager API enables developers to sponsor gas fees for end users via the ERC-4337 Account Abstraction standard. Using a Gas Manager policy, developers can define rules for which transactions to sponsor, covering ETH gas fees so users never need to hold native tokens to interact with dApps. Supports gasless transactions, ERC-20 gas payments, and policy-based sponsorship controls.
version: '1.0'
contact:
name: Alchemy Support
url: https://www.alchemy.com/support
x-generated-from: documentation
servers:
- url: https://manage.g.alchemy.com/api
description: Alchemy Gas Manager Management API
- url: https://eth-mainnet.g.alchemy.com/v2/{apiKey}
description: Ethereum Mainnet RPC
variables:
apiKey:
default: your-api-key
description: Your Alchemy API key.
tags:
- name: Transfers
description: Query historical asset transfer data across EVM networks.
paths:
/:
post:
operationId: getAssetTransfers
summary: Alchemy Get Asset Transfers
description: Returns an array of asset transfers based on the specified filters. Supports querying ETH transfers, ERC-20 token transfers, ERC-721 NFT transfers, ERC-1155 multi-token transfers, and internal contract transfers across supported EVM networks.
tags:
- Transfers
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/JsonRpcRequest'
examples:
GetAssetTransfersRequestExample:
summary: Default getAssetTransfers request
x-microcks-default: true
value:
id: 1
jsonrpc: '2.0'
method: alchemy_getAssetTransfers
params:
- fromAddress: '0x0000000000000000000000000000000000000000'
fromBlock: '0xfda53c'
toBlock: latest
category:
- erc721
- erc1155
withMetadata: true
excludeZeroValue: true
maxCount: '0x10'
order: desc
security:
- apiKeyPath: []
responses:
'200':
description: Asset transfers retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/AssetTransfersResponse'
examples:
GetAssetTransfers200Example:
summary: Default getAssetTransfers 200 response
x-microcks-default: true
value:
id: 1
jsonrpc: '2.0'
result:
transfers:
- blockNum: '0xfda53c'
hash: '0xabc123def456'
from: '0x0000000000000000000000000000000000000000'
to: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
value: 1.0
asset: ETH
category: external
metadata:
blockTimestamp: '2026-04-19T10:00:00Z'
pageKey: abc123nextpage
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
JsonRpcRequest:
type: object
title: JSON-RPC Request
description: Standard JSON-RPC 2.0 request format for Alchemy API calls.
required:
- id
- jsonrpc
- method
- params
properties:
id:
type: integer
description: Request identifier for matching responses.
example: 1
jsonrpc:
type: string
description: JSON-RPC protocol version.
example: '2.0'
method:
type: string
description: Alchemy method name to invoke.
example: alchemy_getAssetTransfers
params:
type: array
description: Parameters for the method call.
items: {}
AssetTransfersResponse:
type: object
title: Asset Transfers Response
description: JSON-RPC response for getAssetTransfers requests.
properties:
id:
type: integer
description: Matches the request ID.
example: 1
jsonrpc:
type: string
description: JSON-RPC version.
example: '2.0'
result:
$ref: '#/components/schemas/AssetTransfersResult'
TransferMetadata:
type: object
title: Transfer Metadata
description: Additional metadata for an asset transfer.
properties:
blockTimestamp:
type: string
format: date-time
description: ISO 8601 timestamp of the block.
example: '2026-04-19T10:00:00Z'
AssetTransfer:
type: object
title: Asset Transfer
description: Represents a single asset transfer event on the blockchain.
properties:
blockNum:
type: string
description: Block number of the transfer in hexadecimal.
example: '0xfda53c'
hash:
type: string
description: Transaction hash of the transfer.
example: '0xabc123def456abc123def456abc123def456'
from:
type: string
description: Sender wallet address.
example: '0x0000000000000000000000000000000000000000'
to:
type: string
description: Recipient wallet address.
example: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
value:
type: number
description: Transfer value in native units.
example: 1.0
asset:
type: string
description: Asset symbol (e.g., ETH, USDC, or NFT collection name).
example: ETH
category:
type: string
description: Transfer category (external, internal, erc20, erc721, erc1155).
enum:
- external
- internal
- erc20
- erc721
- erc1155
example: external
metadata:
$ref: '#/components/schemas/TransferMetadata'
AssetTransfersResult:
type: object
title: Asset Transfers Result
description: Result payload containing the list of asset transfers.
properties:
transfers:
type: array
items:
$ref: '#/components/schemas/AssetTransfer'
description: List of asset transfer events matching the query.
pageKey:
type: string
description: Pagination key for retrieving the next page of results.
example: abc123nextpage
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Bearer token for Gas Manager Management API authentication.
apiKeyHeader:
type: apiKey
in: header
name: X-Alchemy-Token
description: Alchemy API key for RPC endpoint authentication.