Overview
Signaling an intent:- Locks liquidity from a maker’s deposit on the Escrow contract
- Creates a commitment to send fiat payment off-chain
- Records all trade parameters on-chain for later verification
- Starts an expiration timer (typically 24 hours)
Finding Available Deposits
Before signaling an intent, query available deposits:Signaling an Intent
1
Prepare intent parameters
Gather all required information for the trade:
2
Get gating signature (if required)
If the deposit requires intent gating, obtain a signature from the gating service:
3
Call signalIntent
Submit the intent transaction:
Signaling with Referrers
Include a referrer to share fees:Referrer fees are capped at 50% and are deducted from the USDC you receive. For example, with a 1% referrer fee on 100 USDC, you receive ~99 USDC (after protocol fees too).
Multiple Intents
By default, accounts can only have one active intent at a time. To signal multiple intents:Reading Intent State
Canceling an Intent
Cancel before making the fiat payment if you change your mind:After Signaling
Once your intent is signaled:1
Send fiat payment
Use the payment method specified in your intent to send fiat to the maker’s payee details.Amount to send: Calculate from the intent’s amount and conversion rate.
2
Obtain payment proof
Get a zkTLS attestation or proof from the attestation service proving your payment.
3
Fulfill the intent
Submit the payment proof to unlock your USDC. See Fulfilling Intents.
Validation Checks
The Orchestrator performs these validations when signaling:Deposit Checks
Deposit Checks
- Deposit exists and is accepting intents
- Sufficient liquidity available
- Amount within deposit’s intent range
Payment Method Checks
Payment Method Checks
- Payment method is registered in PaymentVerifierRegistry
- Payment method is active for this deposit
- Currency is supported by the payment method
- Conversion rate meets deposit’s minimum
Access Control Checks
Access Control Checks
- Gating signature is valid (if required)
- Signature hasn’t expired
- Account can have multiple intents (if not first)
Fee Checks
Fee Checks
- Referrer fee ≤ 50%
- Referrer address is set if fee > 0
- Post-intent hook is whitelisted (if specified)
Common Errors
Best Practices
Check Rates
Verify the conversion rate meets your expectations before signaling.
Act Quickly
Signal and fulfill promptly - intents typically expire in 24 hours.
Save Intent Hash
Store the intentHash from the event - you’ll need it for fulfillment.
Monitor Expiry
Track when your intent expires and fulfill before the deadline.
Next Steps
Fulfill Intent
Learn how to submit payment proofs and receive your USDC
Contract Reference
View the complete Orchestrator contract documentation