Mono Colombia

Architecture overview

How Banking connects your product to Colombian bank rails.

Banking is Mono's bridge between your product and the Colombian banking network. When you call a Banking endpoint, the request passes through authentication, idempotency check, and routing before being dispatched to one of the available payout rails: ACH, Transfiya, or Mono Turbo. Collections (money in) follow the PSE rail.

This page is the right starting point if you want to understand the path a request takes through Banking, the rail it lands on, and why a single transfer call may end up using a different rail than the one you requested (Mono falls back automatically).

Rails

RailTypeTypical use
Mono TurboReal-time payoutReal-time transfers to participating Colombian banks
ACHStandard payoutSame-day transfers to any Colombian bank
TransfiyaReal-time payoutTransfers within a specific bank cluster
PSEPayinCustomer-initiated bank transfer (e-commerce checkout)

Request lifecycle

  1. Authenticate — the API key in the Authorization header is validated.
  2. Check idempotencyX-Idempotency-Key is looked up against the cache.
  3. Route — the request lands on the rail you requested or its fallback.
  4. Dispatch — Mono submits the operation to the rail.
  5. Confirm — webhooks fire as the rail confirms or rejects.

Fallbacks

Mono Turbo can fall back to ACH when the destination does not support real-time settlement. The fallback decision tree will be documented here.

Lifecycle references

Once a request enters the platform it moves through a deterministic state machine, and every transition emits a webhook. The pages below document each state, its transitions, and the corresponding event — read these alongside the architecture above to understand what your integration should be listening for.

Next steps

On this page