# Vybe Solana Analytics API — Batch NFT Balances

> Vybe Solana Analytics API — Batch NFT Balances is a paid API for AI agents from x402-api.vybenetwork.xyz, paid per call via x402, $0.03/call, status down (last checked 2026-10-25).

Fetches NFT balances for multiple Solana wallet addresses in a single batch request, returning on-chain NFT holdings per wallet.

## Facts

- Endpoint: POST https://x402-api.vybenetwork.xyz/v4/wallets/batch/nft-balances?utm_source=zero.xyz
- Price: $0.03/call
- Payment: x402
- Status: down
- Last checked: 2026-10-25
- Activations on Zero: 0
- Tags: x402, finance
- Canonical page: https://www.zero.xyz/c/vybe-solana-analytics-api-batch-nft-balances-c76a22e9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_2fk889Q5bRBXgsScj2ik9

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-nft-balances-c76a22e9 -d '<json body>'
```

Example prompt: Pull the NFT balances for these Solana wallets all at once: GsK9...Abc, 7xPq...Def, and BnRt...Xyz — I want to see what NFTs each one holds on-chain.

## When to prefer this

Use this endpoint when you need to retrieve NFT balances for multiple Solana wallets simultaneously without polling individual wallet endpoints. It is the right choice for portfolio dashboards, airdrop eligibility checks, or any scenario involving bulk NFT ownership lookups on Solana. Prefer this over single-wallet lookups when you have 2 or more addresses to check.

## Known failure modes

- Invalid or malformed Solana wallet addresses return a 400 error
- Payment not provided or insufficient USDC causes a 402 Payment Required response with x-payment-info header
- Too many wallet addresses in a single batch may return a 413 or rate-limit error
- Network or RPC issues may cause partial data or 503 responses
- Non-existent wallets return empty NFT balance arrays rather than errors

## How this service works

Solana API endpoint for fetching multi-wallet NFT balances with collection metadata, floor prices, and aggregated portfolio values across multiple wallets.

## Output

Returns a structured list of NFT balances per wallet address, including NFT collection details, token counts, and on-chain holdings for each queried Solana public key.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "ownerAddresses"
 ],
 "properties": {
  "page": {
   "type": "integer",
   "format": "int32",
   "minimum": 0,
   "nullable": true,
   "description": "The requested page."
  },
  "limit": {
   "type": "integer",
   "format": "int32",
   "minimum": 0,
   "nullable": true,
   "description": "The limit of entries to return (per wallet). If not passed, first 1000 entries are returned (the maximum)."
  },
  "sortByAsc": {
   "type": "string",
   "nullable": true,
   "description": "Sort ascending based on amount or value of positions. Only one of sort_by_asc or sort_by_desc can be used"
  },
  "sortByDesc": {
   "type": "string",
   "nullable": true,
   "description": "Sort descending based on amount or value of positions. Only one of sort_by_asc or sort_by_desc can be used"
  },
  "ownerAddresses": {
   "type": "array",
   "items": {
    "type": "string",
    "format": "pubkey"
   },
   "description": "Wallets to include in the returned results (max 10)."
  },
  "includeNoPriceBalance": {
   "type": "boolean",
   "nullable": true,
   "description": "Whether or not we should include NFTs we do not track prices for."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "date",
  "ownerAddresses",
  "totalSol",
  "totalUsd",
  "totalNftCollectionCount",
  "data"
 ],
 "properties": {
  "data": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "collectionAddress",
     "totalItems",
     "valueSol",
     "priceSol",
     "valueUsd",
     "priceUsd",
     "slot"
    ],
    "properties": {
     "name": {
      "type": "string",
      "nullable": true,
      "description": "Symbol for the NFT"
     },
     "slot": {
      "type": "integer",
      "format": "int64",
      "description": "Slot for the most recent update to the NFT balance"
     },
     "logoUrl": {
      "type": "string",
      "nullable": true,
      "description": "Logo URL for the NFT"
     },
     "priceSol": {
      "type": "string",
      "description": "Price of the NFT in SOL"
     },
     "priceUsd": {
      "type": "string",
      "description": "Price of the NFT in USD"
     },
     "valueSol": {
      "type": "string",
      "description": "Value of the held NFT in SOL"
     },
     "valueUsd": {
      "type": "string",
      "description": "Value of the held NFT in USD"
     },
     "totalItems": {
      "type": "integer",
      "format": "int32",
      "description": "Amount of the NFT"
     },
     "collectionAddress": {
      "type": "string",
      "description": "Public key of the NFT collection"
     }
    }
   },
   "description": "NFTs in the wallet (up to limit)"
  },
  "date": {
   "type": "integer",
   "minimum": 0,
   "description": "Datetime of the report as a Unix timestamp"
  },
  "totalSol": {
   "type": "string",
   "description": "Value of the wallet in SOL"
  },
  "totalUsd": {
   "type": "string",
   "description": "Value of the wallet in USD"
  },
  "ownerAddresses": {
   "type": "array",
   "items": {
    "type": "string",
    "format": "pubkey"
   },
   "description": "Owners of the wallets"
  },
  "totalNftCollectionCount": {
   "type": "integer",
   "format": "int64",
   "minimum": 0,
   "description": "Total number of nft collections in the wallet"
  }
 }
}
```

## More

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