Skip to main content
Fiat payouts let you pay a recipient’s bank account in their local currency. The funds come from the USDC in your Managed Payments account. Circle acts as the Originating Financial Institution (OFI) on the Circle Payments Network (CPN). CPN routes the payout to a Beneficiary Financial Institution (BFI), which delivers the local fiat to the recipient. You only integrate with the Managed Payments API. A corridor is a supported combination of destination country, currency, payment rail, and customer type. A beneficiary is a registered recipient bank account, and it must be ACTIVE before it can receive a payout. Fiat payouts don’t support supplying your own originator Travel Rule data at this time. Circle fills it from the Know Your Business (KYB) information on file for your entity.

Payout flow

The following diagram shows how a Managed Payments fiat payout moves from your server to the recipient’s bank account. The flow has these steps:
  1. Make sure your account has USDC.
  2. Pick a corridor, register a beneficiary, and wait for it to become ACTIVE.
  3. Get a quote to lock the exchange rate and fees.
  4. Submit the payout. Circle routes it through CPN to a BFI, which delivers the local fiat.
  5. Track the payout until it completes or fails.
To build this flow, see Send fiat payouts.

Beneficiary lifecycle

After you register a beneficiary, it moves through the following statuses before it can receive a payout.
  • INACTIVE: registered and pending risk screening. Not yet eligible for payouts. Becomes ACTIVE or DENIED when screening finishes.
  • ACTIVE: risk screening passed. Eligible to receive payouts. Becomes STALE if the corridor’s required fields change.
  • DENIED: risk screening rejected the beneficiary. You can’t send payouts to it. Delete it.
  • STALE: the corridor’s required fields changed after you registered the beneficiary. Delete it and register it again.
  • DELETED: deleted and no longer usable. You can delete a beneficiary from any other status.
Circle sends a payouts.beneficiary.updated webhook event when a beneficiary becomes ACTIVE or DENIED, or is deleted. To register, check, and delete beneficiaries, see Manage fiat beneficiaries.