Skip to main content

Create transfer order

POST/api/v1/transfer/command/createHMAC

Initiates a wallet-to-wallet transfer. The order is processed asynchronously and returns with PENDING status.

Headers

NameTypeRequiredDescription
X-Api-KeystringrequiredAPI key identifier
X-SignaturestringrequiredHMAC-SHA256 signature
X-TimestampstringrequiredUnix timestamp in seconds
X-NoncestringrequiredUnique request identifier (UUID)

Request Body

NameTypeRequiredDescription
idempotentKeystringrequiredClient-provided idempotency key, unique per transfer. maxLength: 128 | minLength: 0
fromWalletIdstringrequiredSource wallet business ID. maxLength: 64 | minLength: 0
toWalletIdstringrequiredTarget wallet business ID. maxLength: 64 | minLength: 0
currencystringrequiredISO currency code. maxLength: 5 | minLength: 3
amountnumberrequiredTransaction amount in major currency units
remarkstringrequiredOptional remark or memo for the transfer. maxLength: 256 | minLength: 0

Request Example

curl -X POST https://api.elaypay.app/api/v1/transfer/command/create \
-H "X-Api-Key: sk_live_xxx" \
-H "X-Signature: <computed_signature>" \
-H "X-Timestamp: 1709337600" \
-H "X-Nonce: 550e8400-e29b-41d4-a716-446655440000" \
-H "Content-Type: application/json" \
-d '{
"idempotentKey": "txn_20260302_001",
"fromWalletId": "wlt_sender_001",
"toWalletId": "wlt_receiver_002",
"currency": "USD",
"amount": 100.5,
"remark": "Monthly payment"
}'

Response

201Created
{
"version": "1.3.0",
"success": true,
"code": "2001",
"message": "CREATED",
"data": {
"bizId": "txn_ghi789",
"fromWalletId": "wlt_sender_001",
"toWalletId": "wlt_receiver_002",
"currency": "USD",
"amount": 100.5,
"feeAmount": 0.5,
"totalAmount": 101,
"status": 10060101,
"statusName": "PENDING",
"failureReason": null,
"remark": "Monthly payment",
"createdAt": "2026-03-02T11:20:00Z",
"completedAt": null
}
}