---
title: "Initiate Transfer"
api: "POST /api/v1/transfers/initiate"
description: "Initiate an offramp transfer and receive a deposit address."
---

### Body

<ParamField body="amount" type="number" required>
  Amount to send.
</ParamField>

<ParamField body="fromCurrency" type="string" required>
  Symbol of the token (e.g., 'USDC').
</ParamField>

<ParamField body="network" type="string" required>
  Network name (e.g., 'Base').
</ParamField>

<ParamField body="bankCode" type="string" required>
  Code of the destination bank.
</ParamField>

<ParamField body="toCurrency" type="string" default="NGN" required>
  The payout currency (e.g., 'NGN').
</ParamField>

<ParamField body="country" type="string" default="NG">
  The ISO country code (e.g., 'NG').
</ParamField>

<ParamField body="accountNumber" type="string" required>
  The 10-digit Nigerian bank account number.
</ParamField>

<ParamField body="accountName" type="string" required>
  The verified name on the bank account.
</ParamField>

<ParamField body="callbackUrl" type="string">
  The URL where you'll receive status updates for this specific transaction.
</ParamField>

### Response

<ResponseField name="success" type="boolean" />
<ResponseField name="address" type="string">
  The wallet address to send the crypto to.
</ResponseField>
<ResponseField name="transactionId" type="string">
  Use this to track status later.
</ResponseField>

<RequestExample>
```bash
curl --request POST \
     --url https://criptpay-f2lv.onrender.com/api/v1/transfers/initiate \
     --header 'x-api-key: <api-key>' \
     --header 'Content-Type: application/json' \
     --data '{
  "amount": 100,
  "fromCurrency": "USDC",
  "network": "Base",
  "bankCode": "044",
  "accountNumber": "1234567890",
  "accountName": "John Doe",
  "callbackUrl": "https://your-server.com/webhook"
}'
```
</RequestExample>
