Skip to main content
The RemitFlex sandbox is an isolated environment that mirrors the production API exactly, but no real funds move and no real bank transfers occur. Use it to build and validate your integration end-to-end before switching to live API keys.

Sandbox vs. live environment

SandboxLive
Base URLhttps://sandbox.api.remitflex.com/v1https://api.remitflex.com/v1
API key prefixrf_test_rf_live_
Real money movesNoYes
KYB/KYC requiredNoYes
Settlement speedSecondsMinutes to days
Webhook deliveryYes (same as live)Yes
Sandbox API keys (prefix rf_test_) can never initiate real-money transfers, even if pointed at the live base URL by mistake. The key prefix determines the environment — live keys only work with the live base URL.

Get your sandbox API keys

1
Open API key settings
2
In the RemitFlex dashboard, go to Settings → API Keys.
3
Switch to the Sandbox tab
4
Toggle the environment selector to Sandbox at the top of the page.
5
Create a new key
6
Click Generate new key, give it a descriptive name (e.g., local-dev), and copy the key immediately. It is shown only once.
7
Set your base URL
8
Point your HTTP client at https://sandbox.api.remitflex.com/v1 and use your rf_test_ key in the Authorization header.

Pre-funded test wallets

Sandbox accounts come pre-loaded with test stablecoin balances so you can start making payments immediately:
CurrencyPre-funded amount
USDC1,000,000
USDT1,000,000
EURC1,000,000
These are test tokens — they have no real value and cannot be withdrawn. If you exhaust your sandbox balance, top it up from Dashboard → Sandbox → Fund wallet.

Simulate specific payment outcomes

The sandbox uses magic amounts to deterministically trigger different payment outcomes. Set the payment amount to a value ending in the decimal suffix shown below to force a particular result.
Magic amounts let you reproduce every possible payment state in automated tests without waiting for real banking networks. Write test cases that cover each outcome to make your error handling and webhook logic bulletproof before going live.
Amount ending inOutcomeStatus / Error
.00Payment succeeds normallydelivered
.01Payment fails — insufficient fundsfailed / INSUFFICIENT_FUNDS
.02Payment fails — recipient bank rejectedfailed / RECIPIENT_BANK_REJECTED
.03Payment enters compliance reviewcompliance_review
Exactly 9999.99Rate limit error triggeredHTTP 429
Example — trigger a recipient bank rejection:
curl
curl -X POST https://sandbox.api.remitflex.com/v1/payments \
  -H "Authorization: Bearer rf_test_YOUR_SANDBOX_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "quote_id": "qt_01HX9M2P4KZBN8VXQR7YWT3CD",
    "amount": 500.02,
    "currency": "USDC",
    "destination_currency": "EUR",
    "reference": "test-rejection",
    "recipient": {
      "name": "Test Recipient",
      "account_number": "DE89370400440532013000",
      "bank_code": "DEUTDEDB",
      "bank_country": "DE"
    }
  }'
Expected failure response:
{
  "id": "pmt_01HX4N3RKVZWP9QJDB6CTYMX8",
  "status": "failed",
  "failure_reason": "RECIPIENT_BANK_REJECTED",
  "failure_message": "The recipient's bank declined to accept the transfer.",
  "amount": 500.02,
  "currency": "USDC"
}

Sandbox webhooks

Webhooks work identically in the sandbox and live environments. RemitFlex delivers events to your registered endpoint with the same payload structure and the same HMAC-SHA256 signature. Register a sandbox-specific endpoint in Dashboard → Settings → Webhooks and set the environment toggle to Sandbox.
Use a tool like ngrok or Hookdeck during local development to expose your localhost server as a public HTTPS URL for webhook delivery.

Sandbox payment speed

Sandbox payments skip real banking networks and complete in seconds rather than minutes or hours. This lets you run end-to-end integration tests quickly without waiting for settlement windows.
StepSandbox timingLive timing
pendingprocessing~1 second10–30 seconds
processingsettled~2 seconds1–15 minutes
settleddelivered~2 secondsHours to days

Environment isolation

Sandbox data is fully isolated from production. Payments, conversions, off-ramps, and webhook events created with a sandbox key never appear in your live dashboard, and vice versa. Always use separate API keys for each environment and never mix rf_test_ and rf_live_ keys in the same configuration.
Do not log or commit live API keys (rf_live_) to version control. Use environment variables or a secrets manager. Sandbox keys (rf_test_) are safe to use in local development but should still be kept out of public repositories.