Skip to content

Initiate Crypto Transfer

Quote a crypto payout.

MethodPOST
URL/api/m1/initiate-transfer
AuthBearer ZMPRO-… (live) or ZMDEV-… (test)

Body parameters

FieldRequiredExampleDescription
which_balanceYesNGNString which currency to debited
accountYes2N75ghBxMoFmMyPUS69Vmuj4tMkbxFETazMString receive account or account number
account_nameYesBitcoinString receive account name
amountYes1000Amount to charge or transfer.
crypto_assetYesbtcOnly if transfer_mode = crypto, get supported crypto asset list from endpoin /api/m1/crypto-list E:g btc
crypto_tagOnly when transfer to Ripple (XRP)
transfer_modeYescryptoString transfer method (smart, bank or crypto)
currencyYesbtcISO currency code (e.g. NGN, USD).
narrationPaymentThis is the narration for the transfer e.g. payments for food
callback_urlhttps://dev.zupago.app:8086/test-dev/cccccThis will replace Webhooks url
referenceYesMCH-10022Transaction or VA settlement reference.

Headers

HeaderValue
AuthorizationBearer ZMPRO-your-live-api-key
Content-Typeapplication/json

Request

bash
curl -X POST 'https://api.vizo.app/api/m1/initiate-transfer' \
  -H 'Authorization: Bearer ZMPRO-your-live-api-key' \
  -H 'Content-Type: application/json' \
  -d '{
  "which_balance": "NGN",
  "account": "2N75ghBxMoFmMyPUS69Vmuj4tMkbxFETazM",
  "account_name": "Bitcoin",
  "amount": 1000,
  "crypto_asset": "btc",
  "crypto_tag": "",
  "transfer_mode": "crypto",
  "currency": "btc",
  "narration": "Payment",
  "callback_url": "https://dev.zupago.app:8086/test-dev/ccccc",
  "reference": "MCH-10022"
}'
ts
const response = await fetch('https://api.vizo.app/api/m1/initiate-transfer', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer ZMPRO-your-live-api-key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "which_balance": "NGN",
  "account": "2N75ghBxMoFmMyPUS69Vmuj4tMkbxFETazM",
  "account_name": "Bitcoin",
  "amount": 1000,
  "crypto_asset": "btc",
  "crypto_tag": "",
  "transfer_mode": "crypto",
  "currency": "btc",
  "narration": "Payment",
  "callback_url": "https://dev.zupago.app:8086/test-dev/ccccc",
  "reference": "MCH-10022"
}),
});

const data = await response.json();
console.log(data);
py
import requests

url = "https://api.vizo.app/api/m1/initiate-transfer"
headers = {
    "Authorization": "Bearer ZMPRO-your-live-api-key",
    "Content-Type": "application/json",
}
payload = {
  "which_balance": "NGN",
  "account": "2N75ghBxMoFmMyPUS69Vmuj4tMkbxFETazM",
  "account_name": "Bitcoin",
  "amount": 1000,
  "crypto_asset": "btc",
  "crypto_tag": "",
  "transfer_mode": "crypto",
  "currency": "btc",
  "narration": "Payment",
  "callback_url": "https://dev.zupago.app:8086/test-dev/ccccc",
  "reference": "MCH-10022"
}

response = requests.request("POST", url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
php
<?php

$ch = curl_init('https://api.vizo.app/api/m1/initiate-transfer');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ZMPRO-your-live-api-key',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'which_balance' => 'NGN',
        'account' => '2N75ghBxMoFmMyPUS69Vmuj4tMkbxFETazM',
        'account_name' => 'Bitcoin',
        'amount' => 1000,
        'crypto_asset' => 'btc',
        'crypto_tag' => '',
        'transfer_mode' => 'crypto',
        'currency' => 'btc',
        'narration' => 'Payment',
        'callback_url' => 'https://dev.zupago.app:8086/test-dev/ccccc',
        'reference' => 'MCH-10022'
    ], JSON_UNESCAPED_SLASHES),
]);

$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo $status, PHP_EOL, $response, PHP_EOL;

Responses

Initiate Crypto Transfer — 200 OK

json
{
  "status": "SUCCESS",
  "data": {
    "which_balance": "NGN",
    "amount": 10000,
    "account_name": "BTC",
    "exchange_rate": 13899999,
    "exchange_amount": 0.00071942,
    "account": "2N75ghBxMoFmMyPUS69Vmuj4tMkbxFETazM",
    "currency": "BTC",
    "zp_ref": "ZWB-q6j6trUFrXxL",
    "fee": 754.5699637,
    "expires_in": "2022-09-03T08:01:25.231545Z"
  },
  "message": "Success"
}

ViZO Merchant API documentation