Overview
Daya enforces multiple layers of limits to manage risk, ensure liquidity, and comply with regulations. Understanding these limits helps you design resilient integrations.Volume Limits
Hierarchy
Limits are enforced at three levels:Per-Onramp Limit
Max: $1,000 USD equivalent per onramp- Applies to each individual onramp
- Calculated using current exchange rate
- Enforced before FX execution
- Deposits beyond limit are
FLAGGED - Require manual operations review
- Not automatically processed
For throwaway onramps, typically only one deposit is expected. Multiple deposits trigger review.
Per-Merchant Daily Limit
Max: $10,000 USD equivalent per 24-hour rolling window- Applies to all deposits across all onramps for a merchant
- Rolling window (not calendar day)
- Reset 24 hours after first deposit
- New deposits are
FLAGGED - Onramp creation may be blocked
- Webhook:
deposit.flagged
System-Wide Daily Limit
Max: $100,000 USD equivalent per 24-hour rolling window- Applies across all merchants on Daya
- Protects treasury liquidity
- Rarely hit under normal operation
- New deposits may be delayed or flagged
- Onramp creation temporarily disabled (system-wide)
- Daya operations notified immediately
Limit Enforcement
Limits are checked at multiple stages:| Stage | Checks | Action if Exceeded |
|---|---|---|
| Onramp creation | Merchant daily onramp count | Block creation, freeze merchant |
| Deposit creation | Within onramp validity window | Flag deposit |
| FX execution | Per-onramp, per-merchant, system-wide | Flag deposit, no FX |
| Withdrawal | Risk engine policies | Flag or reject |
Onramp Creation Limits
Max: 1,000 onramps per merchant per day- Prevents abuse and DoS attacks
- Applies to both throwaway and permanent onramps
- Automatically enforced
POST /v1/onrampreturns 429 error- Merchant account automatically frozen
- Email sent to
[email protected] - Manual review required to unfreeze
Risk Engine
All on-chain withdrawals pass through a risk engine before broadcasting. The risk engine evaluates:Risk Factors
Volume limits
Volume limits
- Per-onramp limit
- Per-merchant daily limit
- System-wide daily limit
Velocity checks
Velocity checks
- Deposits per hour from same user
- Deposits to same destination address
- Frequency of onramp creation
Address screening
Address screening
- Destination address reputation (future: Chainalysis)
- Known bad actors list
- Sanctions screening
Pattern detection
Pattern detection
- Unusual deposit amounts
- Geographic anomalies
- Timing patterns
Merchant health
Merchant health
- Merchant KYB status
- Historical reversal rate
- Compliance flags
Risk Outcomes
| Outcome | Description | Next Steps |
|---|---|---|
| APPROVE | Withdrawal proceeds | Transaction broadcast to chain |
| FLAG | Held for manual review | Deposit status → FLAGGED |
| REJECT | Permanently rejected | Deposit status → FAILED |
Risk engine decisions are logged with full context for forensics and audit.
Merchant Freeze
Merchants can be frozen (manually or automatically) for:| Trigger | Auto-Freeze? | Resolution |
|---|---|---|
| Exceeded onramp creation limit | ✅ Yes | Contact support |
| Risk investigation | ❌ Manual | Compliance review |
| Failed KYB | ❌ Manual | Complete KYB |
| Compliance issue | ❌ Manual | Case-by-case |
- All new onramp creation blocked
- Existing onramps may be disabled
- No FX execution or withdrawals
- Webhook:
merchant.frozen(future)
- Contact [email protected]
- Provide context/explanation
- Operations reviews and decides
- Manual unfreeze if approved
Handling Limit Errors
- Per-Onramp Limit
- Merchant Daily Limit
- Onramp Creation Limit
Scenario: Single deposit exceeds $1,000Error: Deposit status →
FLAGGEDAction:- Inform user their deposit is under review
- Contact support if urgent
- Consider splitting into multiple smaller deposits
Limit Increase Requests
To request higher limits:-
Document your use case
- Expected volume
- Business model
- User demographics
-
Provide historical data
- Past transaction volumes
- Average transaction size
- Reversal rates
-
Submit via support
- Email: [email protected]
- Include merchant_id
- Explain business need
Limit increases require KYB completion and compliance approval.
Monitoring Your Limits
Track your usage to avoid hitting limits:Best Practices
1
Monitor usage proactively
Check limits before creating onramps or processing deposits.
2
Use permanent VAs for repeat users
Reduce onramp creation count by reusing VAs.
3
Implement graceful degradation
When limits are approached, inform users of delays or direct to alternatives.
4
Request limit increases early
Don’t wait until you hit limits. Request increases when you reach 70% usage consistently.
5
Design for peak volume
Consider your busiest days when planning capacity.