Sandbox Testing
The sandbox environment mirrors production but uses simulated payment providers. No real money moves, and all external integrations (NIBSS, Interswitch) return predictable responses.
Sandbox Base URL
https://api.korastratum.com/api/v1/cba
All endpoint paths are identical to production. Both environments use the same base URL — your API key prefix determines the environment.
Test Credentials
| Field | Value |
|---|---|
| Tenant ID | demo_bank |
| JWT Issuer | cba-platform |
| JWT Audience | cba-api |
Generate a sandbox API key from the dashboard under Settings → API Keys. Select the Sandbox environment and choose the role and scopes you need.
Test Accounts
The sandbox is pre-seeded with GL accounts and customer accounts:
GL Accounts
| Account Number | Name | Category | Balance (NGN) |
|---|---|---|---|
1101 | Cash on Hand | asset | 50,000,000.00 |
1102 | Bank Balances | asset | 100,000,000.00 |
2101 | Savings Deposits | liability | 30,000,000.00 |
2102 | Current Deposits | liability | 20,000,000.00 |
4101 | Interest Income | revenue | 0.00 |
4201 | Fee Income | revenue | 0.00 |
Customer Accounts
| Account Number | Name | Type | Balance (NGN) |
|---|---|---|---|
1001000001 | Test User One | SAVINGS | 10,000,000.00 |
1001000002 | Test User One | CURRENT | 5,000,000.00 |
1001000003 | Test User Two | SAVINGS | 2,500,000.00 |
Fiscal Periods
The sandbox includes open fiscal periods for the current year. A test period 13 (year-end adjustment) is also available.
Simulated Interbank Transfers
In sandbox mode, interbank transfers return predictable results:
| Destination Account | Behavior |
|---|---|
1111111111 | Succeeds immediately |
2222222222 | Succeeds after 5-second delay |
3333333333 | Fails with INSUFFICIENT_FUNDS |
4444444444 | Fails with INVALID_ACCOUNT |
5555555555 | Times out (simulates network failure) |
Name Enquiry
POST /api/v1/transfers/validate-account
| Account Number | Bank Code | Returns |
|---|---|---|
1111111111 | Any | JANE SMITH |
2222222222 | Any | BOB JOHNSON |
9999999999 | Any | Error: ACCOUNT_NOT_FOUND |
Simulated Cross-Currency
Cross-currency transfers in sandbox use fixed exchange rates:
| From | To | Rate |
|---|---|---|
| NGN | USD | 1580.50 |
| NGN | GBP | 2010.00 |
| NGN | EUR | 1720.00 |
Rate Limits
Sandbox has higher rate limits:
| Endpoint Group | Sandbox | Production |
|---|---|---|
| General | 1,000 / min | 100 / min |
| Transfers | 300 / min | 30 / min |
| Journals | 500 / min | 50 / min |
Testing Webhooks
Use a tunnel service to receive webhook deliveries locally:
ngrok http 3000
Register your tunnel URL as a webhook endpoint. Sandbox deliveries are instant — no retry delays.
Differences from Production
| Feature | Sandbox | Production |
|---|---|---|
| Real money | No | Yes |
| NIBSS/Interswitch | Simulated | Live |
| Exchange rates | Fixed | Market rates |
| Webhook retries | Instant | Exponential backoff |
| Rate limits | 10x higher | Standard |
| TLS/mTLS | Optional | Required |
| Idempotency expiry | 1 hour | 24 hours |
Next Steps
- Quickstart — Walk through the full integration flow.
- Server Integration — Backend setup and error handling.
- Webhooks — Set up webhook receivers.