Flutterwave for AI agents
Flutterwave provides payments infrastructure for businesses to accept and send payments across Africa and globally, used by merchants and platforms operating in African markets. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.
What agents do in Flutterwave.
Check a transaction's status
Get a transaction to confirm whether a customer's payment was successful.
Check wallet balances
Get balances per currency to confirm funds are available before a payout.
Confirm before issuing a refund
Require approval before creating a refund, since it returns funds already collected from a customer.
53 Flutterwave actions, graded by risk.
Every Flutterwave action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.
read
34Look things up. Allowed by default.
- flutterwave.list_billersList Billers
- flutterwave.list_transfersList Transfers
- flutterwave.get_transactionGet Transaction
- flutterwave.get_payment_planGet Payment Plan
- flutterwave.get_transfer_feeGet Transfer Fee
- flutterwave.list_chargebacksList Chargebacks
- flutterwave.list_settlementsList all settlements
- flutterwave.list_subaccountsList All Subaccounts
- flutterwave.get_bank_branchesGet Bank Branches
- flutterwave.get_payment_plansGet Payment Plans
- flutterwave.get_transfer_ratesGet Transfer Rates
- flutterwave.get_bill_categoriesGet Bill Categories
- flutterwave.get_transaction_feeGet Transaction Fee
- flutterwave.get_all_transactionsRetrieve all transactions
- flutterwave.get_banks_by_countryGet Banks by Country
- flutterwave.get_wallet_statementGet Wallet Statement
write
12Create and change things. Allow, or ask the user first.
- flutterwave.create_subaccountCreate Subaccount
- flutterwave.update_subaccountUpdate Subaccount
- flutterwave.create_beneficiaryCreate Beneficiary
- flutterwave.create_payment_linkCreate Payment Link
- flutterwave.create_payment_planCreate Payment Plan
- flutterwave.update_payment_planUpdate Payment Plan
- flutterwave.create_virtual_accountCreate Virtual Account
- flutterwave.create_bulk_tokenized_chargeCreate Bulk Tokenized Charge
- flutterwave.create_bulk_virtual_account_numbersCreate Bulk Virtual Account Numbers
- flutterwave.initiate_bvn_verificationInitiate BVN Verification
- flutterwave.generate_transaction_referenceGenerate Transaction Reference
- flutterwave.initiate_mobile_money_tanzaniaInitiate Mobile Money Tanzania
destructive
7Delete, cancel or archive. Ask first, or deny outright.
- flutterwave.delete_subaccountDelete Subaccount
- flutterwave.delete_beneficiaryDelete Beneficiary
- flutterwave.cancel_payment_planCancel Payment Plan
- flutterwave.get_refundGet Refund
- flutterwave.create_refundCreate Refund
- flutterwave.disable_payment_linkDisable Payment Link
- flutterwave.get_multiple_refund_transactionsGet Multiple Refund Transactions
Flutterwave in three steps.
- 01Your users connect FlutterwaveThey add their Flutterwave api key on Arc0 Connect, under your brand. It goes straight into the vault.
- 02You set the rulesReads run, writes like “create Subaccount” can wait for the user, and “delete Subaccount” can be denied outright.
- 03Any agent can actYour agent calls Flutterwave through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
await arc0.policies.set('flutterwave', { read: 'allow', write: 'ask', // create_subaccount destructive: 'deny', // delete_subaccount }) # Claude Code: the same connection, one URL $ claude mcp add --transport http arc0 \ https://mcp.arc0.ai/u/u_8f2
How Flutterwave connects.
Users add their Flutterwave api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.
The same Flutterwave connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →
- AUTH
- API key
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use Flutterwave from any agent.
More finance and accounting apps.
Flutterwave and Arc0, answered.
Can I use Flutterwave with Claude, ChatGPT or Cursor?
Yes. Connect Flutterwave to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Flutterwave actions you allow.
How do users connect Flutterwave?
Users add their Flutterwave api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.
Which Flutterwave actions can my agent take?
53 in total: 34 read, 12 write and 7 destructive, such as “create Subaccount”. Your policies decide which of them each agent may call.
Can I stop my agent from deleting things in Flutterwave?
Yes. Actions like “delete Subaccount” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.
Can my own backend call Flutterwave too?
Yes. The same Flutterwave connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.
Plug Flutterwave into your agent.
Your users connect Flutterwave once, under your brand. Your agent gets 53 actions behind your policies, with every call on the record.
Free to build · MCP + REST · Audit log on every plan