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

# API products

> Working Merchant API products and how they map to the API reference.

# API products

Products below match the **API reference** tab. Use [Sign requests](https://docs.sendpadi.com/guides/sign-requests.md) for playground headers. Writes that move money need `Idempotency-Key` and the matching `*:write` scope.

***

## Core API

| Endpoint | Path |
| - | - |
| [Get wallets](https://docs.sendpadi.com/api-reference/wallets/get-wallets.md) | `GET /wallets` |
| [List transactions](https://docs.sendpadi.com/api-reference/transactions/list-transactions.md) | `GET /transactions` |

Scopes: `wallets:read`, `transactions:read`.

***

## Transfers (NGN local)

```
List banks → Validate account → Local transfer → Get transfer
```

| Step | Endpoint |
| - | - |
| 1 | [List banks](https://docs.sendpadi.com/api-reference/transfers/list-banks.md) |
| 2 | [Verify account](https://docs.sendpadi.com/api-reference/transfers/validate-transfer.md) |
| 3 | [Local transfer](https://docs.sendpadi.com/api-reference/transfers/create-transfer.md) |
| 4 | [Get transfer](https://docs.sendpadi.com/api-reference/transfers/get-transfer.md) |

Scopes: `transfers:read`, `transfers:write`. Use the `accountName` from validate on create.

***

## Identity (BVN / NIN)

```
List products → Validate BVN, look up BVN (full), or look up NIN
```

| Step | Endpoint |
| - | - |
| 1 | [List products](https://docs.sendpadi.com/api-reference/identity/list-products.md) |
| 2 | [Validate BVN](https://docs.sendpadi.com/api-reference/identity/verify-bvn-basic.md) · [Look up BVN (full)](https://docs.sendpadi.com/api-reference/identity/verify-bvn-enhanced.md) |
| 3 | [Verify NIN (basic)](https://docs.sendpadi.com/api-reference/identity/verify-nin-basic.md) · [enhanced](https://docs.sendpadi.com/api-reference/identity/verify-nin-enhanced.md) |

Scopes: `identity:read`, `identity:write`. Writes need **Idempotency-Key**. Live keys debit your NGN wallet when the provider answers (including not-found); provider-down errors are refunded.

Start: [Identity overview](https://docs.sendpadi.com/api-reference/identity/overview.md)

***

## VAS (bill payments + eSIM)

Base: `/api/v1/merchant/vas` · scopes `vas:read`, `vas:write`

### Shared

| Endpoint | Notes |
| - | - |
| [List billers](https://docs.sendpadi.com/api-reference/vas/list-billers.md) | `category` = airtime, data, cable, electricity, betting, internet, esim, or all |
| [Get VAS transaction](https://docs.sendpadi.com/api-reference/vas/get-transaction.md) | Poll after purchase |

### Airtime & data

| Endpoint | Network / planId |
| - | - |
| [Purchase airtime](https://docs.sendpadi.com/api-reference/vas/airtime.md) | `network` from billers (`MTN`, `AIRTEL`, `GLO`, `NINE_MOBILE`) |
| [Purchase data](https://docs.sendpadi.com/api-reference/vas/data.md) | Use `plans[].planId` slug (e.g. `mtn_1gb_7d`), not UUID `id` |

### Cable & electricity (validate first)

| Endpoint | Notes |
| - | - |
| [Validate cable](https://docs.sendpadi.com/api-reference/vas/validate-cable.md) | `provider`: DSTV, GOTV, STARTIMES, SHOWMAX |
| [Pay cable TV](https://docs.sendpadi.com/api-reference/vas/cable.md) | After validate |
| [Validate electricity](https://docs.sendpadi.com/api-reference/vas/validate-electricity.md) | `planId` slug e.g. `ekedc_prepaid` |
| [Pay electricity](https://docs.sendpadi.com/api-reference/vas/electricity.md) | Same slug `planId` from billers |

### Other VAS

| Endpoint | Notes |
| - | - |
| [Fund betting](https://docs.sendpadi.com/api-reference/vas/betting.md) | `provider` from `category=betting` |
| [Pay internet](https://docs.sendpadi.com/api-reference/vas/internet.md) | Plan from billers |
| [Purchase eSIM](https://docs.sendpadi.com/api-reference/esim/purchase-esim.md) | `category=esim` → `locationCode` → package UUID `id` (not `packageCode`) |

***

## Gift cards

Buy catalog → pricing → order. Sell catalog → pricing → sell order.

| Area | Start |
| - | - |
| Buy | [Overview](https://docs.sendpadi.com/api-reference/gift-cards/overview.md) → products / brands / pricing → [Create order](https://docs.sendpadi.com/api-reference/gift-cards/create-order.md) |
| Sell | Sell countries → brands → offers → [Sell order](https://docs.sendpadi.com/api-reference/gift-cards/sell-order.md) |

Scopes: `gift-cards:read`, `gift-cards:write`.

***

## Virtual cards

```
Create → Get / List → Fund · Freeze · Unfreeze · Withdraw → Close (2-step)
```

| Endpoint | Notes |
| - | - |
| [Create card](https://docs.sendpadi.com/api-reference/virtual-cards/create-card.md) | Live key often required |
| [Fund](https://docs.sendpadi.com/api-reference/virtual-cards/fund-card.md) / [Withdraw](https://docs.sendpadi.com/api-reference/virtual-cards/withdraw.md) | Idempotency-Key |
| [Close](https://docs.sendpadi.com/api-reference/virtual-cards/close-card.md) → [Confirm close](https://docs.sendpadi.com/api-reference/virtual-cards/confirm-close.md) | Two-step |

Scopes: `virtual-cards:read`, `virtual-cards:write`.

***

## Crypto (may be disabled)

If crypto is OFF for your merchant, calls fail until enabled.

```
Enable / wallets → Quotes → Buy · Sell · Send · Swap → Confirm intent
```

Start: [Crypto overview](https://docs.sendpadi.com/api-reference/crypto/overview.md)

Scopes: `crypto:read`, `crypto:write`. Writes usually need a **live** key + Idempotency-Key.

***

## Webhooks

Configure HTTPS callbacks in the portal. Verify `X-SendPadi-Signature`.

* [Webhooks overview](https://docs.sendpadi.com/api-reference/webhooks/overview.md)
* [Verifying webhooks](https://docs.sendpadi.com/api-reference/webhooks/verifying.md)


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