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.

Finance and accountingAPI keyMCP + RESTflutterwave.com
AUDIT LOG · FLUTTERWAVEPOLICY: acme-support
09:41:07 · claude · u_8f2read
flutterwave.list_billers
List Billers✓ allowed · 212ms
09:41:08 · claude · u_8f2read
flutterwave.list_transfers
List Transfers✓ allowed · 164ms
09:41:09 · claude · u_8f2write
flutterwave.create_subaccount
Create Subaccount✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
flutterwave.delete_subaccount
Delete Subaccount✕ blocked · policy: deny
EVERY FLUTTERWAVE CALL, ON THE RECORD
01 · USE CASES

What agents do in Flutterwave.

01

Check a transaction's status

Get a transaction to confirm whether a customer's payment was successful.

02

Check wallet balances

Get balances per currency to confirm funds are available before a payout.

03

Confirm before issuing a refund

Require approval before creating a refund, since it returns funds already collected from a customer.

02 · ACTIONS

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

34

Look things up. Allowed by default.

  • flutterwave.list_billers
    List Billers
  • flutterwave.list_transfers
    List Transfers
  • flutterwave.get_transaction
    Get Transaction
  • flutterwave.get_payment_plan
    Get Payment Plan
  • flutterwave.get_transfer_fee
    Get Transfer Fee
  • flutterwave.list_chargebacks
    List Chargebacks
  • flutterwave.list_settlements
    List all settlements
  • flutterwave.list_subaccounts
    List All Subaccounts
  • flutterwave.get_bank_branches
    Get Bank Branches
  • flutterwave.get_payment_plans
    Get Payment Plans
  • flutterwave.get_transfer_rates
    Get Transfer Rates
  • flutterwave.get_bill_categories
    Get Bill Categories
  • flutterwave.get_transaction_fee
    Get Transaction Fee
  • flutterwave.get_all_transactions
    Retrieve all transactions
  • flutterwave.get_banks_by_country
    Get Banks by Country
  • flutterwave.get_wallet_statement
    Get Wallet Statement
+ 18 MORE

write

12

Create and change things. Allow, or ask the user first.

  • flutterwave.create_subaccount
    Create Subaccount
  • flutterwave.update_subaccount
    Update Subaccount
  • flutterwave.create_beneficiary
    Create Beneficiary
  • flutterwave.create_payment_link
    Create Payment Link
  • flutterwave.create_payment_plan
    Create Payment Plan
  • flutterwave.update_payment_plan
    Update Payment Plan
  • flutterwave.create_virtual_account
    Create Virtual Account
  • flutterwave.create_bulk_tokenized_charge
    Create Bulk Tokenized Charge
  • flutterwave.create_bulk_virtual_account_numbers
    Create Bulk Virtual Account Numbers
  • flutterwave.initiate_bvn_verification
    Initiate BVN Verification
  • flutterwave.generate_transaction_reference
    Generate Transaction Reference
  • flutterwave.initiate_mobile_money_tanzania
    Initiate Mobile Money Tanzania

destructive

7

Delete, cancel or archive. Ask first, or deny outright.

  • flutterwave.delete_subaccount
    Delete Subaccount
  • flutterwave.delete_beneficiary
    Delete Beneficiary
  • flutterwave.cancel_payment_plan
    Cancel Payment Plan
  • flutterwave.get_refund
    Get Refund
  • flutterwave.create_refund
    Create Refund
  • flutterwave.disable_payment_link
    Disable Payment Link
  • flutterwave.get_multiple_refund_transactions
    Get Multiple Refund Transactions
03 · HOW IT WORKS

Flutterwave in three steps.

  1. 01Your users connect FlutterwaveThey add their Flutterwave api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “create Subaccount” can wait for the user, and “delete Subaccount” can be denied outright.
  3. 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.
POLICY.TS
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
04 · AUTH AND DATA

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
05 · WORKS WITH

Use Flutterwave from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Flutterwave and Arc0, answered.

Q01

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.

Q02

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.

Q03

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.

Q04

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.

Q05

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.

Get started

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