rmf_test_ keys against https://api.remitflex.io/v1. Create keys in the dashboard with api:read and api:write (full access).
Environment is encoded in the key prefix (or dashboard
X-Remitflex-Environment header for JWT sessions). There is no separate sandbox hostname.
All curl examples below use
rmf_test_ keys. They exercise Remitflex APIs end-to-end with simulated provider settlement — not testnet deposits or real fiat rails.Simulated settlement
Test mode never calls external Relay, PayCrest, or StRails APIs. Instead:- Create — Your API call returns a simulated deposit address and provider id (for example
sim_relay_…). - Auto-settle — After about 8 seconds (
SANDBOX_AUTO_SETTLE_MS), the in-process simulator marks the request successful and fills synthetic tx hashes. - Sync — Background jobs and read paths sync simulated status into your payment routes, collections, swaps, and offramps — same as live mode.
- Force — Skip the wait with
POST /v1/sandbox/simulate(test environment only).
provider values: relay, paycrest, strails. Optional status overrides the default terminal status (for example "failed").
Requires a test key with an api:write secret key.
Payment link (invoice)
payUrl. The pay page shows a simulated deposit address. Settlement completes automatically (~8s) or when you call /sandbox/simulate with the Relay request id from the collection.
Checkout link
payUrl for every visitor. Each quote creates a session — list them with GET /collections/{collectionId} (checkout parent UUID).
Payment route
Offramp quote
Verify your key hasapi:read:
Webhooks
Create a key withapi:write, then register an HTTPS receiver:
secret once, then POST /webhooks/{webhookEndpointId}/test to queue a webhook.test ping for that endpoint ({webhookEndpointId} is the RemitFlex webhook endpoint UUID from POST /webhooks; the test bypasses the event allowlist). Simulated settlements still emit real outbound webhooks to your endpoint. See Webhooks.
If you register with a narrow events allowlist, money events still require those types to be listed — only the dedicated test ping is exempt.
Retries
SendIdempotency-Key on every mutating request. Reuse the same key to safely retry after a timeout; use a new key for each distinct operation.