## Buy storage

**Group:** Storage APIs

Use this when you need: **Buy storage**.

## Usage

```javascript
import { NeynarAPIClient, Configuration } from "@neynar/nodejs-sdk";

const client = new NeynarAPIClient(
  new Configuration({ apiKey: "YOUR_NEYNAR_API_KEY" })
);

const res = await client.buyStorage({
  xWalletId: "example", // Wallet ID to use for transactions
  buyStorageReqBody: { /* request body */ }, // required
});
console.log(res);
```

## Parameters

| Parameter           | Type                       | Required | Description                                |
|---------------------|----------------------------|----------|--------------------------------------------|
| `xWalletId`       | `string`                   | ✅       | Wallet ID to use for transactions          |
| `buyStorageReqBody`| `BuyStorageReqBody`        | ✅       | -                                          |

## Response

Returns a `RequestArgs` object.

## Error Handling

```javascript
try {
  const res = await client.buyStorage({
    xWalletId: "example",
    buyStorageReqBody: { /* request body */ }
  });
  // use res
} catch (err) {
  // Axios/HTTP errors, invalid params, auth issues, etc.
  console.error(err);
}
```

## Tips

- Provide a **viewerFid** when supported to respect mutes/blocks and include `viewer_context`.
- Keep requests scoped (e.g., use `limit`) to improve latency.
- Cache results where sensible.
