Skip to main content

FiatDeposit Event

Overview

The FiatDeposit webhook event is triggered when a customer makes a fiat deposit to an assigned bank account number. This event allows your application to receive real-time notifications about incoming fiat deposits, enabling you to take the relevant actions within your system and ensures your system stays informed about all incoming fiat transactions.

If a deposit is refunded, the Refunds field will contain a list of refund attempts and their corresponding statuses, allowing you to track the complete lifecycle of any refunded transactions.

To configure a FiatDeposit webhook subscription, reference the Webhook Configuration page.

Webhook Lifecycle

A single fiat deposit will trigger multiple webhooks as it progresses:

Webhook #StatusWhat Happened
1PendingNoah received the fiat deposit from the bank. Compliance screening has begun.
2SettledCompliance screening passed. The deposit is confirmed.
2 (alt)FailedCompliance screening failed. A refund is initiated.

If the deposit is part of a fiat-to-crypto flow, you will also receive Transaction webhooks.

Expected Settlement Times

Once funds arrive from the banking network, fiat-to-crypto conversion is instant—USDC is minted immediately upon the FiatDeposit.Settled webhook firing. The total time your customers wait depends on which banking rail they use to send funds:

Payment MethodBank Settlement TimeTotal Time to Crypto
Standard SEPA1–3 business days1–3 business days
SEPA InstantSame daySame day
Standard ACH1–3 business days1–3 business days
ACH Same-daySame daySame day
Wire TransferSame daySame day

When Does FiatDeposit.Settled Fire?

The Settled webhook fires once the deposit clears compliance review—typically within minutes of funds arriving from the bank. At this point, the fiat amount is confirmed and (for fiat-to-crypto flows) USDC minting begins immediately.

Client Communication Guidance

When setting expectations with your customers, we recommend messaging such as:

  • For standard SEPA/ACH: "Your transfer typically arrives within 1–3 business days. Once received, your crypto is available instantly."
  • For instant rails (SEPA Instant, Same-day ACH, Wire): "Your transfer settles same day. Once received, your crypto is available instantly."

This framing emphasizes that the wait time is due to traditional banking infrastructure, not your platform or Noah's processing.

Status Reference

StatusDescription
PendingDeposit received from bank, awaiting compliance review
SettledDeposit confirmed, funds available for use
FailedDeposit failed or was rejected; check Refunds array

Event Payload Structure

When a FiatDeposit event occurs, Noah sends a webhook notification to your configured endpoint with the following JSON payload:

{
"Data": {
"Created": "2024-10-17T13:50:11Z",
"CustomerID": "418cf282-e60e-45ad-8db8-761a7f7f2210",
"FiatAmount": "10.6",
"FiatCurrency": "EUR",
"PaymentMethodID": "Bank/Sepa/EUR/SEOUGB21/GB71SEOU19870010277225",
"PaymentSystemID": "A10050DE67M10F1R23BL00D7KP"
"ID": "96369c50-7fd3-4222-a76d-1c054e6ea9de",
"Sender": {
"Details": {
"AccountNumber": "GB29NWBK60161331926819",
"Type": "FiatPaymentMethodBankDisplay"
},
"FullName": "Jonathan Smith"
},
"Status": "Settled",
"Refunds": [
{
"RefundID": "1950886d-e2c2-444f-ac5c-eb8f94e9fc1b",
"RequestedTime": "2024-10-18T13:00:00Z",
"RefundedAmount": {
"Amount": "10.6",
"FiatCurrency": "EUR"
},
"Status": "Pending"
}
]
},
"EventType": "FiatDeposit",
"EventVersion": 1729340080833,
"Occurred": "2024-10-19T12:14:41Z",
"UserID": "ory|62727185528481006f3ff4cc"
}

Handling Refunds

When a FiatDeposit has Status: "Failed", the Refunds array contains refund details:

{
"Data": {
"Status": "Failed",
"Refunds": [
{
"RefundID": "1950886d-e2c2-444f-ac5c-eb8f94e9fc1b",
"RequestedTime": "2024-10-18T13:00:00Z",
"RefundedAmount": {
"Amount": "10.6",
"FiatCurrency": "EUR"
},
"Status": "Pending"
}
]
}
}

Refund Status Values

You will receive additional FiatDeposit webhooks as the refund status changes.

StatusMeaning
PendingRefund requested, being processed
CompletedFunds returned to customer's bank
FailedRefund could not complete (contact support)

Compliance Freezes

Deposits requiring Enhanced Due Diligence (EDD) are frozen at the FiatDeposit step until review completes:

  1. Noah's Compliance team requests documentation
  2. Customer has 10 days to provide documents
  3. On approval: funds are unfrozen and converted to crypto
  4. On rejection: funds are automatically refunded to the depositing Payment Method

For comprehensive information on freezes, refunds, and reversals, see Compliance Freezes, Refunds & Reversals.

Simulate a FiatDeposit

You can simulate the action of a customer depositing fiat into an assigned bank account number, for testing purposes, in the Sandbox Environment. To do this, call the Simulate Fiat Deposit endpoint.

Fields to Store for Reconciliation

FieldPurpose
Data.IDUnique deposit identifier
Data.CustomerIDLink to your customer record
Data.PaymentMethodIDPayment method reference
EventVersionDeduplication and ordering