> For the complete documentation index, see [llms.txt](https://docs.0xprocessing.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.0xprocessing.com/basic/introduction-guide/deposit-flow.md).

# Deposit flow

Learn how the deposit process works with our gateway, enabling seamless integration for businesses seeking efficient and reliable crypto payment solutions.

A Merchant's Client can make a deposit through 0xProcessing using one of the following methods:

* Payment with fixed amount
* Payment without fixed amount
* Direct payment on a static wallet

After funds are received successfully, the Merchant receives a webhook notification and can provide the Client with the requested goods or services.

{% hint style="info" %}
By default, the network fee is included in a fixed-amount payment form. For variable-amount and static-wallet payments, the blockchain deducts the network fee automatically.

A network fee applies to subsequent blockchain-based transactions, including transfers within the processing system or VRCS. For supported currencies, the Merchant can choose to cover the network fee under Settings → Currency Management.
{% endhint %}

### **Crypto processing**

0xProcessing provides three options to generate a payment:

* Fixed-amount payment form — each request generates a new unique payment address. The form specifies the amount and currency and includes an option to connect the Client's Web3 wallet.
* Payment without a fixed amount — the Merchant receives the details required to create a custom payment form where the Client can enter any amount above the minimum for the selected currency. A new unique address is generated for each payment.
* Direct payment to a static wallet — the same receiving address is used for every transfer.

### Deposit flow for payment form with fixed amount

1. The Client orders a product or service on the Merchant's website.
2. The Client selects 0xProcessing as the payment method on the Merchant's website.
3. Depending on the Merchant's design, the Client may see one or several payment options. The Client selects the desired cryptocurrency or fiat currency and chooses a payment amount if the Merchant provides this option.
4. The Client receives a fixed-amount cryptocurrency payment form in an iframe or through a separate link, depending on the integration. The Client has a 30–50-minute payment window to send the specified amount in the selected currency. If the Client closes the form or the payment window expires, the payment is marked as unpaid. To try again, generate a new payment form with a new address.
5. The Client pays by scanning the QR code, sending funds to the provided one-time wallet address, or connecting a supported Web3 wallet through MetaMask or WalletConnect.
6. After completing the payment, the Client is redirected to the URL specified by the Merchant.
7. If VRCS is enabled, the payment is converted automatically into the selected stablecoin. When the VRCS balance reaches the minimum configured under Settings → Currency Management, the funds are transferred to the 0xProcessing vault and displayed in the Merchant's balance.
8. When the transaction is complete, 0xProcessing sends a webhook to the Merchant's configured URL. The webhook contains: status, address, currency, amount and commission. If the payment is successful, the Merchant can provide the requested product or service.
9. An underpaid payment is assigned the status "Insufficient" and awaits confirmation from the Merchant under Confirmations in the Merchant dashboard. Payments made in the wrong currency and unpaid payments are unsuccessful and are shown to the Merchant as canceled.

![](https://3581776959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe844yi2U8Swnqhi7iE8%2Fuploads%2FZs99f1ziXdbb5u0zUFnG%2F0x%20Classic%20-%20Insufficient.png?alt=media\&token=2e2e37ea-c57d-4881-a98f-3c26407b512c)

### **Deposit flow for payment without fixed amount**

1. On the Merchant's website, the Client tops up their balance.
2. The Client selects the cryptocurrency for payment.
3. The Client receives a payment form created and designed by the Merchant, filled with payment details received from 0xProcessing. The form is available for 30–50 minutes. The payment amount selected by the Client must be greater than the minimum amount for the selected cryptocurrency. If the Client closes the payment form without paying or the payment window expires, the transaction is marked as unpaid. To retry the payment, generate a new payment form with a new wallet address.
4. The Client pays by scanning the QR code or sending funds directly to the provided one-time wallet address. The Web3 wallet button is not available for this form.
5. After the payment, the Client is notified about the transaction status at the Merchant's discretion.
6. If VRCS is enabled, the payment is automatically converted into the selected stablecoin. When VRCS funds reach the minimum amount set in the Merchant account settings under Settings → Currency Management, the VRCS funds are transferred to the 0xProcessing vault and displayed in the Merchant's balance.
7. Upon transaction completion, 0xProcessing sends a callback to the Merchant's webhook URL. The callback contains: status, address, currency, amount and commission. If the payment is successful, the Merchant tops up the Client's balance accordingly.
8. Payments in the wrong currency, payments below the minimum amount, and unpaid payments are considered unsuccessful and are displayed to the Merchant as canceled.

![](https://3581776959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe844yi2U8Swnqhi7iE8%2Fuploads%2F5UtpumpLrNKzSMNeMWf4%2F0x%20Classic%20-%20Deposit.png?alt=media\&token=7f58f5e0-1abc-41ca-912b-97545c5ba4d6)

### Deposit flow for direct payment on a static wallet

The Merchant assigns a permanent deposit wallet to the Client. The Client can deposit any funds above the minimum amount (\~3 USD). The funds are sent to the 0xProcessing vault and then credited to the Merchant's balance.

{% hint style="warning" %}
**XRP currency is not available for direct payments on a static wallet.**
{% endhint %}

1. On the Merchant's website, the Client tops up their balance.
2. During the first top-up, the Merchant requests 0xProcessing to generate a static address for the Client. After receiving the address, the Merchant can generate a QR code for it using a trusted QR code generation tool.
3. The Client deposits funds to the provided static address or QR code. Once the blockchain processes the transaction, the Client's balance is updated accordingly.
4. After the payment, the Client is notified about the transaction status at the Merchant's discretion.
5. Upon transaction completion, 0xProcessing sends a callback to the Merchant's webhook URL. The callback contains: status, address, currency, amount and commission. If the payment is successful, the Merchant tops up the Client's balance accordingly.
6. No callback is sent if the payment is below the minimum amount, made in the wrong currency, or not made at all. In these cases, the payment is considered unsuccessful and should be displayed by the Merchant as canceled.

![](https://3581776959-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFe844yi2U8Swnqhi7iE8%2Fuploads%2F6rw05a9xcFJOC5VxQnPh%2FStatis%20wallet%20-%20Deposit.png?alt=media\&token=0d0b8a2c-0c1f-47b2-91c9-8e59184d675c)
