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

# Introduction

> Unified Mobile Money sandbox API for francophone Africa

SandPay is a unified Mobile Money sandbox API covering **MTN, Orange, Moov, and Airtel** across four African markets (Côte d'Ivoire, Bénin, Togo, Rwanda). One API surface, one key, deterministic responses, realistic latencies — and no real money moving.

## Who is it for?

SandPay is built for teams integrating Mobile Money in Africa who want to **exercise the critical path** (success, invalid PIN, insufficient funds, timeouts, operator maintenance…) safely. Instead of juggling four developer portals, four authentication formats, and four distinct error schemas, your applications talk to `api.sandpay.dev` and SandPay translates internally.

## Why a unified sandbox?

Every operator has its own portal, its own OAuth formats, its own native error codes (`PIN_INVALID` on MTN, `INSUFFICIENT_FUNDS` on Orange…). SandPay normalises all of that into 11 canonical statuses (`SUCCESS`, `PIN_INVALID`, `INSUFFICIENT_FUNDS`, `TIMEOUT`, …) and 10 reproducible scenarios you trigger with a single `scenario` field in the request.

## Ready to get started?

<Tip>
  **New**: try the [Stack Builder](/en/quickstart) for a zero-copy-paste setup — download a pre-filled starter zip with your keys and run `./setup.sh`.
</Tip>

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/en/quickstart">
    First simulated payment in 10 minutes — Stack Builder (starter zip) or manual integration.
  </Card>

  <Card title="API Reference" icon="book" href="/en/api-reference/overview">
    Endpoints, schemas, error codes — the full spec.
  </Card>
</CardGroup>

<Tip>
  Everything is simulated in sandbox — no real money moves. Every `sp_sk_test_...` key produces simulated transactions at no cost.
</Tip>
