{
"investmentAmount": 100000,
"currency": "NGN",
"redirectUrl": "https://google.com",
"paymentMethod": "card",
"customer": {
"name": "Jude Dike",
"email": "dikejude49@gmail.com"
},
"meta": {
"orderId": "…"
}
}
{
"investmentAmount": 100000,
"currency": "NGN",
"paymentMethod": "bank_transfer",
"customer": {
"name": "Jude Dike",
"email": "dikejude49@gmail.com"
},
"meta": {
"orderId": "…"
}
}
{
"status": "success",
"message": "Payment initiated successfully. Complete payment to buy tokens.",
"data": {
"paymentLink": "https://checkout-v2.dev-flutterwave.com/v3/hosted/pay/926e0cc3e67ebbd9fb57",
"reference": "GETXN_FI_WFMSVRKW2X6CUJ",
"investmentAmount": 100000,
"currency": "NGN",
"token": {
"_id": "683ef69f70457700022e091b",
"symbol": "FDNE",
"name": "FCMB Debt Note",
"price": 10000
},
"tokensToCredit": 10,
"creditAmount": 100500,
"fees": {
"getequity": 500,
"getequityPercent": 0.5,
"flutterwave": 1407,
"total": 1907
},
"totalCharge": 101907
}
}
{
"status": "success",
"message": "Payment initiated successfully. Complete payment to buy tokens.",
"data": {
"paymentMethod": "bank_transfer",
"reference": "GETXN_FI_GRKXXJ40NUH39P_PMCKDU_1",
"email": "wilpat45677@yopmail.com",
"virtualAccount": {
"bankName": "Mock Bank",
"accountNumber": "0067100155",
"amount": "101907.00",
"note": "Mock note",
"expiresAt": "2026-07-21 11:56:16 PM"
},
"amountToPay": 101907,
"investmentAmount": 100000,
"currency": "NGN",
"token": {
"_id": "683ef69f70457700022e091b",
"symbol": "FDNE",
"name": "FCMB Debt Note",
"price": 10000
},
"tokensToCredit": 10,
"creditAmount": 100500,
"fees": {
"getequity": 500,
"getequityPercent": 0.5,
"flutterwave": 1407,
"total": 1907
},
"totalCharge": 101907
}
}
Trade
Fund and Buy
Initiates a fund-and-buy transaction for an api client. This creates a payment (card or bank transfer) that funds the wallet and buys a token in a single flow.
POST
api
/
token
/
{id}
/
fund-buy
{
"investmentAmount": 100000,
"currency": "NGN",
"redirectUrl": "https://google.com",
"paymentMethod": "card",
"customer": {
"name": "Jude Dike",
"email": "dikejude49@gmail.com"
},
"meta": {
"orderId": "…"
}
}
{
"investmentAmount": 100000,
"currency": "NGN",
"paymentMethod": "bank_transfer",
"customer": {
"name": "Jude Dike",
"email": "dikejude49@gmail.com"
},
"meta": {
"orderId": "…"
}
}
{
"status": "success",
"message": "Payment initiated successfully. Complete payment to buy tokens.",
"data": {
"paymentLink": "https://checkout-v2.dev-flutterwave.com/v3/hosted/pay/926e0cc3e67ebbd9fb57",
"reference": "GETXN_FI_WFMSVRKW2X6CUJ",
"investmentAmount": 100000,
"currency": "NGN",
"token": {
"_id": "683ef69f70457700022e091b",
"symbol": "FDNE",
"name": "FCMB Debt Note",
"price": 10000
},
"tokensToCredit": 10,
"creditAmount": 100500,
"fees": {
"getequity": 500,
"getequityPercent": 0.5,
"flutterwave": 1407,
"total": 1907
},
"totalCharge": 101907
}
}
{
"status": "success",
"message": "Payment initiated successfully. Complete payment to buy tokens.",
"data": {
"paymentMethod": "bank_transfer",
"reference": "GETXN_FI_GRKXXJ40NUH39P_PMCKDU_1",
"email": "wilpat45677@yopmail.com",
"virtualAccount": {
"bankName": "Mock Bank",
"accountNumber": "0067100155",
"amount": "101907.00",
"note": "Mock note",
"expiresAt": "2026-07-21 11:56:16 PM"
},
"amountToPay": 101907,
"investmentAmount": 100000,
"currency": "NGN",
"token": {
"_id": "683ef69f70457700022e091b",
"symbol": "FDNE",
"name": "FCMB Debt Note",
"price": 10000
},
"tokensToCredit": 10,
"creditAmount": 100500,
"fees": {
"getequity": 500,
"getequityPercent": 0.5,
"flutterwave": 1407,
"total": 1907
},
"totalCharge": 101907
}
}
string
required
The token ID to buy
number
required
The amount to invest
string
required
The currency code (e.g.,
NGN, USD)string
URL to redirect after payment completion. Required when
paymentMethod is card. Not needed for bank_transfer.string
Preferred payment method. Supported values:
card, bank_transfer. When bank_transfer is used, virtual account details are returned instead of a payment link.object
required
Object containing customer details (
name and email).object
Object containing additional information like
orderId.{
"investmentAmount": 100000,
"currency": "NGN",
"redirectUrl": "https://google.com",
"paymentMethod": "card",
"customer": {
"name": "Jude Dike",
"email": "dikejude49@gmail.com"
},
"meta": {
"orderId": "…"
}
}
{
"investmentAmount": 100000,
"currency": "NGN",
"paymentMethod": "bank_transfer",
"customer": {
"name": "Jude Dike",
"email": "dikejude49@gmail.com"
},
"meta": {
"orderId": "…"
}
}
{
"status": "success",
"message": "Payment initiated successfully. Complete payment to buy tokens.",
"data": {
"paymentLink": "https://checkout-v2.dev-flutterwave.com/v3/hosted/pay/926e0cc3e67ebbd9fb57",
"reference": "GETXN_FI_WFMSVRKW2X6CUJ",
"investmentAmount": 100000,
"currency": "NGN",
"token": {
"_id": "683ef69f70457700022e091b",
"symbol": "FDNE",
"name": "FCMB Debt Note",
"price": 10000
},
"tokensToCredit": 10,
"creditAmount": 100500,
"fees": {
"getequity": 500,
"getequityPercent": 0.5,
"flutterwave": 1407,
"total": 1907
},
"totalCharge": 101907
}
}
{
"status": "success",
"message": "Payment initiated successfully. Complete payment to buy tokens.",
"data": {
"paymentMethod": "bank_transfer",
"reference": "GETXN_FI_GRKXXJ40NUH39P_PMCKDU_1",
"email": "wilpat45677@yopmail.com",
"virtualAccount": {
"bankName": "Mock Bank",
"accountNumber": "0067100155",
"amount": "101907.00",
"note": "Mock note",
"expiresAt": "2026-07-21 11:56:16 PM"
},
"amountToPay": 101907,
"investmentAmount": 100000,
"currency": "NGN",
"token": {
"_id": "683ef69f70457700022e091b",
"symbol": "FDNE",
"name": "FCMB Debt Note",
"price": 10000
},
"tokensToCredit": 10,
"creditAmount": 100500,
"fees": {
"getequity": 500,
"getequityPercent": 0.5,
"flutterwave": 1407,
"total": 1907
},
"totalCharge": 101907
}
}
Error Codes
| Code | HTTP Status | Description |
|---|---|---|
| TOKEN_ACCESS_DENIED_ERROR | 403 | User doesn’t have access to this token |
| DEAL_ACCESS_DENIED_ERROR | 403 | User doesn’t have access to this deal |
| TOKEN_CLOSED_ERROR | 400 | Token is closed for investment |
| TOKEN_EXITED_ERROR | 400 | Token has exited |
| AMOUNT_TOO_LOW_ERROR | 400 | Investment amount is below minimum |
| BELOW_MIN_TRADE_ERROR | 400 | Amount below minimum trade limit |
| ABOVE_MAX_TRADE_ERROR | 400 | Amount above maximum trade limit |
| INVALID_AMOUNT_ERROR | 400 | Invalid investment amount |
| PAYMENT_INITIATION_ERROR | 502 | Failed to initiate payment with provider |
| TOKEN_NOT_FOUND_ERROR | 404 | Token not found |
Was this page helpful?
⌘I
