status tells you whether it accepts deposits yet. Read it with GET /api/autoramps/{autoramp_id} or from the register_autoramp_status webhook. See Autoramp.
Status mapping
When to share deposit details
deposit_rails stays empty at Authorized, fills in at DepositAccountAdded, and empties again when an Autoramp is cancelled or rejected. The webhook can report DepositAccountAdded while GET /api/autoramps/{autoramp_id} still returns Authorized with empty deposit_rails, so read the details only once GET shows them. Share it with end users only once the Autoramp is Approved. Before that, the account isn’t verified.
A pay-by-reference Autoramp that joins an account the customer already has skips the first two steps. It starts at Approved with deposit_rails filled in.
Why an Autoramp is still Authorized
Most Autoramps leaveAuthorized on their own. While an Autoramp waits, MoonPay Enterprise retries provisioning in the background. Check these if it doesn’t move:
- The rail isn’t active for the customer. Read
GET /api/customers/{customer_id}/abilities. See Ability Status - Customer data the banking partner needs is missing. For example, a missing nationality on an older profile. See Onboarding
- The banking partner is still opening the account. EUR and GBP accounts open asynchronously
Rejected. BRL (PIX) Autoramps have no such cutoff.
Why an Autoramp is Rejected
Rejected is terminal. Create a new Autoramp once you’ve fixed the cause.
- Provisioning failed for about 72 hours
- The banking partner failed to open the account, or closed it. No webhook fires for this case
- The recipient wallet was disabled, or screened as high risk
- The customer was no longer
Activewhen the Autoramp was processed
EditPending
A change torecipient_account, destination_currency, or fee_profile_id moves an Approved Autoramp to EditPending and emails your customer a code.
- Confirmed: the Autoramp returns to
Approvedwith the new settings - Code rejected or expired: the Autoramp returns to
Approvedwith its previous settings
EditPending don’t convert and are returned to the sender. See Email confirmation (2FA).
Cancelled
An Autoramp showsCancelled in three cases:
- You cancelled it with
DELETE /api/autoramps/{autoramp_id}. Permanent for the Autoramp, but an idle EUR or GBP account can be reused for the customer’s next Autoramp in that currency - MoonPay Enterprise cancelled it because the customer was archived or the recipient wallet was disabled. Permanent
- It’s a quote-based Autoramp whose quotes have all expired. The Autoramp is dormant, not closed. Attach a new quote and it returns to
Approved. A dormant onramp Autoramp is cancelled for good after 7 days
Status webhooks
register_autoramp_status fires when an Autoramp is created, gets its deposit account, is approved or rejected, has an edit applied, or is cancelled by MoonPay Enterprise. It does not fire when:
- You cancel an Autoramp yourself
- An Autoramp enters
EditPending, or a pending edit is reverted - A quote-based Autoramp goes dormant
- An Autoramp is rejected because the bank failed to open or closed its account
GET /api/autoramps/{autoramp_id}. See Webhooks.