Skip to main content
POST
/
wallet
/
fund-from-vult
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"
  }'
{
  "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"
}
Transfers funds from subscriber’s VULT mobile money wallet to their OLIVE wallet.

Request

Authorization
string
required
Bearer olive_live_xxx or Bearer eyJ... (JWT)

Body Parameters

subscriber_id
string
required
Subscriber UUID
vult_wallet_id
string
required
VULT wallet identifier
amount
string
required
Amount to transfer (e.g., 500.00)
transaction_ref
string
required
VULT transaction reference for reconciliation
pin
string
required
Subscriber’s OLIVE PIN

Response

success
boolean
Whether funding succeeded
transaction_id
string
OLIVE transaction ID
new_balance
string
Updated OLIVE wallet balance

Examples

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"
  }'
{
  "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"
}

Flow

1

Verify PIN

Authenticate subscriber with OLIVE PIN
2

Check VULT Wallet

Verify VULT wallet linked and has balance
3

Debit VULT

Deduct from VULT mobile money wallet
4

Credit OLIVE

Add to OLIVE wallet balance
5

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

StatusCodeDescription
400INVALID_AMOUNTInvalid amount format
400INVALID_PINPIN verification failed
400VULT_NOT_LINKEDVULT wallet not linked
400VULT_INSUFFICIENT_FUNDSVULT balance too low
401UNAUTHORIZEDInvalid API key
404SUBSCRIBER_NOT_FOUNDSubscriber not found
500VULT_ERRORVULT service error
500INTERNAL_ERRORServer error

Authorizations

Authorization
string
header
required

API Key for third-party integrations (WhatsApp, Smart PAY, VULT). Format: 'Bearer olive_live_xxxxxxxxxxxxx'

Body

application/json

Fund from VULT details

amount
string
required

Accepts decimal format like "500.00" or "500"

Example:

"500.00"

pin
string
required
Example:

"1234"

subscriber_id
string
required
Example:

"subscriber-uuid"

transaction_ref
string
required
Example:

"VULT-TXN-123"

vult_wallet_id
string
required
Example:

"vult-wallet-123"

Response

Wallet funded successfully

The response is of type object.