Skip to content

Connect Chimoney to ChatGPT: Automate Global Payouts & Transfers

Learn how to build a managed MCP server for Chimoney to automate global payouts, multi-currency wallets, and FX rates natively from ChatGPT.

Roopendra Talekar Roopendra Talekar · · 8 min read
Connect Chimoney to ChatGPT: Automate Global Payouts & Transfers

If you need to connect Chimoney to ChatGPT to automate global payouts, multi-currency wallets, or FX conversions, you need a Model Context Protocol (MCP) server. This server acts as the translation layer between ChatGPT's tool calls and Chimoney's REST API. You can either build and maintain this financial infrastructure yourself, or use a managed integration platform like Truto to dynamically generate a secure, authenticated MCP server URL. If your team uses Claude, check out our guide on connecting Chimoney to Claude or explore our broader architectural overview on connecting Chimoney to AI Agents.

Giving a Large Language Model (LLM) read and write access to a global financial infrastructure like Chimoney is an engineering challenge. You have to map highly nested JSON schemas for different payout rails, handle strict validation rules per country, and deal with exact rate limits. Every time an endpoint changes or a new currency rail is added, you have to update your server code, redeploy, and test the integration. This guide breaks down exactly how to use Truto to generate a secure, managed MCP server for Chimoney, connect it natively to ChatGPT, and execute complex disbursement workflows using natural language.

The Engineering Reality of the Chimoney API

A custom MCP server is a self-hosted integration layer that translates an LLM's tool calls into REST API requests. While Anthropic's open MCP standard provides a predictable way for models to discover tools, the reality of implementing it against fintech APIs is painful. If you decide to build a custom MCP server for Chimoney, you own the entire API lifecycle. Here are the specific integration challenges that break standard CRUD assumptions when working with Chimoney:

The Multi-Rail Payload Matrix

Chimoney does not have a single "send money" endpoint with a uniform payload. The required fields change drastically depending on the payment rail. If an LLM is trying to initiate a Canadian bill payment, the payload structure looks completely different than an Interac e-Transfer. Sending money via SPEI (Mexico) requires a clabe or debitCard identifier. Sending via Mobile Money (Momo) requires a specific momoCode and a phone number. A custom MCP server must maintain massive, context-aware JSON schemas to ensure the LLM knows exactly which fields are required for which destination country and payment method. If your schema is slightly off, the LLM will hallucinate missing fields and the transaction will fail validation.

Nested Financial Entities

Chimoney uses a deeply hierarchical account structure. You are not simply managing a flat list of users. An account can have Sub-Accounts, Multicurrency Wallets, and AI Agents, each with their own distinct IDs, balances, and policies. If ChatGPT needs to audit transaction limits, it has to know whether it is querying chimoney_agents_capabilities_limits, checking a multicurrency_wallets balance, or looking up a specific sub-account ledger. Exposing these correctly requires meticulously curated tool definitions with explicit parameter descriptions so the LLM knows which ID belongs where.

Rate Limits and 429 Errors

When hitting financial APIs, rate limiting is strictly enforced. If your AI agent gets stuck in a loop querying exchange rates or paginating through thousands of historical transactions, the API will reject requests with a 429 Too Many Requests status. Truto does not retry, throttle, or apply backoff on rate limit errors. Instead, when the upstream Chimoney API returns an HTTP 429, Truto passes that error directly to the caller. Truto normalizes the upstream rate limit info into standardized headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) per the IETF spec. The LLM or calling agent is fully responsible for reading these headers and implementing retry or backoff logic.

Generating a Managed MCP Server for Chimoney

Instead of forcing your engineering team to build a Node.js or Python server from scratch, manage authentication states, and manually write JSON schemas for every Chimoney endpoint, you can generate a managed MCP server using Truto.

Truto's architecture is documentation-driven. It reads the Chimoney integration's internal configuration, pulls the exact query and body schemas, and dynamically compiles them into JSON-RPC 2.0 tools. There are two ways to generate this server: via the Truto UI, or programmatically via the API.

