Skip to main content
EUR payouts go out over SEPA to an IBAN at a bank in the SEPA zone. See Payouts for the overall flow.

Who can receive EUR payouts

Third-party SEPA payouts depend on Monerium, which doesn’t serve individuals with US, North Korean, Iranian, Venezuelan, or Myanmar nationality, or anyone living outside Monerium’s operating countries. That excludes US residents of any nationality. Read abilities.fiat_payout.eur.sepa and sepa_thirdparty from GET /api/customers/{customer_id}/abilities to see what a customer can use. EUR has no SWIFT payouts.

Register the bank account

POST /api/addresses/fiat with a SEPA 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.
  • iban: MoonPay Enterprise validates the checksum and stores the IBAN without spaces. A malformed IBAN returns 400 with "Invalid IBAN"
  • provider_country: must be a SEPA country. A bank outside the SEPA zone, for example in the UAE, returns 400 with "Bank from non-SEPA country"
The other fields follow the same rules as every bank account. See Fields for every rail.

How long registration takes

An account that Monerium can pay registers right away. An account that only Fiat Republic can pay 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 sepa_payment_reference on the Autoramp. The recipient sees it as the transfer’s reference.
  • 6-140 characters
  • Letters, digits, spaces, and -, ., /
  • At least 6 letters or digits, and not one character repeated, such as AAAAAA
A reference that breaks a rule returns 400 with a plain string that names the rule, for example:
400 Bad Request
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, pass payment_reference on GET /api/autoramps/{autoramp_id}/quote. See Quotes.

Third-party payouts

Set is_third_party: true when you register an account that doesn’t belong to your customer. MoonPay Enterprise sends third-party SEPA payouts through Monerium and screens every third-party recipient against sanctions lists when the payout runs.

Timing

Payouts sent through Fiat Republic use SEPA Credit Transfer. You can’t request SEPA Instant for a payout. See Settlement Times by Payment Method. With batch_payout: true, EUR 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 EUR ends as RejectedMinAmount. See Minimum Transaction Amount.

What can go wrong

Sandbox

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