# Vybe Solana Analytics API – Batch Empty Token Accounts

> Vybe Solana Analytics API – Batch Empty Token Accounts is a paid API for AI agents from x402-api.vybenetwork.xyz, paid per call via x402, $0.003/call, status unknown (last checked 2026-09-29).

Returns a paginated list of empty (zero-balance) SPL token accounts owned by a given Solana wallet address, with optional sorting by address, mint, symbol, decimals, or rent value.

## Facts

- Endpoint: POST https://x402-api.vybenetwork.xyz/v4/wallets/batch/empty-accounts?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-29
- Activations on Zero: 2
- Tags: x402, finance
- Canonical page: https://www.zero.xyz/c/vybe-solana-analytics-api-batch-empty-token-accounts-70d97f36
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_20B6Mlntx-BpEwtd3uvxT

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-analytics-api-batch-empty-token-accounts-70d97f36 -d '<json body>'
```

Example prompt: Look up all empty SPL token accounts for the Solana wallet 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU — sort them by rent value descending and return up to 50 per page so I can figure out which ones to close to reclaim SOL.

## When to prefer this

Use this endpoint when you need to identify empty or zero-balance SPL token accounts for a specific Solana wallet — particularly useful for rent reclamation workflows, wallet cleanup agents, or portfolio analysis tools that want to surface closeable accounts. Prefer this over general wallet endpoints when the specific goal is finding accounts with no token balance.

## Known failure modes

- Invalid or malformed Solana wallet address returns a 400 error
- Payment not included or insufficient USDC via x402 returns a 402 Payment Required
- Both sortByAsc and sortByDesc specified simultaneously returns a 400 validation error
- No empty accounts found returns an empty list (not an error)
- Rate limiting or server overload may return 429 or 503

## How this service works

Same as the single-wallet empty accounts endpoint, but accepts up to 10 wallet addresses in a single request.
Returns a combined list of zero-balance token accounts across all provided wallets.
A maximum of 1000 token accounts can be returned across all wallets.

Use this to scan multiple wallets at once — for example, a portfolio of wallets — for reclaimable rent.

## Output

A paginated list of empty (zero-balance) SPL token accounts associated with the queried wallet, each including the token account address, mint address, token name, symbol, decimals, and the estimated rent in USD. Useful for identifying accounts eligible for closure to reclaim SOL.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "ownerAddresses"
 ],
 "properties": {
  "page": {
   "type": "integer",
   "format": "int32",
   "minimum": 0,
   "nullable": true,
   "description": "Page number to return (zero-indexed). Defaults to 0."
  },
  "limit": {
   "type": "integer",
   "format": "int32",
   "minimum": 0,
   "nullable": true,
   "description": "Maximum number of empty accounts to return across all wallets. Defaults to 1000."
  },
  "sortByAsc": {
   "type": "string",
   "nullable": true,
   "description": "Sort ascending by 'tokenAccountAddress', 'mintAddress', 'name', 'symbol', 'decimals', or 'rentUsd'. If omitted, no sorting is applied. Only one of `sortByAsc` or `sortByDesc` can be used."
  },
  "sortByDesc": {
   "type": "string",
   "nullable": true,
   "description": "Sort descending by 'tokenAccountAddress', 'mintAddress', 'name', 'symbol', 'decimals', or 'rentUsd'. If omitted, no sorting is applied. Only one of `sortByAsc` or `sortByDesc` can be used."
  },
  "ownerAddresses": {
   "type": "array",
   "items": {
    "type": "string",
    "format": "pubkey"
   },
   "description": "List of Solana wallet addresses to query (1-10 wallets)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "emptyAccounts",
  "totalEmptyAccounts",
  "totalRentReclaimSol",
  "totalRentReclaimUsd"
 ],
 "properties": {
  "emptyAccounts": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "tokenAccountAddress",
     "mintAddress",
     "decimals",
     "rentSol",
     "rentUsd"
    ],
    "properties": {
     "name": {
      "type": "string",
      "nullable": true,
      "description": "The name of the token, if available."
     },
     "symbol": {
      "type": "string",
      "nullable": true,
      "description": "The symbol of the token, if available."
     },
     "logoUrl": {
      "type": "string",
      "nullable": true,
      "description": "The logo URL of the token, if available."
     },
     "rentSol": {
      "type": "string",
      "description": "Rent reserved for this token account in SOL. Assumes standard 165-byte account size. Token-2022 accounts with extensions may have higher actual rent."
     },
     "rentUsd": {
      "type": "string",
      "description": "Rent reserved for this token account in USD (based on current SOL price). Assumes standard 165-byte account size."
     },
     "decimals": {
      "type": "integer",
      "format": "int32",
      "description": "The number of decimal places for this token."
     },
     "mintAddress": {
      "type": "string",
      "description": "The mint address of the empty account."
     },
     "tokenAccountAddress": {
      "type": "string",
      "description": "The public key of the empty account."
     }
    }
   },
   "description": "The list of empty accounts found."
  },
  "totalEmptyAccounts": {
   "type": "integer",
   "format": "int64",
   "description": "Total number of empty accounts found."
  },
  "totalRentReclaimSol": {
   "type": "string",
   "description": "Approximate total rent that could be reclaimed in SOL by closing these empty accounts."
  },
  "totalRentReclaimUsd": {
   "type": "string",
   "description": "Approximate total rent that could be reclaimed in USD by closing these empty accounts."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vybe-solana-analytics-api-batch-empty-token-accounts-70d97f36/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)
