Skip to main content
As a maker (liquidity provider), you create deposits to offer USDC for purchase in exchange for fiat payments. This guide walks through the process of creating and managing deposits.

Overview

Deposits are created on the Escrow contract and define:
  • The amount of USDC available for trading
  • Accepted payment methods (Venmo, PayPal, Wise, etc.)
  • Supported fiat currencies and minimum conversion rates
  • Intent amount limits (min/max per trade)
  • Optional access control and delegation

Creating a Deposit

1

Approve token transfer

First, approve the Escrow contract to transfer USDC on your behalf:
2

Prepare payment method configuration

Define which payment methods you accept and their parameters:
3

Define currency conversion rates

Set minimum conversion rates for each payment method’s supported currencies:
4

Create the deposit

Call createDeposit with all parameters:

Managing Your Deposit

Adding Funds

Add more USDC to an existing deposit:

Removing Funds

Withdraw available liquidity (automatically prunes expired intents if needed):

Updating Conversion Rates

Updating Intent Limits

Pausing/Resuming Intent Acceptance

Managing Payment Methods

Delegation

Delegate deposit management to another address:
Delegates can perform all deposit management functions except withdrawing funds.

Withdrawing Your Deposit

Fully close a deposit and withdraw all available funds:
If active (non-expired) intents exist, the deposit won’t close completely. Call withdrawDeposit again after intents expire or are fulfilled.

Reading Deposit State

Best Practices

Monitor Liquidity

Regularly check remainingDeposits and add funds when low to ensure continuous availability.

Set Competitive Rates

Adjust conversion rates based on market conditions to attract more takers.

Use Reasonable Limits

Set intent amount ranges that balance accessibility with risk tolerance.

Enable Retention

Set retainOnEmpty: true to keep your deposit configuration when funds are depleted.

Contract Reference

See the full Escrow contract interface for all available functions and events.