Off-Ramp

An Off-Ramp represents a withdrawal from any of your Busha Crypto Balances.

Off-Ramp StepsCopied!

Step 1: Get the Destination

There are two possible payout destinations:

  • bank_transfer

  • mobile_money

For bank_transfer and mobile_money , an existing recipient_id is required in the pay_out object. This means that a recipient must be created for that specific account. See Recipients Guide to know more about creating recipients.

Example PayOut object for bank_transfer and mobile_money:

    "pay_out": {
      "type": "bank_transfer",
      "recipient_id": "677bbf9c7cf061f23784555a",
      "profile_id": "BUS_tg6yujbZ3nMu5BLQkPGGO"
    }

Step 2: Create A Quote

See the Quote section for more details on creating different types of Quotes

An Example for creating a Busha Crypto Wallet to Fiat Bank Accounts:

curl -i -X POST \
  https://api.busha.co/v1/quotes \
  -H 'Authorization: Bearer YOUR_SECRET_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "source_currency": "USDT",
    "target_currency": "NGN",
    "target_amount": "100",
    "pay_out": {
      "type": "bank_transfer",
      "recipient_id": "677bbf9c7cf061f23784555a",
      "profile_id": "BUS_tg6yujbZ3nMu5BLQkPGGO"
    }
  }'

This will return a Quote Response, showing the generated target_amount by the rate and associated fees:

{
  "status": "success",
  "message": "Created quote successfully",
  "data": {
    "id": "QUO_mprvCPMCfm3K2qSnzbWj7",
    "profile_id": "BUS_tg6yujbZ1nMu5BLQkPGGO",
    "source_currency": "USDT",
    "target_currency": "NGN",
    "source_amount": "100",
    "target_amount": "168876",
    "rate": {
      "product": "USDTNGN",
      "rate": "1690.76",
      "side": "sell",
      "type": "FIXED",
      "source_currency": "USDT",
      "target_currency": "NGN"
    },
    "fees": [
      {
        "amount": {
          "amount": "200",
          "currency": "NGN"
        },
        "name": "Fees",
        "type": "FIXED"
      }
    ],
    "pay_out": {
      "recipient_details": {
        "account_name": "SOSANYA DICKSON OLUMIDE",
        "account_number": "2109328188",
        "bank_name": "UNITED BANK FOR AFRICA",
        "country": "NG"
      },
      "recipient_id": "677bbf9c7cf061f2b784555a",
      "type": "bank_transfer"
    },
    "reference": "QUO_mprvCPMCfm3K2qSnzbWj7",
    "status": "pending",
    "expires_at": "2025-02-20T10:58:19.540052923Z",
    "created_at": "2025-02-20T10:28:19.540025003Z",
    "updated_at": "2025-02-20T10:28:19.540025003Z"
  }
}

The id from step 1 above is used to create a new transfer.

curl -i -X POST \
  https://api.busha.co/v1/transfers \
  -H 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "quote_id": "QUO_Nm2EBRxmuHGdTyGnVNDUt",
  }'

This will return a response with the same information of the quote and the status of the transfer:

{
  "status": "success",
  "message": "Created transfer successfully",
  "data": {
    "id": "TRF_tYZ1y5bmXv4N5IhXSMbWJ",
    "profile_id": "BUS_tg6yujbZ1nMu5BLQkPGGO",
    "quote_id": "QUO_mprvCPMCfm3K2qSnzbWj7",
    "source_currency": "USDT",
    "target_currency": "NGN",
    "source_amount": "100",
    "target_amount": "168876",
    "rate": {
      "product": "USDTNGN",
      "rate": "1690.76",
      "side": "sell",
      "type": "FIXED",
      "source_currency": "USDT",
      "target_currency": "NGN"
    },
    "fees": [
      {
        "amount": {
          "amount": "200",
          "currency": "NGN"
        },
        "name": "Fees",
        "type": "FIXED"
      }
    ],
    "pay_out": {
      "recipient_details": {
        "account_name": "SOSANYA DICKSON OLUMIDE",
        "account_number": "2109328188",
        "bank_name": "UNITED BANK FOR AFRICA",
        "country": "NG"
      },
      "recipient_id": "677bbf9c7cf061f2b784555a",
      "type": "bank_transfer"
    },
    "status": "pending",
    "created_at": "2025-02-20T10:28:42.376910852Z",
    "updated_at": "2025-02-20T10:28:42.376910905Z"
  }
}