Helper API Reference
API reference for sandbox test event simulation.
Before You Start
Read the following guides before proceeding:
| Guide | Why |
|---|---|
| Getting Started | Platform overview and setup |
| Api Basics | Required headers and request configuration |
| Authentication | How to obtain access tokens |
| Onboarding | User and wallet registration |
| KYC | KYC verification requirements |
Overview
The Sandbox Helper API at https://ramc.wirexapp.tech provides endpoints to simulate external events for testing. All endpoints use the user's email address to identify accounts.
Interactive API documentation is available at https://ramc.wirexapp.tech/api-docs/.
Mint Test Tokens
Mint test tokens directly to a user's wallet for testing purposes.
Endpoint
POST /account/retail/mint
Request
{
"chainId": "84532",
"token": "0x7Af7cDbd557eD302F7538Db1e3d094C8BBcA665c",
"to": "0xA7E41d5680dE394EaA2ed417169DFf56840Fb3EE",
"amount": "1000"
}| Field | Type | Required | Description |
|---|---|---|---|
chainId | string | Yes | Chain ID (84532 for Base Sepolia) |
token | string | Yes | Token contract address |
to | string | Yes | Destination wallet address |
amount | string | Yes | Amount in token units (human-readable) |
See Credentials for sandbox token addresses.
Response
{
"txHash": "0x28da8dec81198cd43329c92ac5b7bcb048a48495bdbc69fc1c921da72fe42939",
"success": true
}SEPA Operations
Simulate SEPA Deposit
Simulate an incoming SEPA EUR deposit to a user's account.
Endpoint
POST /bank/sepa/deposit
Request
{
"region": "GB",
"email": "[email protected]",
"amount": 250.00
}| Field | Type | Required | Description |
|---|---|---|---|
region | string | Yes | Region code (GB or EEA) |
email | string | Yes | User's email address |
amount | number | Yes | Amount in EUR |
Response
{
"success": true
}This triggers a /v2/webhooks/activities webhook with type Sepa and direction Inbound.
Get Pending SEPA Transfers
List pending outbound SEPA transfers waiting for completion.
Note: In sandbox environment, all outbound SEPA transfers remain in pending state indefinitely. Use
completeorrevertendpoints to simulate the external banking system processing the transfer.
Endpoint
GET /bank/sepa/transfers/pending
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
region | string | Yes | Region code (GB or EEA) |
email | string | Yes | User's email address |
Response
[
{
"id": "txn_abc123def456",
"transactionId": "OP-12345",
"status": "RELEASED",
"type": "PAYOUT",
"amount": {
"currency": "EUR",
"value": 150.00
},
"createdOn": "2024-01-15T10:30:00Z"
}
]Use the id value in transfer completion/revert requests.
Complete SEPA Transfer
Mark a pending outbound SEPA transfer as completed.
Endpoint
POST /bank/sepa/transfer/complete
Request
{
"region": "GB",
"email": "[email protected]",
"transactionId": "txn_abc123def456"
}| Field | Type | Required | Description |
|---|---|---|---|
region | string | Yes | Region code |
email | string | Yes | User's email address |
transactionId | string | Yes | Transaction ID from pending list |
Response
{
"success": true
}This triggers a /v2/webhooks/activities webhook with status Completed.
Revert SEPA Transfer
Simulate a returned SEPA transfer. This can only be called after a transfer has been completed. Creates an inbound reversal transaction that credits the funds back to the user's account.
Endpoint
POST /bank/sepa/transfer/revert
Request
{
"region": "GB",
"email": "[email protected]",
"transactionId": "txn_abc123def456"
}Response
{
"success": true
}This triggers a /v2/webhooks/activities webhook with type Sepa, direction Inbound, representing the reversal credit.
ACH Operations
Activate ACH Customer
Activate a user's ACH account. Required before ACH deposits can be simulated.
Note: In sandbox environment, ACH accounts remain in pending state indefinitely after creation. Call this endpoint to simulate the external ACH provider activating the account.
Endpoint
POST /bank/ach/customer/activate
Request
{
"email": "[email protected]"
}| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | User's email address |
Response
{
"success": true
}Simulate ACH Deposit
Simulate an incoming ACH USD deposit to a user's account.
Endpoint
POST /bank/ach/deposit
Request
{
"email": "[email protected]",
"amount": 500.00
}| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | User's email address |
amount | number | Yes | Amount in USD |
Response
{
"success": true
}This triggers a /v2/webhooks/activities webhook with type AchPush and direction Inbound.
Complete ACH Transfer
Mark a pending outbound ACH transfer as completed.
Note: In sandbox environment, all outbound ACH transfers remain in pending state indefinitely. Use
completeorrevertendpoints to simulate the external ACH network processing the transfer.
Endpoint
POST /bank/ach/transfer/complete
Request
{
"externalId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}| Field | Type | Required | Description |
|---|---|---|---|
externalId | string | Yes | Activity ID from Wirex BaaS transfer response |
Response
{
"success": true
}Revert ACH Transfer
Simulate a returned ACH transfer. This can only be called after a transfer has been completed. Creates an inbound reversal transaction that credits the funds back to the user's account.
Endpoint
POST /bank/ach/transfer/revert
Request
{
"externalId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}Response
{
"success": true
}Card Transaction Operations
Simulate card transactions for testing card payment flows.
Common Parameters
All card transaction endpoints accept the same request format:
{
"cardId": "550e8400-e29b-41d4-a716-446655440000",
"amount": 25.50
}| Field | Type | Required | Description |
|---|---|---|---|
cardId | string (UUID) | Yes | Card ID from Wirex BaaS |
amount | number | Yes | Transaction amount |
Common Response
{
"success": true,
"transactionType": "POS",
"cardId": "550e8400-e29b-41d4-a716-446655440000",
"amount": 25.50
}POS Transaction
Simulate a point-of-sale (in-store) card purchase.
Endpoint
POST /card/transaction/pos
This triggers a /v2/webhooks/activities webhook with type CardTransaction and direction Outbound.
EPOS Transaction
Simulate an e-commerce (online) card purchase.
Endpoint
POST /card/transaction/epos
Use this for testing card-not-present transactions and 3DS flows.
ATM Transaction
Simulate an ATM cash withdrawal.
Endpoint
POST /card/transaction/atm
Credit Transaction
Simulate a refund or credit to the card.
Endpoint
POST /card/transaction/credit
This adds funds to the card balance (opposite of purchase transactions).
Code Examples
JavaScript
const HELPER_API = 'https://ramc.wirexapp.tech';
// Simulate SEPA deposit
async function simulateSepaDeposit(email, amount) {
const response = await fetch(`${HELPER_API}/bank/sepa/deposit`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
region: 'GB',
email,
amount
})
});
return response.json();
}
// Complete SEPA transfer
async function completeSepaTransfer(email, transactionId) {
const response = await fetch(`${HELPER_API}/bank/sepa/transfer/complete`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
region: 'GB',
email,
transactionId
})
});
return response.json();
}
// Simulate card purchase
async function simulateCardPurchase(cardId, amount) {
const response = await fetch(`${HELPER_API}/card/transaction/pos`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ cardId, amount })
});
return response.json();
}Python
import requests
HELPER_API = 'https://ramc.wirexapp.tech'
def simulate_sepa_deposit(email: str, amount: float) -> dict:
response = requests.post(
f'{HELPER_API}/bank/sepa/deposit',
json={
'region': 'GB',
'email': email,
'amount': amount
}
)
return response.json()
def complete_sepa_transfer(email: str, transaction_id: str) -> dict:
response = requests.post(
f'{HELPER_API}/bank/sepa/transfer/complete',
json={
'region': 'GB',
'email': email,
'transactionId': transaction_id
}
)
return response.json()
def simulate_card_purchase(card_id: str, amount: float) -> dict:
response = requests.post(
f'{HELPER_API}/card/transaction/pos',
json={
'cardId': card_id,
'amount': amount
}
)
return response.json()Go
package main
import (
"bytes"
"encoding/json"
"net/http"
)
const helperAPI = "https://ramc.wirexapp.tech"
type SepaDepositRequest struct {
Region string `json:"region"`
Email string `json:"email"`
Amount float64 `json:"amount"`
}
type CardTransactionRequest struct {
CardID string `json:"cardId"`
Amount float64 `json:"amount"`
}
func simulateSepaDeposit(email string, amount float64) error {
body, _ := json.Marshal(SepaDepositRequest{
Region: "GB",
Email: email,
Amount: amount,
})
_, err := http.Post(
helperAPI+"/bank/sepa/deposit",
"application/json",
bytes.NewBuffer(body),
)
return err
}
func simulateCardPurchase(cardID string, amount float64) error {
body, _ := json.Marshal(CardTransactionRequest{
CardID: cardID,
Amount: amount,
})
_, err := http.Post(
helperAPI+"/card/transaction/pos",
"application/json",
bytes.NewBuffer(body),
)
return err
}Error Handling
All endpoints return errors in this format:
{
"error": "User not found for email: [email protected]"
}| HTTP Status | Description |
|---|---|
| 400 | Missing required parameters |
| 500 | Operation failed (user not found, API error, etc.) |
Updated 8 days ago
