> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbitflare.com/llms.txt
> Use this file to discover all available pages before exploring further.

# getAssetProofBatch

> Get Merkle proofs for up to 1,000 Solana compressed NFTs in one request with DAS getAssetProofBatch on OrbitFlare.

## Overview

`getAssetProofBatch` returns Merkle proofs for many compressed assets at once, which helps when you transfer or burn several compressed NFTs in a row.

This method is also available as `getAssetProofs`.

## Parameters

<ResponseField name="ids" type="string[]" required>
  Compressed asset IDs (base-58). At most 1,000.
</ResponseField>

## Response

<ResponseField name="result" type="object">
  An object keyed by asset ID. Each value is a proof with the same fields as [getAssetProof](/das-api/methods/getAssetProof), or `null` if no proof was found for that ID.
</ResponseField>

## Code Examples

### Request

```bash theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
curl https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getAssetProofBatch",
  "params": {
    "ids": ["JEKNNLZK6uQaQUEUz9GRoYZ7buHQ4rTN6k3qhX9NG8qU"]
  }
}'
```

### Response

```json theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
{
  "jsonrpc": "2.0",
  "result": {
    "JEKNNLZK6uQaQUEUz9GRoYZ7buHQ4rTN6k3qhX9NG8qU": {
      "last_indexed_slot": 457714577,
      "root": "3wxyaNRvzuZqDd9jtqthCu87spdKuhcpaKVzP1msGyHW",
      "proof": [
        "8mjbWMPrBwYJeEmQbeYLR7mscS4umW4U3kxibuH8hcY1",
        "DV31TLc5BXCnCQMaQ9H6empbG9i69w4AWkjR5RPiyXr8",
        "G6f1pEKetujNm6JXQxD47eBudxLV1irR1U5atpAXBb4q"
      ],
      "node_index": 1671570,
      "leaf": "CcMhrzXFkjyLwZdijjRibgSYw4tUzXYALoCxwms4aMFH",
      "tree_id": "E7fYCRWkNykc8HNZvEMRj5GuNYSwJ3WjA6HuLsh3YHvL"
    }
  },
  "id": 1
}
```

The proof array is shortened. A full proof has one node per tree level.

### TypeScript

```typescript theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
const RPC_URL = 'https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY';

async function getAssetProofBatch(ids: string[]) {
  const response = await fetch(RPC_URL, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      jsonrpc: '2.0',
      id: 1,
      method: 'getAssetProofBatch',
      params: { ids },
    }),
  });
  const { result, error } = await response.json();
  if (error) throw new Error(error.message);

  const missing = ids.filter((id) => result[id] == null);
  if (missing.length) console.warn('No proof for', missing);
  return result;
}
```

## Common Errors

| Code | Message | Solution |
| - | - | - |
| -32602 | Batch Size Error. Batch size should not be greater than 1000. | Split the IDs into chunks of 1,000 |
| -32602 | Pubkey Validation Err: ... is invalid | Every ID must be valid base-58 |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.