Transaction Status Mapping
Settlement Times by Payment Method
The time it takes for a transaction to complete depends on the payment rail used. Below are typical settlement times from initiation to completion:Settlement times are estimates based on typical payment rail processing. Actual times vary depending on:
- Banking partner processing schedules
- Compliance and AML review requirements (see
FundsReviewInProgressstatus) - Time of day and business day cutoffs
- External network delays
When No Transaction Appears
A transaction is created once a deposit lands on a Virtual Account or deposit address with a matching autoramp. If a payment was sent and no transaction shows up, the most likely explanation is that the funds have not reached MoonPay Enterprise at all. The sending bank is often still holding the payment: cutoffs, batch windows, and the sender’s own compliance checks add hours, and SWIFT adds days. Check the settlement window for the rail above, then confirm with the payer that the payment left their account. The less common case is a deposit that arrives but matches no autoramp. That happens when a payment-by-reference Virtual Account receives a payment without the expected reference, when a crypto deposit matches no active quote, or when crypto arrives on a chain you did not declare insource_currencies. MoonPay Enterprise returns those funds to the sender. No transaction is created, so there is no status to poll and no webhook to receive.
Crypto deposits worth less than 1 EUR are treated as dust. They are neither processed nor returned. See Limits and minimums.
API Endpoint
GET/api/autoramp-transactions/ids
Use this endpoint to retrieve the latest status of specific transactions (up to 100 at a time). Useful for syncing or polling real-time transaction states. At least one transaction ID is required.
Response
The example above is trimmed to the fields most integrations need. The full
AutorampTransaction object also returns kind, recipient, fee, fee_breakdown, fee_settlement, exchange_rate, is_third_party, inbound_payment_reference, batch_id, payment_tracking, and payout_crypto_transaction. The legacy state field is deprecated in favor of status.Error response
Requesting this endpoint with noids query parameter returns 400 as a plain string body: