simulate-* endpoints that trigger transaction lifecycle progression.
What’s Real vs. Simulated
Prerequisites
- Sandbox API key (
rfk_sandbox_*) — see Sandbox Environment - Webhook endpoint configured in dashboard (or use webhook.site for testing)
Step 1: KYB Approval
Start KYB for your organization, then instantly approve it using the simulation endpoint.Step 2: Create Ramp Accounts
After KYB approval, create on-ramp and off-ramp accounts. These are provisioned through the sandbox banking infrastructure and return real-looking account details.Step 3: Simulate Transactions
Trigger transaction lifecycle simulation with a chosen scenario. The API responds immediately — the transaction progresses through statuses asynchronously in the background (~1.5s per step).On-Ramp Simulation
Off-Ramp Simulation
Simulation Scenarios
Choose ascenario to control which lifecycle path the transaction follows.
On-Ramp Scenarios
Off-Ramp Scenarios
Each status transition takes ~1.5 seconds. A full
success scenario completes in ~7.5 seconds. The reversed scenario takes ~10.5 seconds.Request Parameters
On-ramp simulation:
Off-ramp simulation:
Step 4: Verify via Webhooks or Polling
When a simulated transaction reaches a terminal state, RebelFi fires the same webhook events as production to your configured endpoint.reversed scenario fires transaction.completed first, then transaction.failed with error "reversed".
Fee Calculation
Simulated transactions use fixed fee rates:
Example — $10,000 transaction:
Recipient-Level Simulation
You can also simulate transactions at the recipient level:Simulation Endpoints Reference
Org-Level
Recipient-Level
Testing Checklist
Use this checklist to validate your integration covers all scenarios:KYB Flow
KYB Flow
- Start KYB and receive KYB URL
- Simulate KYB approval and verify
customer.approvedwebhook - Simulate KYB rejection and verify
customer.declinedwebhook - Verify your app handles both approval and rejection gracefully
On-Ramp
On-Ramp
- Create on-ramp account and store bank details
- Simulate
successscenario — verifytransaction.completedwebhook and amounts - Simulate
failedscenario — verifytransaction.failedwebhook and error handling - Simulate
rejectedscenario — verify your app handles rejections - Simulate
reversedscenario — verify your app handles both completed and reversed events - Verify transaction appears in transaction list
Off-Ramp
Off-Ramp
- Create off-ramp account with bank details
- Simulate
successscenario — verifyofframp_transaction.completedwebhook - Simulate
failedscenario — verifyofframp_transaction.failedwebhook - Verify transaction appears in off-ramp transaction list
Edge Cases
Edge Cases
- Call simulate endpoints before KYB approval — verify
400error - Attempt to simulate with an invalid recipient ID — verify
404error - Verify fee math matches expected values for your transaction amounts
Next Steps
Webhooks
Full webhook event reference
Quick Start
Production integration guide