Fund from VULT
POST
/wallet/fund-from-vultOpen in the API playground →
Info
Transfers funds from subscriber's VULT mobile money wallet to their SmartPay wallet.
Request
Authorizationstringheaderrequired
Bearer olive_live_xxx or Bearer eyJ... (JWT)
Body Parameters
subscriber_idstringbodyrequired
Subscriber UUID
vult_wallet_idstringbodyrequired
VULT wallet identifier
amountstringbodyrequired
Amount to transfer (e.g., 500.00)
transaction_refstringbodyrequired
VULT transaction reference for reconciliation
pinstringbodyrequired
Subscriber's SmartPay PIN
Response
successboolean
Whether funding succeeded
transaction_idstring
SmartPay transaction ID
new_balancestring
Updated SmartPay wallet balance
Examples
Request
cURL
curl -X POST "https://demo.api.vultlocal.com/api/v1/wallet/fund-from-vult" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"subscriber_id": "sub_abc123",
"vult_wallet_id": "vult_xyz789",
"amount": "500.00",
"transaction_ref": "VULT-TXN-123456",
"pin": "1234"
}'
Response
200 Success
{
"success": true,
"message": "Wallet funded successfully",
"transaction_id": "txn_fund_abc123",
"amount": "500.00 SLE",
"new_balance": "1,500.00 SLE",
"vult_ref": "VULT-TXN-123456"
}
400 VULT Error
{
"success": false,
"error": "VULT wallet has insufficient balance",
"code": "VULT_INSUFFICIENT_FUNDS"
}
Flow
Verify PIN
Authenticate subscriber with SmartPay PIN
Check VULT Wallet
Verify VULT wallet linked and has balance
Debit VULT
Deduct from VULT mobile money wallet
Credit SmartPay
Add to SmartPay wallet balance
Record
Log transaction with VULT reference
Prerequisites
VULT Linked
Subscriber must have VULT wallet linked to profile
VULT Balance
Sufficient balance in VULT wallet
Errors
| Status | Code | Description |
|---|---|---|
| 400 | INVALID_AMOUNT | Invalid amount format |
| 400 | INVALID_PIN | PIN verification failed |
| 400 | VULT_NOT_LINKED | VULT wallet not linked |
| 400 | VULT_INSUFFICIENT_FUNDS | VULT balance too low |
| 401 | UNAUTHORIZED | Invalid API key |
| 404 | SUBSCRIBER_NOT_FOUND | Subscriber not found |
| 500 | VULT_ERROR | VULT service error |
| 500 | INTERNAL_ERROR | Server error |