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

# API Reference

> Conventions used across all cNGN API endpoints

## Base URL

```text theme={null}
https://api.cngn.co/v1/api
```

## Authentication

All endpoints require a Bearer API key and a whitelisted source IP:

```bash theme={null}
Authorization: Bearer cngn_live_xxxxxxxxxxxxx
```

See [Authentication](/guides/authentication).

## Encrypted payloads

<Warning>
  **Request bodies** on `POST`/`PUT` endpoints must be AES-256-CBC encrypted and sent as `{ "content": "...", "iv": "..." }`. **Response `data` fields** are encrypted to your Ed25519 public key.

  For readability, every example in this reference shows the **plain (decrypted) payloads**. On the wire, both are encrypted. See the [Encryption guide](/guides/encryption), or use an [official SDK](/sdks) which handles it transparently.
</Warning>

## Endpoints at a glance

| Method | Path                         | Description                                 | Permission   |
| ------ | ---------------------------- | ------------------------------------------- | ------------ |
| GET    | `/balance`                   | Get cNGN balances                           | None         |
| GET    | `/transactions`              | Paginated transaction history               | None         |
| GET    | `/networks`                  | List supported blockchain networks          | None         |
| GET    | `/virtual-account`           | Get your dedicated deposit account(s)       | Fiat Deposit |
| POST   | `/virtual-account/temporary` | Create a one-time deposit account           | Fiat Deposit |
| POST   | `/redeemAsset`               | Redeem cNGN to a bank account               | Redeem       |
| POST   | `/account/verify`            | Resolve a bank account name                 | None         |
| GET    | `/banks`                     | List supported banks with codes             | None         |
| PUT    | `/bank-account`              | Update your settlement bank account         | None         |
| POST   | `/withdraw`                  | Withdraw cNGN to an external wallet         | Send Crypto  |
| GET    | `/withdraw/verify/{tnxRef}`  | Check a withdrawal's status                 | None         |
| POST   | `/bridge-quote`              | Get fees and receivable amount for a bridge | Swap         |
| POST   | `/bridge`                    | Bridge cNGN between networks                | Swap         |
| POST   | `/whitelist`                 | Whitelist an external wallet address        | None         |
| GET    | `/whitelisted`               | List whitelisted addresses                  | None         |

## Rate limits

20 requests per 60 seconds per API key. Exceeding it blocks the key for 60 seconds with a `429`. See [Rate Limiting](/guides/rate-limits).
