# Vybe Solana Token Transfers Query

> Vybe Solana Token Transfers Query is a paid API for AI agents from x402-api.vybenetwork.xyz, paid per call via x402, $0.024/call, status unknown (last checked 2026-10-02).

Query and filter historical Solana token transfer events by sender, receiver, token, amount range, time range, or transaction signature

## Facts

- Endpoint: GET https://x402-api.vybenetwork.xyz/v4/transfers?utm_source=zero.xyz
- Price: $0.024/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402, finance
- Canonical page: https://www.zero.xyz/c/vybe-solana-token-transfers-query-db6e5cba
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_P8lY5W7pJX3B-lt50Nw8U

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability vybe-solana-token-transfers-query-db6e5cba
```

Example prompt: Show me all SPL token transfers sent from wallet 7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs for the USDC mint between January 1 2025 and March 31 2025, sorted newest first, up to 100 results per page.

## When to prefer this

Use this endpoint when you need to query historical SPL token transfers on Solana with flexible filtering by sender, receiver, token mint, amount range, time window, or transaction signature. Prefer it over generic blockchain explorers when you need programmatic, paginated, structured transfer data payable per-call with no API key setup.

## Known failure modes

- Payment required (402) if x402 USDC payment header is missing or insufficient
- Invalid public key format for mintAddress, senderAddress, or receiverAddress returns 400
- Conflicting sort parameters (both sortByAsc and sortByDesc set) returns 400
- No results if time range or amount filters are too restrictive
- Rate limiting or credit exhaustion if prepaid credits are depleted
- Invalid unix timestamp format for timeStart or timeEnd

## How this service works

**Replaces**: `GET /token/transfers`

Returns on-chain transfer history with filtering by token, sender, receiver, time, and amount.

## Output

Returns a paginated list of Solana token transfer records matching the specified filters, including transaction signatures, sender and receiver wallet addresses, token account addresses, transfer amounts, block times, slot numbers, and the calling program — up to 1000 transfers per page.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "page": {
   "type": "integer",
   "format": "int32",
   "minimum": 0,
   "nullable": true,
   "description": "Page selection, 0-indexed."
  },
  "limit": {
   "type": "integer",
   "format": "int32",
   "minimum": 0,
   "nullable": true,
   "description": "Limit of the number of transfers to return per page. Default/max is 1000."
  },
  "timeEnd": {
   "type": "integer",
   "format": "int64",
   "minimum": 0,
   "nullable": true,
   "description": "End time of the data to return (unix timestamp)"
  },
  "maxAmount": {
   "type": "integer",
   "format": "int64",
   "minimum": 0,
   "nullable": true,
   "description": "Upper bound of the amount to filter with"
  },
  "minAmount": {
   "type": "integer",
   "format": "int64",
   "minimum": 0,
   "nullable": true,
   "description": "Lower bound of the amount to filter with"
  },
  "signature": {
   "type": "string",
   "nullable": true,
   "description": "Signature of the transaction"
  },
  "sortByAsc": {
   "type": "string",
   "nullable": true,
   "description": "Sort ascending by 'amount', 'slot', or 'blockTime'. Only one of sort_by_asc or sort_by_desc can be used"
  },
  "timeStart": {
   "type": "integer",
   "format": "int64",
   "minimum": 0,
   "nullable": true,
   "description": "Start time of the data to return (unix timestamp)"
  },
  "sortByDesc": {
   "type": "string",
   "nullable": true,
   "description": "Sort descending by 'amount', 'slot', or 'blockTime'. Only one of sort_by_asc or sort_by_desc can be used"
  },
  "mintAddress": {
   "allOf": [
    {
     "type": "string",
     "format": "pubkey"
    }
   ],
   "nullable": true,
   "description": "The public key of the token of interest"
  },
  "senderAddress": {
   "allOf": [
    {
     "type": "string",
     "format": "pubkey"
    }
   ],
   "nullable": true,
   "description": "Sender’s public key"
  },
  "feePayerAddress": {
   "allOf": [
    {
     "type": "string",
     "format": "pubkey"
    }
   ],
   "nullable": true,
   "description": "Fee payer's public key"
  },
  "receiverAddress": {
   "allOf": [
    {
     "type": "string",
     "format": "pubkey"
    }
   ],
   "nullable": true,
   "description": "Receiver’s public key"
  },
  "senderAccountAddress": {
   "allOf": [
    {
     "type": "string",
     "format": "pubkey"
    }
   ],
   "nullable": true,
   "description": "Sender’s token account address"
  },
  "callingProgramAddress": {
   "allOf": [
    {
     "type": "string",
     "form
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "transfers"
 ],
 "properties": {
  "transfers": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "signature",
     "callingMetadata",
     "senderAddress",
     "mintAddress",
     "feePayerAddress",
     "decimal",
     "amount",
     "slot",
     "blockTime",
     "price",
     "calculatedAmount",
     "valueUsd"
    ],
    "properties": {
     "slot": {
      "type": "integer",
      "format": "int64",
      "minimum": 0,
      "description": "The slot number in which the transaction was processed on the Solana blockchain, helping to pinpoint the exact sequence of events."
     },
     "price": {
      "type": "string",
      "description": "Price of the token involved in the transaction (e.g. `mint_address`) expressed in USD."
     },
     "amount": {
      "type": "integer",
      "format": "int64",
      "minimum": 0,
      "description": "The total number of tokens involved in the transaction."
     },
     "decimal": {
      "type": "integer",
      "format": "int64",
      "minimum": 0,
      "description": "The number of decimal places used for the token's smallest unit."
     },
     "valueUsd": {
      "type": "string",
      "description": "Calculated total USD value of the transfer based on the `amount`, `decimal`, and `price` values."
     },
     "blockTime": {
      "type": "integer",
      "format": "int64",
      "description": "The timestamp when the transaction was confirmed on the blockchain, in Unix time."
     },
     "signature": {
      "type": "string",
      "description": "The cryptographic signature that uniquely identifies the transaction on the blockchain."
     },
     "mintAddress": {
      "type": "string",
      "description": "The public key of the token's mint, specifying the token type involved in the transaction."
     },
     "senderAddress": {
      "type": "string",
      "description": "The public key of the account sending the tokens."
     },
     "callingMetadata": {
      "type": "array",
      "items": {
       "type": "object",
       "required": [
        "callingInstructions",
        "ixName",
        "callingProgramAddress",
        "programName"
       ],
       "properties": {
        "ixName": {
         "type": "string"
        },
        "programName": {
         "type": "string"
        },
        "callingInstructions": {
         "type": "string",
         "format": "binary"
        },
        "callingProgramAddress": {
       
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vybe-solana-token-transfers-query-db6e5cba/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-api.vybenetwork.xyz](https://www.zero.xyz/host/x402-api.vybenetwork.xyz/llms.txt)