Method 1: Creating via the Truto UI

  1. Log into your Truto environment and navigate to the integrated account page for your Chimoney connection.
  2. Click the MCP Servers tab.
  3. Click Create MCP Server.
  4. Configure your server. You can name it, assign specific tool tags (like payments or wallets), or restrict it to read methods only.
  5. Click Save and copy the generated MCP server URL (e.g., https://api.truto.one/mcp/a1b2c3d4...).

Method 2: Creating via the Truto API

For teams building automated deployment pipelines or onboarding new tenants programmatically, you can generate the MCP server via a REST call.

curl -X POST https://api.truto.one/integrated-account/YOUR_ACCOUNT_ID/mcp \
  -H "Authorization: Bearer YOUR_TRUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Chimoney Global Payouts MCP",
    "config": {
      "methods": ["read", "write"],
      "require_api_token_auth": false
    }
  }'

The API validates that the Chimoney integration has documented tools available, generates a secure cryptographic token, stores it in Cloudflare KV, and returns the ready-to-use URL in the response.

Connecting the Chimoney MCP Server to ChatGPT

Once you have your MCP server URL, connecting it to ChatGPT takes less than a minute. You can do this directly through the ChatGPT interface or via a local configuration file if you are running a custom client.

Method A: Via the ChatGPT UI

  1. Open ChatGPT and navigate to Settings -> Apps -> Advanced settings.
  2. Enable Developer mode (MCP support requires this flag to be active).
  3. Under the MCP servers / Custom connectors section, click to add a new server.
  4. Enter a name like "Chimoney Connect".
  5. Paste your Truto MCP server URL into the Server URL field and save.

ChatGPT will immediately ping the endpoint, execute an initialize handshake, and request the tools/list payload. The available Chimoney operations will appear as native tools.

Method B: Via Manual Config File

If you are using a local agent framework, Cursor, or Claude Desktop alongside ChatGPT's APIs, you can connect using a standard JSON configuration file with the SSE transport.

{
  "mcpServers": {
    "chimoney_payouts": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sse",
        "--url",
        "https://api.truto.one/mcp/YOUR_TRUTO_TOKEN"
      ]
    }
  }
}

Security and Access Control

Giving an LLM access to global disbursement rails requires strict governance. Truto provides four configuration levers to lock down your MCP server:

  • Method Filtering: Restrict the server to safe operations. Setting methods: ["read"] ensures the LLM can only query exchange rates, list balances, and check statuses. It strips out all create, update, and delete tools before they ever reach the LLM.
  • Tag Filtering: Group tools by functional area. If you only want the LLM to manage AI Agents, you can configure the MCP server to only expose tools tagged with agent_management.
  • Require API Token Auth: By default, the cryptographic token in the URL is the sole authenticator. Enabling require_api_token_auth: true forces the client to also pass a valid Truto API Bearer token in the Authorization header, adding a second layer of security.
  • Expiration (expires_at): Assign a strict time-to-live. Passing an ISO datetime to expires_at ensures the server automatically self-destructs when the window closes, cleanly wiping the authentication records from KV storage.

Chimoney Hero Tools for ChatGPT

When connected, Truto exposes the integration's documented endpoints as callable tools. Here are the most powerful tools available for orchestrating Chimoney workflows.

list_all_chimoney_info_exchange_rates

Fetches current currency pair rates (e.g., NGNUSD, USDAED) along with their expiration timestamps. This is critical for agents quoting payout amounts before execution.

"What is the current NGN to USD exchange rate on Chimoney, and when does this specific rate expire?"

create_a_chimoney_payouts_mobile_money

Executes a mobile money (Momo) payout. The LLM must pass the destination country, phone number, USD value, and the specific momoCode for the local provider.

"Send a mobile money payout of $150 USD to a contractor in Kenya at phone number +254712345678. Route it using the MPESA mobile money code."

create_a_chimoney_payouts_interac

Initiates an Interac e-Transfer for Canadian recipients. Requires the debit currency, target email, recipient name, and the amount.

"Create an Interac payout for $500 CAD to john.doe@example.com under the name John Doe."

create_a_chimoney_multicurrency_wallet

Provisions a new multicurrency wallet. Returns the newly created wallet object, complete with ID and creation timestamps, enabling automated onboarding of new funding sources.

"Provision a new multicurrency wallet on our Chimoney account and return the new wallet ID."

chimoney_agents_update_policies

Modifies the compliance and spending limits for a specific Chimoney AI agent. This controls daily caps, velocity rules, and recipient allowlists at the policy layer.

"Update the compliance policies for the Chimoney agent with ID 'agt_98765'. Set a maximum transaction cap of $50 per transfer and restrict disbursements to US and CA regions only."

