Skip to main content
POST
/
wallet
/
transfer
curl -X POST "https://demo.api.vultlocal.com/api/v1/wallet/transfer" \
  -H "Authorization: Bearer olive_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "from_account_id": "acc_abc123",
    "to_account_id": "acc_xyz789",
    "amount": "1000.00",
    "pin": "1234",
    "description": "Settlement payment"
  }'
{
  "success": true,
  "message": "Transfer completed successfully",
  "transaction_id": "txn_abc123",
  "amount": "1,000.00 SLE",
  "from_balance": "49,000.00 SLE",
  "to_balance": "11,000.00 SLE"
}

Documentation Index

Fetch the complete documentation index at: https://docs.vultlocal.com/llms.txt

Use this file to discover all available pages before exploring further.

Internal transfers move funds between subscriber accounts using account IDs. For transfers by card serial, use P2P Transfer.

Request

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

Body Parameters

from_account_id
string
required
Source account UUID
to_account_id
string
required
Destination account UUID
amount
string
required
Amount to transfer
pin
string
required
Source account PIN
description
string
Transfer description

Response

success
boolean
Whether transfer succeeded
transaction_id
string
Unique transaction ID
message
string
Result message

Examples

curl -X POST "https://demo.api.vultlocal.com/api/v1/wallet/transfer" \
  -H "Authorization: Bearer olive_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "from_account_id": "acc_abc123",
    "to_account_id": "acc_xyz789",
    "amount": "1000.00",
    "pin": "1234",
    "description": "Settlement payment"
  }'
{
  "success": true,
  "message": "Transfer completed successfully",
  "transaction_id": "txn_abc123",
  "amount": "1,000.00 SLE",
  "from_balance": "49,000.00 SLE",
  "to_balance": "11,000.00 SLE"
}

Use Cases

ScenarioDescription
Agent SettlementTransfer from agent to OLIVE
Corporate PayrollBulk employee payments
RefundsReturn funds to subscriber
Account AdjustmentAdministrative corrections

Errors

StatusCodeDescription
400INVALID_AMOUNTAmount format invalid
400INSUFFICIENT_FUNDSBalance too low
400INVALID_PINPIN verification failed
401UNAUTHORIZEDInvalid API key
404ACCOUNT_NOT_FOUNDAccount not found
500INTERNAL_ERRORServer error

Authorizations

Authorization
string
header
required

JWT token from admin login for administrative operations. Format: 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'

Headers

Authorization
string
required

Body

application/json
from_account_id
string
required
to_account_id
string
required
amount
string
required
pin
string
required
description
string

Response

200 - application/json

Success

The response is of type object.