# Vybe Solana Analytics API – Batch Dust Accounts

> Vybe Solana Analytics API – Batch Dust 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-10-03).

Returns a paginated list of low-value ('dust') token accounts held by a given Solana wallet address, including balance, USD value, and rent cost.

## Facts

- Endpoint: POST https://x402-api.vybenetwork.xyz/v4/wallets/batch/dust-accounts?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-03
- Activations on Zero: 0
- Tags: x402, finance
- Canonical page: https://www.zero.xyz/c/vybe-solana-analytics-api-batch-dust-accounts-0fa53205
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap__O0JJGqt5Suyah3RcmlvM

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-dust-accounts-0fa53205 -d '<json body>'
```

Example prompt: Show me all the dust token accounts for Solana wallet 7v91N7iZ9mNicL8WfG6cgSCKyRXydQjLh6UYBWwm6y1Q, sorted by USD value from lowest to highest, up to 50 results.

## When to prefer this

Use this endpoint when you need to enumerate low-value or near-zero SPL token accounts for a specific Solana wallet — particularly to identify accounts worth closing to reclaim rent, audit wallet clutter, or filter out noise before analyzing meaningful holdings. Prefer this over a general token holdings endpoint when the focus is specifically on dust or negligible-balance accounts.

## Known failure modes

- Missing or invalid ownerAddress returns a 400 or validation error
- Non-existent wallet returns an empty result set rather than an error
- Payment not sent or insufficient USDC triggers a 402 Payment Required response with x-payment-info header
- Both sortByAsc and sortByDesc provided simultaneously results in a 400 error
- Pagination beyond available results returns an empty page
- Network or node timeouts may return 503 errors

## How this service works

Same as the single-wallet dust accounts endpoint, but accepts up to 10 wallet addresses in a single request.
Returns a combined list of dust 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 dust token accounts associated with the queried wallet, each entry containing the token account address, mint address, token name, symbol, balance, estimated USD value, and rent cost in SOL. The response follows the DustAccountsResponse schema and reflects the requested sort order and page.

## 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 dust accounts to return across all wallets. Defaults to 1000."
  },
  "sortByAsc": {
   "type": "string",
   "nullable": true,
   "description": "Sort ascending by 'tokenAccountAddress', 'mintAddress', 'name', 'symbol', 'balance', 'valueUsd', 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', 'balance', 'valueUsd', 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": [
  "dustAccounts",
  "totalDustAccounts",
  "totalDustValueSol",
  "totalDustValueUsd",
  "totalRentReclaimSol",
  "totalRentReclaimUsd"
 ],
 "properties": {
  "dustAccounts": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "tokenAccountAddress",
     "mintAddress",
     "balance",
     "decimals",
     "rentSol",
     "case"
    ],
    "properties": {
     "case": {
      "enum": [
       "lowValue",
       "noPrice",
       "unknown"
      ],
      "type": "string"
     },
     "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."
     },
     "balance": {
      "type": "string",
      "description": "The balance of the token account, in human-readable format (i.e. scaled by decimals)."
     },
     "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",
      "nullable": true,
      "description": "Rent reserved for this token account in USD (based on current SOL price), if available. Assumes standard 165-byte account size."
     },
     "decimals": {
      "type": "integer",
      "format": "int32",
      "description": "The decimals of the token."
     },
     "valueUsd": {
      "type": "string",
      "nullable": true,
      "description": "The value of the token account in USD, calculated as balance * price, if available."
     },
     "mintAddress": {
      "type": "string",
      "description": "The mint address of the token of the account."
     },
     "tokenAccountAddress": {
      "type": "string",
      "description": "The public key of the token account."
     }
    }
   },
   "description": "A paginated list of dust accounts for the wallet, where dust accounts are defined as token accounts with very low value (e.g. below $1) or no price information available."
  },
  "totalDustAccounts": {
   "type": "integer",
   "format": "int64",
   "description": "The total number of dust accounts for the wallet, including those not returned in this pagin
… (truncated)
```

## More

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