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

> ## Agent Instructions
> Bitnob API requests authenticate with an `X-Auth-Client` API key header against https://api.bitnob.com.
> Always use the sandbox environment for testing. Never put live API keys in sample code.
> Money amounts are integers in the smallest unit of the currency (satoshis for BTC, cents for fiat). Never use floats.
> Every state-changing request takes a client-supplied `reference` and must be treated as idempotent on retry.
> Quotes expire. Re-quote rather than reusing a stale quote id.

# Bitnob Enterprise API quickstart

> Make your first Bitnob Enterprise API calls: confirm your API key, list supported chains, find your vault, and create a wallet in it.

This quickstart is for the **Bitnob Enterprise API**, Bitnob's non-custodial wallet infrastructure. If you want Bitnob to hold the balance and settle payouts, cards, or trades for you, use the [Bitnob Business API quickstart](https://www.bitnob.dev/docs/getting-started/quickstart.md) instead.

Every request goes to `https://api.platform.bitnob.com` with your key in the `X-API-Key` header. There's no request signing.

**1. Get an API key**

Create a key in the Bitnob dashboard, as described in [Set up your account](https://www.bitnob.dev/docs/platform/account-setup.md#create-an-api-key), and store it server-side. The key decides the environment: a live key works on mainnet, and a sandbox key on testnets.

```bash theme={null}
export PLATFORM_API_KEY=your_api_key
```

**2. Confirm the key works**

[Get API key info](https://www.bitnob.dev/api-reference/platform/meta/get-api-key-info.md) returns the key, the organization it belongs to, and the scopes it carries.

```bash theme={null}
curl https://api.platform.bitnob.com/v1/me \
  -H "X-API-Key: $PLATFORM_API_KEY"
```

```json theme={null}
{
  "id": "d6c33cfa-7ffa-492a-b7da-dd3b4e1f013b",
  "object": "api_key",
  "name": "playground-work",
  "organization_id": "00000000-0000-4000-8000-000000000001",
  "scopes": [
    "transactions:create",
    "transactions:read",
    "vaults:view",
    "wallets:create",
    "wallets:read"
  ],
  "api_version": "v1",
  "created_at": "2026-10-18T07:16:33.516081Z"
}
```

The scope list is shortened here. A missing or wrong key returns `401` with a code you can branch on:

```json theme={null}
{
  "error": {
    "type": "authentication_error",
    "code": "not_authenticated",
    "message": "Invalid or expired API key"
  }
}
```

**3. See the chains you can use**

[List chains](https://www.bitnob.dev/api-reference/platform/assets/list-chains.md) returns every supported chain and its networks.

```bash theme={null}
curl https://api.platform.bitnob.com/v1/assets/chains \
  -H "X-API-Key: $PLATFORM_API_KEY"
```

```json theme={null}
{
  "object": "list",
  "data": [
    { "id": "bitcoin", "object": "chain", "name": "bitcoin", "networks": ["mainnet", "testnet"] },
    { "id": "ethereum", "object": "chain", "name": "ethereum", "networks": ["mainnet", "sepolia"] },
    { "id": "polygon", "object": "chain", "name": "polygon", "networks": ["mainnet", "amoy"] }
  ]
}
```

The list is shortened here.

**4. Find your vault**

Wallets live inside a vault, and vaults are created in the dashboard, not over the API. Once you have one, [List vaults](https://www.bitnob.dev/api-reference/platform/vaults/list-vaults.md) returns its `id`:

```bash theme={null}
curl https://api.platform.bitnob.com/v1/vaults \
  -H "X-API-Key: $PLATFORM_API_KEY"
```

Lists share one shape. A new organization with no vaults yet returns:

```json theme={null}
{
  "object": "list",
  "data": [],
  "has_more": false,
  "url": "/v1/vaults"
}
```

**5. Create a wallet**

[Create wallet](https://www.bitnob.dev/api-reference/platform/wallets/create-wallet.md) needs a `name`, a `chain`, and the `vault_id`. It also needs an `Idempotency-Key` header, so a retried request can't create a second wallet.

```bash theme={null}
curl -X POST https://api.platform.bitnob.com/v1/wallets \
  -H "X-API-Key: $PLATFORM_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "name": "treasury-btc",
    "chain": "bitcoin",
    "vault_id": "<your vault id>"
  }'
```

The wallet's primary address is created with it. Leave out `Idempotency-Key` and the request fails before anything is created:

```json theme={null}
{
  "error": {
    "type": "invalid_request_error",
    "code": "idempotency_key_required",
    "message": "Idempotency-Key header is required",
    "param": "Idempotency-Key"
  }
}
```

## Next steps

> [card] [Core concepts](https://www.bitnob.dev/docs/platform/core-concepts.md)
>
> How organizations, vaults, wallets, and addresses fit together.

> [card] [Making requests](https://www.bitnob.dev/docs/platform/making-requests.md)
>
> Versioning, idempotency, pagination, errors, and rate limits.

> [card] [Best practices](https://www.bitnob.dev/docs/platform/best-practices.md)
>
> Key handling, policies, and safe retries.

> [card] [Bitnob Enterprise API reference](https://www.bitnob.dev/api-reference/platform/meta/get-api-key-info.md)
>
> Every endpoint, with request and response schemas.


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