Create a transfer
Move funds from one of your wallets to another wallet in your organization, instantly.
/v1/wallets/:id/transferMoves funds from this wallet to another wallet in your organization. Requires the
transfer scope and an Idempotency-Key. The path :id is
the source wallet.
POST /wallets/:id/transferscope: transferTest keys only. Never paste a live key. Your key is stored only in this browser (localStorage) and sent only to the same-origin playground proxy.
›Equivalent request (curl / TypeScript)
curl -X POST https://sandbox.api.acute.network/v1/wallets/acuinf483920175566wlt/transfer \
-H "Authorization: Bearer acuinf_test_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: …" \
-d '{"destinationWalletId":"acuinf771204938810wlt","amount":500000,"description":"Order #8842 split"}'const res = await fetch("https://sandbox.api.acute.network/v1/wallets/acuinf483920175566wlt/transfer", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ACUTE_TEST_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID(),
},
body: JSON.stringify({"destinationWalletId":"acuinf771204938810wlt","amount":500000,"description":"Order #8842 split"}),
});
const { data, meta } = await res.json();# transfer ₦5,000 between wallets
curl -X POST https://sandbox.api.acute.network/v1/wallets/acuinf483920175566wlt/transfer \
-H "Authorization: Bearer acuinf_test_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 9f2c8a1e-7b34-4d5a-9e1f-22c0d8b6a4e5" \
-d '{
"destinationWalletId": "acuinf771204938810wlt",
"amount": 500000,
"description": "Order #8842 split"
}'{
"success": true,
"statusCode": 201,
"data": {
"id": "acuinf905172634408trf",
"sourceWalletId": "acuinf483920175566wlt",
"destinationWalletId": "acuinf771204938810wlt",
"amount": 500000,
"fee": 7500,
"status": "completed",
"description": "Order #8842 split",
"currency": "NGN",
"createdAt": "2026-06-24T09:20:11.882Z"
},
"meta": { "requestId": "req_4f9c2a7e1b0d8c3a5e6f10a2" }
}Transfers settle synchronously
The 201 already carries status: "completed". There is no webhook to wait on. The transfers
guide covers the ledger postings.
idstringpathrequiredThe source wallet reference.
destinationWalletIdstringbodyrequiredThe destination wallet reference. Must differ from the source; a self-transfer returns 422
(TRANSFER_SELF).
amountinteger (kobo)bodyrequiredAmount to move, in kobo. Positive integer.
descriptionstringbodyoptionalAn optional note stored on the transfer.
TransferResponseData.
idstringrequiredThe transfer reference (acuinf…trf).
sourceWalletIdstringrequiredThe source wallet reference.
destinationWalletIdstringrequiredThe destination wallet reference.
amountnumber (kobo)requiredThe amount moved.
feenumber (kobo)requiredThe transfer fee charged to the source. See fees.
status'completed' | 'failed'requiredTransfers settle synchronously; completed on success.
descriptionstring | nullrequiredThe note, or null.
currencystringrequiredThe currency (NGN).
createdAtstringrequiredISO-8601 timestamp.