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

# Introduction

> TagPay Wallet API gives your business a complete wallet infrastructure — create customer wallets, process payments, issue cards, and receive real-time notifications.

The TagPay Wallet API is a business wallet platform built for merchants. It gives you the infrastructure to create and manage wallets for your customers, move funds, issue cards, verify identities, and respond to events in real time — all through a single REST API.

You interact with the API as a merchant. Your customers interact with wallets you provision on their behalf.

## What you can build

<CardGroup cols={2}>
  <Card title="Wallet management" icon="wallet" href="/concepts/wallets">
    Create wallets for your customers, check balances, credit and debit funds, and manage wallet lifecycle from a single endpoint.
  </Card>

  <Card title="Funds transfer" icon="arrow-right-arrow-left" href="/guides/funds-transfer">
    Send money to any Nigerian bank account via NIP, or transfer instantly between wallets on the platform.
  </Card>

  <Card title="Card issuance" icon="credit-card" href="/guides/card-issuance">
    Issue virtual and physical debit cards to your customers and control spending directly from your merchant account.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/guides/webhooks">
    Subscribe to real-time events for transactions, wallet creation, transfers, and status changes.
  </Card>

  <Card title="KYC verification" icon="shield-check" href="/guides/kyc-verification">
    Verify customer identity using BVN and NIN lookups. Wallet tier and status are determined automatically based on verification results.
  </Card>

  <Card title="Analytics" icon="chart-bar" href="/api/merchants/analytics">
    Monitor transaction trends, revenue breakdowns, customer growth, and volume metrics across your merchant account.
  </Card>
</CardGroup>

## Environments

TagPay provides two environments. Use **sandbox** to build and test without moving real money, and **production** when you are ready to go live.

| Environment | Base URL                                                         |
| ----------- | ---------------------------------------------------------------- |
| Sandbox     | `https://api.tagpay.ng/v1` (switch account mode to `SANDBOX`)    |
| Production  | `https://api.tagpay.ng/v1` (switch account mode to `PRODUCTION`) |

Your account mode determines which environment API calls run in. Switch between modes by calling `POST /merchant/account-mode` with `{ "mode": "SANDBOX" }` or `{ "mode": "PRODUCTION" }`.

<Note>
  All new merchant accounts start in sandbox mode. Sandbox wallets, transactions, and keys are completely isolated from production. You can fund a sandbox wallet at any time using `POST /merchant/fund-wallet` without real money.
</Note>

## How it works

<Steps>
  <Step title="Register your merchant account">
    Call `POST /merchant` to create your merchant account. You will receive a verification code by email and SMS to activate your account.
  </Step>

  <Step title="Verify and get API keys">
    Verify your account with the activation code, then retrieve your public and private API keys from `GET /merchant/my-access-keys`. Use these keys to sign webhook payloads.
  </Step>

  <Step title="Log in to get an access token">
    Call `POST /auth/login` with your email and password to receive an access token. Include this token as `Authorization: Bearer <token>` on every subsequent request.
  </Step>

  <Step title="Create customer wallets">
    Call `POST /wallet` with your customer's details. Each wallet gets a unique Nigerian bank account number for receiving funds.
  </Step>

  <Step title="Process transactions and receive webhooks">
    Credit, debit, and transfer funds. Subscribe to webhook events to receive real-time notifications for every status change.
  </Step>
</Steps>

## Next steps

<CardGroup cols={2}>
  <Card title="Quick start" icon="rocket" href="/quickstart">
    Make your first API call in under 5 minutes
  </Card>

  <Card title="Authentication" icon="key" href="/authentication">
    Learn how to authenticate every API request
  </Card>
</CardGroup>
