Skip to main content
GBP payouts go out to a UK bank account over Faster Payments (FPS) or CHAPS. The rail you register the account with is the rail the payout uses. See Payouts for the overall flow.

Who can receive GBP payouts

GBP payouts go only to accounts in your customer’s own name. No provider supports third-party GBP payouts, so abilities.fiat_payout.gbp.fps_thirdparty and chaps_thirdparty are always Unavailable, and in production registering an account with is_third_party: true returns 422. GBP has no SWIFT payouts. Read abilities.fiat_payout.gbp from GET /api/customers/{customer_id}/abilities to check fps and chaps for a customer.

Register the bank account

POST /api/addresses/fiat with an FPS or CHAPS account identifier:
POST /api/addresses/fiat requires an Idempotency-Key header. A missing key returns 400. Only successful responses are cached, so a retry after an error runs again. See Idempotency.
Use "type": "CHAPS" with the same fields for a CHAPS account.
  • sort_code: 6 digits, with or without dashes. MoonPay Enterprise stores it without dashes, so pass it without dashes in the Autoramp’s recipient_account. "20-00-00" there doesn’t match the stored "200000" and returns 400 with "recipient fiat account not verified". Anything else returns 400 with "Invalid sort code"
  • account_number: the UK account number
  • address.postal_code: a UK address needs a valid UK postcode, stored in capitals with one space, such as E14 5HP. A malformed postcode returns 400 with "Invalid UK postal code format"
The other fields follow the same rules as every bank account. See Fields for every rail. A new account stays RegistrationPending until Fiat Republic activates the payee, then moves to Registered. If registration keeps failing for more than 24 hours, the account moves to RegistrationFailed. Listen for the register_fiat_address_status webhook instead of polling.

Create the payout Autoramp

Create a standing Autoramp or a quote-based Autoramp the same way as any payout. See Payouts. The recipient is the registered account:

Payment reference

Set fps_payment_reference on an FPS Autoramp:
  • 6-18 letters. Digits, spaces, and symbols aren’t accepted
  • Not one letter repeated, such as AAAAAA
  • Fiat Republic sends at most 17 letters, so an 18th letter is dropped
CHAPS payouts don’t carry a reference you set. fps_payment_reference on a CHAPS Autoramp returns 400 with "fps_payment_reference is only allowed for offramps via FPS transfer". The reference is fixed when you create the Autoramp. On a quote-based Autoramp, the reference is part of the signed quote: pass it on GET /api/autoramps/quote, not on POST /api/autoramps, which returns 400 with "Invalid signature" if you add it there. To use a different reference for later deposits on an FPS Autoramp, pass payment_reference on GET /api/autoramps/{autoramp_id}/quote. See Quotes.

Timing

See Settlement Times by Payment Method. With batch_payout: true, GBP Autoramps pay out once a day at 18:00 UTC. See End of Day Settlement.

Fees and minimums

Banking fees come from the Autoramp’s fee profile. See Fees and Invoices. A payout under 1 GBP ends as RejectedMinAmount. See Minimum Transaction Amount.

What can go wrong

Sandbox

Sandbox registers GBP accounts automatically. Test the full payout with Test the full flow in Sandbox.