Overview
Snag’s liquidity rules let you reward users for activity in decentralized exchanges (DEXes) that implement the standard Uniswap pool interfaces:- Uniswap V2 (constant-product AMM): the classic x·y=k invariant model.
- Uniswap V3 (concentrated liquidity AMM): LPs allocate liquidity to price ranges, with fees tracked per-liquidity-unit across ticks.
Some alternative designs — for example, Curve stableswap or Balancer weighted pools — fall outside this model.
We integrate with the core, standardized pool interfaces only. Custom DEX features (hooks, bonus math, rewards) typically sit on top of V2/V3 and don’t affect our ability to read the canonical liquidity data.
Availability & Enablement
- Partner enablement required: This rule is disabled by default. Contact Snag to enable it for your workspace.
- Protocol onboarding: We enable protocols on request. Provide the DEX factory address and target network; we will add the protocol so it shows up in the rule configuration.
- Chain support: We support chains where we can map the DEX factory and the chain has standard V2/V3-compatible pools.
Submit the exact factory address for the DEX you want to support. The rule validates pools against this factory and will reject pools that don’t match.
How it works
At configuration time you specify:- Chain: Any supported EVM network.
- Protocol: A V2/V3-compatible DEX identified by its namespace/name and factory address.
- Pools: Up to 5 pool addresses from the selected chain and protocol.
Rule configuration fields
This rule supports fixed-amount rewards with optional multipliers.Liquidity options
- Chain: Choose the target network where pools exist.
- Protocol: Select an enabled Uniswap V2/V3-compatible DEX (Snag enables these on request).
- Pools: Enter up to five pool addresses belonging to the selected protocol and chain.
Use block explorers or protocol UIs to confirm a pool address is deployed by the target factory.
Custom rewards function
Enter a deterministic formula that maps the base variableX
(e.g., daily liquidity provided in USD) to a reward value.
- Example:
X * 5
— for each $1 of qualifying liquidity per day, award 5 points. - Inverse rewards: Reward smaller players proportionally more (e.g.,
k / max(X, ε)
within bounds) to reduce whales dominating. - Limiting functions: Cap rewards per interval or per user (e.g.,
min(X * r, cap)
) to keep things competitive and predictable.
See also: Loyalty rules logic. Ask Snag to enable custom functions for your workspace. Provide desired formulas or guardrails (caps, floors, decay) and we’ll configure them.
Best practices
- Validate each entered pool address belongs to the selected factory.
- Group pools by the same protocol and chain for simpler reasoning.
- Consider a limiting function to prevent farm-and-dump behavior.
- Use multipliers sparingly when inverse rewards are enabled to avoid runaway incentives.
Troubleshooting
- Pool rejected: The pool’s factory doesn’t match the selected protocol’s factory. Re-check the address.
- Protocol missing: Contact Snag with the chain and factory address to have it enabled.
- No rewards accruing: Confirm the rule is enabled for your workspace and that pools are valid.