# Sandbox

The Minit Money **Sandbox Environment** allows partners to build, test, and validate their remittance flows safely before going live. It mirrors the production RaaS platform, including sender onboarding, beneficiary creation, quoting, transaction lifecycle, corridor availability, and webhook events — but uses simulated data, test corridors, and non-monetary settlement.&#x20;

The sandbox enables your development and product teams to integrate quickly, experiment freely, and confirm behaviour without touching real funds or triggering compliance workflows.&#x20;

**1. Full API Parity**&#x20;

The sandbox reflects the same structure, endpoints, and request/response models as production:&#x20;

* Sender & Beneficiary management&#x20;
* KYC status simulation&#x20;
* Quote generation (FX + fees)&#x20;
* Transaction creation, status changes, and error simulation&#x20;
* Webhook notifications&#x20;
* Corridor and payout method discovery&#x20;

Anything you can do in production; you can rehearse in a sandbox.&#x20;

**2. Safe Test Corridors**&#x20;

Sandbox corridors simulate real-world routes (e.g., “South Africa→ Uganda”), including:&#x20;

* FX conversion behaviour&#x20;
* Payout method availability&#x20;
* Limits and compliance outcomes&#x20;
* Timing and settlement states&#x20;

But **no real funds move**, and no real payout partners are triggered.&#x20;

**3. Simulated KYC Outcomes**&#x20;

You can trigger KYC states by using specific test input patterns, allowing your team to test:&#x20;

* Verified&#x20;
* Pending&#x20;
* Manual review &#x20;
* Missing documentation&#x20;
* Rejected&#x20;

This helps you validate your onboarding UX and edge-case handling.&#x20;

**4. Transaction Simulation**&#x20;

Developers can test the complete transaction lifecycle:&#x20;

* Quotation&#x20;
* Confirmation&#x20;
* Funding validations&#x20;
* FX conversion&#x20;
* Payout execution&#x20;
* Completion or failure&#x20;

The sandbox can return various outcomes (successful, insufficient funds, payout failure) based on your configured test scenarios.&#x20;

**5. Webhook Testing**&#x20;

We send a single transaction-status webhook; KYC and payout outcomes appear as specific status values.&#x20;

* sender.verified&#x20;
* beneficiary.verified&#x20;
* transaction.created&#x20;
* transaction.completed&#x20;
* transaction.failed&#x20;
* payout.success&#x20;
* payout.pending&#x20;

This enables you to ensure your backend handles asynchronous events correctly.&#x20;

**Getting Started**&#x20;

1. **Obtain a Sandbox API Key**&#x20;

Your sandbox key allows unlimited testing and is isolated from production.&#x20;

Please reach out to us at the following email: XYZ&#x20;

Our customer support team will provide you with sandbox keys.&#x20;

2. **Use the Sandbox Base URL**&#x20;

To obtain access to the sandbox, please contact us at <https://minitmoney.enterprises/contact>&#x20;

3. **Create test senders and beneficiaries**&#x20;

Use dummy data — no real KYC is performed.&#x20;

4. **Generate quotes and initiate simulated transactions**&#x20;
5. **Verify webhook handling**&#x20;

Register a test webhook endpoint and monitor events.&#x20;

6. **Move to production**&#x20;

Once your flows are validated, Minit Money activates your production keys and enables live corridors.&#x20;

**Best Practices**&#x20;

* Use unique sender IDs for each test scenario&#x20;
* Test all error states before going live&#x20;
* Verify your retry logic for webhooks&#x20;
* Validate KYC states against your onboarding UX&#x20;
* Mirror your production logic exactly to avoid surprises later&#x20;

&#x20;

&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.minitmoney.enterprises/get-started/sandbox.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