create_a_chimoney_redeem_gift_card

Redeems a Chimoney gift card payment using a chi reference identifier and specified redemption options, completing the issuance cycle for corporate rewards.

"Process the redemption for the gift card associated with chi reference 'chi_1a2b3c4d' using the standard email delivery options."

For the complete schema definitions and the full list of available tools, view the Chimoney integration page.

Workflows in Action

Connecting tools is only the first step. The real value is chaining them together to handle complex, multi-step financial workflows.

Workflow 1: On-Demand Contractor Payout

When a project is completed, an operations manager can ask ChatGPT to look up the current exchange rate and execute a localized bank payout.

"Check the current exchange rate for USD to NGN. If it's favorable, initiate a bank payout of $2,000 USD to Jane Doe in Nigeria. Her account is with GTBank, account number 0123456789. Wait for the response and return the transaction status."

  1. list_all_chimoney_info_exchange_rates: The LLM queries the FX rates and filters the array for the NGNUSD pair, noting the expiration time.
  2. list_all_chimoney_info_country_banks: The agent verifies that GTBank is supported in Nigeria and retrieves the correct bank code.
  3. create_a_chimoney_payouts_bank: The LLM constructs the payload with countryToSend, account_bank, and account_number, and executes the transfer.
sequenceDiagram
    participant User
    participant ChatGPT as ChatGPT
    participant Truto as Truto MCP Server
    participant Chimoney as Chimoney API

    User->>ChatGPT: "Check rates and pay contractor in Nigeria"
    ChatGPT->>Truto: Call list_all_chimoney_info_exchange_rates
    Truto->>Chimoney: GET /info/exchange-rates
    Chimoney-->>Truto: Return NGNUSD rates
    Truto-->>ChatGPT: JSON Response
    ChatGPT->>Truto: Call create_a_chimoney_payouts_bank
    Truto->>Chimoney: POST /payouts/bank (Payload: GTBank, Nigeria, $2000)
    Chimoney-->>Truto: Return payout status & ChiRef
    Truto-->>ChatGPT: JSON Response
    ChatGPT-->>User: "Payout initiated. Ref: chi_8x9y0z"

Workflow 2: Provisioning and Restricting a FinTech Agent

You want to deploy a new programmatic spending agent but need to ensure it cannot empty the corporate treasury. You use ChatGPT to provision the agent and lock down its spending rules.

"Create a new Chimoney agent for the support team. Once created, update its compliance policies so its daily spending limit is capped at $100."

  1. create_a_chimoney_agent: The LLM provisions the new agent and extracts the returned id.
  2. chimoney_agents_update_policies: The LLM passes the new agent's ID and sets the parameter rules to enforce the $100 cap.
flowchart TD
    A["User prompt:<br>Create and restrict support agent"] --> B["Tool execution:<br>create_a_chimoney_agent"]
    B --> C["Extract Agent ID<br>from response"]
    C --> D["Tool execution:<br>chimoney_agents_update_policies"]
    D --> E["Payload:<br>{ limits: { daily: 100 } }"]
    E --> F["Agent secured<br>Confirmation sent to User"]

Unlocking Agentic Finance

Writing custom code to handle multi-rail payloads, rate limit tracking, and API schema mapping is the wrong use of engineering time. Integrating LLMs with financial platforms like Chimoney requires precise, documented execution environments.

By leveraging Truto's managed MCP servers, you eliminate the integration boilerplate. You configure the security filters, generate the URL, and give your AI agents immediate, structured access to Chimoney's massive payout ecosystem.

FAQ

Can I filter which Chimoney API endpoints ChatGPT can access?
Yes. Truto allows you to apply method and tag filters when creating an MCP server. You can restrict the server to only allow read operations, or isolate it strictly to specific endpoints like exchange rates or wallet lookups.
How are rate limits handled between ChatGPT and Chimoney?
Truto acts as a pass-through and does not absorb or automatically retry rate limit errors. When Chimoney returns an HTTP 429 error, Truto standardizes the response with IETF headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) and passes it back to the client. The LLM or calling agent is responsible for executing backoff logic.
Do I have to write custom JSON schemas for every Chimoney endpoint?
No. Truto dynamically generates the MCP tools and JSON schemas based on the integration's internal configuration and documentation records, saving you from manually maintaining schemas when the API updates.

More from our Blog