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: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.