Flutterwave integration
Flutterwave is an African payments platform. With this integration an agent can collect payments (hosted checkout link, mobile money in Ghana, Kenya M-Pesa, Uganda, Rwanda, Tanzania, Zambia and Francophone Africa, bank transfer, USSD, NQR, ACH, Pay with Bank in Nigeria and UK/EU, OPay, eNaira, Capitec, Fawry, 1Voucher, saved card or account tokens), verify, list and refund transactions, send single and bulk transfers, manage beneficiaries, subaccounts, payout wallets, virtual accounts, payment plans and subscriptions, pay bills and government agencies, convert currencies, read balances, settlements and chargebacks, and resolve bank accounts and card BINs. Not included: direct card charges (their payload must be 3DES encrypted), BVN identity lookups, and chargeback evidence upload. Authentication is your secret key (Settings, API Keys; test keys start with FLWSECK_TEST) sent as a Bearer token. Over the rate limit Flutterwave answers 429.
Say what should happen.
The workflow builds itself.
What you can do with Flutterwave
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Charge, 22 operations
capture_preauth_chargeCapture preauth chargePOSTCapture funds held by a pre-authorized card charge (flw_ref from the charge). Takes money from the customer.charge_1voucherCharge 1voucherPOSTCharge a South African customer with a 1Voucher PIN (ZAR). Confirm the result with verify_transaction.charge_achCharge achPOSTCollect an ACH payment in USD or ZAR. Returns data.auth_url, the link the customer opens to authorize; confirm the result with verify_transaction.charge_bank_transferCharge bank transferPOSTGenerate a temporary virtual account the customer pays into by bank transfer (NGN). Returns the account number and bank to show the customer; confirm with verify_transaction.charge_capitecCharge capitecPOSTCollect a Capitec Pay payment from a South African customer (ZAR). Returns the charge; meta.authorization, when present, names the customer's next step (redirect, OTP, USSD code). Confirm with verify_transaction.charge_enairaCharge enairaPOSTCollect a payment from a customer's eNaira wallet (NGN). Returns the charge; meta.authorization, when present, names the customer's next step (redirect, OTP, USSD code). Confirm with verify_transaction.charge_fawry_payCharge fawry payPOSTCollect a Fawry payment from a customer in Egypt (EGP). Returns the charge; meta.authorization, when present, names the customer's next step (redirect, OTP, USSD code). Confirm with verify_transaction.charge_francophone_mobile_moneyCharge francophone mobile moneyPOSTCollect a mobile money payment in Cameroon, Cote d'Ivoire, Mali or Senegal (XAF or XOF). Returns the charge; meta.authorization, when present, names the customer's next step (redirect, OTP, USSD code). Confirm with verify_transaction.charge_ghana_mobile_moneyCharge ghana mobile moneyPOSTCollect a mobile money payment from a customer in Ghana (GHS). Returns the charge; meta.authorization, when present, names the customer's next step (redirect, OTP, USSD code). Confirm with verify_transaction.charge_mpesaCharge mpesaPOSTCollect an M-Pesa payment from a customer in Kenya (KES). Returns the charge; meta.authorization, when present, names the customer's next step (redirect, OTP, USSD code). Confirm with verify_transaction.charge_nigerian_bank_accountCharge nigerian bank accountPOSTCharge a customer's Nigerian bank account (Pay with Bank, NGN). Returns data.auth_url, the link the customer opens to authorize; confirm with verify_transaction.charge_nqrCharge nqrPOSTGenerate an NQR code (Nigeria) the customer scans to pay. Returns the QR image in meta.authorization; confirm with verify_transaction.charge_opayCharge opayPOSTCollect a payment from a customer's OPay wallet (NGN). Returns the charge; meta.authorization, when present, names the customer's next step (redirect, OTP, USSD code). Confirm with verify_transaction.charge_rwanda_mobile_moneyCharge rwanda mobile moneyPOSTCollect a mobile money payment from a customer in Rwanda (RWF). Returns the charge; meta.authorization, when present, names the customer's next step (redirect, OTP, USSD code). Confirm with verify_transaction.charge_tanzania_mobile_moneyCharge tanzania mobile moneyPOSTCollect a mobile money payment from a customer in Tanzania (TZS). Returns the charge; meta.authorization, when present, names the customer's next step (redirect, OTP, USSD code). Confirm with verify_transaction.charge_uganda_mobile_moneyCharge uganda mobile moneyPOSTCollect a mobile money payment from a customer in Uganda (UGX). Returns the charge; meta.authorization, when present, names the customer's next step (redirect, OTP, USSD code). Confirm with verify_transaction.charge_uk_eu_bank_accountCharge uk eu bank accountPOSTCharge a customer from a UK or European bank account (Pay with Bank, GBP or EUR). Returns the charge; meta.authorization, when present, names the customer's next step (redirect, OTP, USSD code). Confirm with verify_transaction.charge_ussdCharge ussdPOSTCollect a USSD payment in Nigeria (NGN). Returns the USSD code the customer dials in meta.authorization.note; confirm with verify_transaction.charge_zambia_mobile_moneyCharge zambia mobile moneyPOSTCollect a mobile money payment from a customer in Zambia (ZMW). Returns the charge; meta.authorization, when present, names the customer's next step (redirect, OTP, USSD code). Confirm with verify_transaction.refund_preauth_chargeRefund preauth chargePOSTRefund a pre-authorized card charge (amount to refund, flw_ref from the charge).validate_chargeValidate chargePOSTComplete a pending charge with the OTP the customer received (flw_ref from the charge).void_preauth_chargeVoid preauth chargePOSTRelease the hold of a pre-authorized card charge without capturing it.
Payment plan, 5 operations
cancel_payment_planCancel payment planPUTCancel a payment plan so no new charges are made on it.create_payment_planCreate payment planPOSTCreate a payment plan for recurring charges (amount, interval, optional duration). Pass its id as payment_plan on a checkout or charge to subscribe the customer.get_payment_planGet payment planGETGet one payment plan by its id.list_payment_plansList payment plansGETList your payment plans (recurring billing plans), filtered by dates, amount, currency, interval or status.update_payment_planUpdate payment planPUTRename a payment plan or change its status. Both name and status are required: read the plan with get_payment_plan first and send back the value you keep.
Payout subaccount, 5 operations
create_payout_subaccountCreate payout subaccountPOSTCreate a payout subaccount (a wallet with its own balance and virtual account) for a customer.delete_payout_subaccountDelete payout subaccountDELETEDelete a payout subaccount by its account reference.get_payout_subaccountGet payout subaccountGETGet one payout subaccount (wallet) by its account reference.list_payout_subaccountsList payout subaccountsGETList your payout subaccounts (wallets), filtered by email, account_reference or nuban, with cursor paging.update_payout_subaccountUpdate payout subaccountPUTUpdate a payout subaccount's name, email, mobile number or country. Name, email and mobile number are required: read it with get_payout_subaccount first and send back the values you keep.
Subaccount, 5 operations
create_subaccountCreate subaccountPOSTCreate a collection subaccount that receives a split (percentage or flat) of payments. Pass its subaccount_id in the subaccounts list of a checkout or charge.delete_subaccountDelete subaccountDELETEDelete a collection subaccount by its id.get_subaccountGet subaccountGETGet one collection subaccount by its id.list_subaccountsList subaccountsGETList your collection subaccounts (split payment recipients), filtered by bank or account number.update_subaccountUpdate subaccountPUTUpdate a collection subaccount's business name, email, account or split. split_value is required: read the subaccount with get_subaccount first and send back the current value if it does not change.
Beneficiary, 4 operations
create_beneficiaryCreate beneficiaryPOSTSave a transfer beneficiary (bank code, account number, name) so later transfers can reference it by id.delete_beneficiaryDelete beneficiaryDELETEDelete a saved transfer beneficiary by its id (from list_beneficiaries).get_beneficiaryGet beneficiaryGETGet one saved transfer beneficiary by its id.list_beneficiariesList beneficiariesGETList the transfer beneficiaries saved on your account, page by page.
Transaction, 4 operations
list_bulk_tokenized_charge_transactionsList bulk tokenized charge transactionsGETList the individual charges of a bulk tokenized charge, with each one's status.list_payout_subaccount_transactionsList payout subaccount transactionsGETList the transactions and balance history of a payout subaccount between two dates.list_transactionsList transactionsGETList your collection transactions, filtered by dates, customer email, status, tx_ref or customer name, page by page.refund_transactionRefund transactionPOSTRefund a transaction in full, or in part with amount. Refunds usually take 3 to 15 working days to complete.
Transfer, 4 operations
create_transferCreate transferPOSTSend money from your balance to a bank account or mobile money wallet. This moves real money; follow it with get_transfer.get_transferGet transferGETGet one transfer by its id, with its status and complete_message.list_transfersList transfersGETList your transfers (payouts), filtered by status, reference or dates, page by page.retry_transferRetry transferPOSTRetry a failed transfer by its id. This moves money again.
Bill payment, 3 operations
create_bill_paymentCreate bill paymentPOSTPay a bill (airtime, data, power, cable TV, internet) for a customer from your wallet balance. This spends money; check the result with get_bill_payment_status.get_bill_payment_statusGet bill payment statusGETGet the status of a bill payment by its reference (the reference you sent to create_bill_payment).list_bill_paymentsList bill paymentsGETList your past bill payments with their status, amount and commission earned, filtered by date range and status.
Subscription, 3 operations
activate_subscriptionActivate subscriptionPUTReactivate a cancelled subscription so its customer is charged again on the plan.cancel_subscriptionCancel subscriptionPUTCancel (deactivate) an active subscription so its customer is no longer charged.list_subscriptionsList subscriptionsGETList subscriptions to your payment plans (cancelled ones included), filtered by email, transaction, plan, dates or status.
Token, 3 operations
get_bank_account_tokenGet bank account tokenGETGet a bank account token (e-mandate) by the reference returned by tokenize_bank_account, with its status.update_bank_account_token_statusUpdate bank account token statusPUTChange the status of a bank account token (e-mandate) to ACTIVE, SUSPENDED or DELETED.update_card_tokenUpdate card tokenPUTUpdate the customer details (email, phone, first and last name) tied to a card token. All four are required: send the current values for those that do not change.
Virtual account number, 3 operations
create_virtual_accountCreate virtual accountPOSTCreate a virtual account number a customer pays into by bank transfer, temporary (with an amount) or permanent (needs the customer's BVN or NIN).get_virtual_accountGet virtual accountGETGet a virtual account number by its order reference.update_virtual_account_bvnUpdate virtual account bvnPUTUpdate the BVN attached to an existing virtual account.
Agency order, 2 operations
create_agency_orderCreate agency orderPOSTCreate an order to pay a government agency product, with the customer and the fields get_agency_product_amount listed. Returns an order to settle with update_agency_order.update_agency_orderUpdate agency orderPUTSettle a government agency order created with create_agency_order by sending the amount to pay and your reference. This spends money from your balance.
Agency product, 2 operations
get_agency_product_amountGet agency product amountGETGet the amount to pay for a government agency product and the customer fields it requires.list_agency_productsList agency productsGETList the products a government agency offers, by agency code from list_government_agencies.
Balance, 2 operations
get_wallet_balanceGet wallet balanceGETGet your Flutterwave wallet balance (available and ledger) for one currency, for example NGN.list_wallet_balancesList wallet balancesGETList your Flutterwave wallet balances in every currency (available and ledger balance).
Bulk tokenized charge, 2 operations
create_bulk_tokenized_chargeCreate bulk tokenized chargePOSTCharge several saved card tokens in one batch. This takes money from customers; read progress with get_bulk_tokenized_charge.get_bulk_tokenized_chargeGet bulk tokenized chargeGETGet the status of a bulk tokenized charge by its bulk id.
Bulk transfer, 2 operations
create_bulk_transferCreate bulk transferPOSTSend several payouts in one batch from your balance. This moves money; follow it with get_bulk_transfer.get_bulk_transferGet bulk transferGETList the transfers of a bulk transfer by its batch_id, with each one's status.
Bulk transfer rate, 2 operations
get_bulk_transfer_ratesGet bulk transfer ratesGETGet the result of a bulk transfer rates request by its id (from query_bulk_transfer_rates).query_bulk_transfer_ratesQuery bulk transfer ratesPOSTRequest exchange rates for several international transfers at once. Read the result with get_bulk_transfer_rates.
Bulk virtual account number, 2 operations
create_bulk_virtual_accountsCreate bulk virtual accountsPOSTCreate several virtual account numbers in one batch. Read them with get_bulk_virtual_accounts and the batch id.get_bulk_virtual_accountsGet bulk virtual accountsGETGet the virtual accounts created in a batch by the batch id returned by create_bulk_virtual_accounts.
Chargeback, 2 operations
list_chargebacksList chargebacksGETList chargebacks raised against your account, filtered by status, dates, currency, flw_ref or id.respond_to_chargebackRespond to chargebackPUTAccept or decline a chargeback raised against your account (action accept or decline), with a comment giving the reason.
Otp, 2 operations
create_otpCreate otpPOSTGenerate a one-time password (billed from your NGN wallet) and, when send is true, deliver it by sms, email or whatsapp. Returns one reference per medium to pass to validate_otp.validate_otpValidate otpPOSTCheck an OTP the customer entered against the reference returned by create_otp.
Refund, 2 operations
get_refundGet refundGETGet one refund by its id, with its status.list_refundsList refundsGETList refunds you initiated, filtered by dates, status, currency or flw_ref.
Settlement, 2 operations
get_settlementGet settlementGETGet one settlement by its id, with the transactions it contains.list_settlementsList settlementsGETList settlements (payouts of your collections to your bank account), filtered by dates or subaccount.
Trade, 2 operations
create_tradeCreate tradePOSTExecute a currency conversion using a quote id from create_trade_quote. This converts money in your balances.get_tradeGet tradeGETGet the status of a currency conversion trade by its id.
Trade quote, 2 operations
create_trade_quoteCreate trade quotePOSTRequest a quote to convert an amount between two currencies. The quote starts with status NEW and no rate: read it with get_trade_quote, then pass its id to create_trade.get_trade_quoteGet trade quoteGETGet the status and rate of a currency conversion quote by its id.
Wallet reversal, 2 operations
create_wallet_reversalCreate wallet reversalPOSTReverse a wallet funding (refund the money that funded a payout subaccount) by its funding reference.list_wallet_reversalsList wallet reversalsGETList wallet funding reversals and refunds, filtered by status, dates or reference.
Bank, 1 operation
list_banksList banksGETList the banks Flutterwave supports in a country, with the bank code to pass as account_bank to resolve_bank_account, create_transfer or create_beneficiary.
Bank account, 1 operation
resolve_bank_accountResolve bank accountPOSTLook up the account holder name of a bank account from its number and bank code (codes from list_banks). Use it to confirm a recipient before create_transfer.
Bank account token, 1 operation
tokenize_bank_accountTokenize bank accountPOSTCreate a bank account token via e-mandate (status PENDING). processor_response tells the customer how to activate it; read its status with get_bank_account_token.
Bill category, 1 operation
list_bill_categoriesList bill categoriesGETList the bill categories (airtime, data, power, cable TV and more) supported in a country.
Bill customer, 1 operation
validate_bill_customerValidate bill customerGETCheck a customer identifier for a bill item before paying it: meter number, smartcard number, phone number or internet account number. Returns the customer name and details.
Bill payment summary, 1 operation
get_bill_payments_summaryGet bill payments summaryGETGet a summary of bill payments made between two dates, including commission earned.
Biller, 1 operation
list_category_billersList category billersGETList the billers in a bill category (for example AIRTIME, MOBILEDATA, UTILITYBILLS, CABLEBILLS) for a country. Categories come from list_bill_categories.
Biller item, 1 operation
list_biller_itemsList biller itemsGETList the bill items (packages, plans, amounts) a biller offers, by biller code from list_category_billers. Use the item code with validate_bill_customer and create_bill_payment.
Branch, 1 operation
list_bank_branchesList bank branchesGETList the branches of a bank (bank id from list_banks), with the branch code some banks require as destination_branch_code on create_transfer.
Bulk bill, 1 operation
create_bulk_bill_paymentCreate bulk bill paymentPOSTPay several bills in one batch from your wallet balance. This spends money; results are posted to callback_url.
Card bin, 1 operation
resolve_card_binResolve card binGETGet the issuer, card type and country of a card from its first 6 digits (BIN).
Checkout payment, 1 operation
create_checkout_paymentCreate checkout paymentPOSTCreate a hosted Flutterwave checkout (Standard) for a payment. Returns data.link, the payment page to send the customer to; confirm payment with verify_transaction_by_reference.
Government agency, 1 operation
list_government_agenciesList government agenciesGETList the government agencies (billers) you can pay into with the agency bill payment flow (list_agency_products, get_agency_product_amount, create_agency_order).
Payout subaccount balance, 1 operation
get_payout_subaccount_balanceGet payout subaccount balanceGETGet the available balance of a payout subaccount, optionally for one currency.
Retry, 1 operation
list_transfer_retriesList transfer retriesGETList the retry attempts of a transfer.
Statement, 1 operation
list_wallet_statementList wallet statementGETList the transactions of your wallet (credits and debits) for a currency between two dates.
Static account, 1 operation
get_payout_subaccount_static_accountGet payout subaccount static accountGETGet the static virtual account that funds a payout subaccount, optionally for one currency.
Tokenized charge, 1 operation
create_tokenized_chargeCreate tokenized chargePOSTCharge a saved card or bank account token (from a previous successful charge) without the customer present. This takes money from the customer.
Transaction event, 1 operation
list_transaction_eventsList transaction eventsGETList the timeline of a transaction, from initiation to completion.
Transaction fee, 1 operation
get_transaction_feeGet transaction feeGETGet the fee Flutterwave charges on a collection of a given amount, currency and payment type (inflows only).
Transaction webhook, 1 operation
resend_transaction_webhookResend transaction webhookPOSTResend the webhook of a transaction to your webhook URL (for example after your server missed it).
Transfer fee, 1 operation
get_transfer_feeGet transfer feeGETGet the fee for a transfer of a given amount and currency (and type: account or mobilemoney).
Transfer rate, 1 operation
get_transfer_rateGet transfer rateGETGet the exchange rate for an international transfer from a source to a destination currency.
Verify, 1 operation
verify_transactionVerify transactionGETGet the final status of a transaction by its Flutterwave id (data.id of the charge). Check data.status, amount and currency before giving value.
Verify by reference, 1 operation
verify_transaction_by_referenceVerify transaction by referenceGETGet the final status of a transaction by your own tx_ref. Check data.status, amount and currency before giving value.
Virtual account, 1 operation
set_virtual_account_statusSet virtual account statusPOSTDeactivate or reactivate a static virtual account. Reactivation is only supported for NGN accounts generated by Flutterwave MFB.
Use Flutterwave from Claude Code, Cursor or Codex
Connect Flutterwave in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Flutterwave operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Flutterwave
- Create your workspace
Sign up free. Nothing to install.
- Connect Flutterwave once
Add your Flutterwave connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Flutterwave integration FAQ
What can you do with the Flutterwave integration?
LiveContext exposes 115 operations on Flutterwave, covering charge, payment plan, payout subaccount and subaccount.
