OVERVIEW
FOR LPs
FOR MINERS
ARCHITECTURE
Standardized data exchange between miners and validators.
RebalanceQuery {
# Job context
job_id: str
sn_liquidity_manager_address: str
pair_address: str
chain_id: int # 8453 for Base
round_id: str
round_type: str # 'evaluation' or 'live'
# Current state
block_number: int
current_price: float
current_positions: List[Position]
inventory_remaining: Inventory
rebalances_so_far: int
}
RebalanceQuery {
accepted: bool
refusal_reason: Optional[str]
desired_positions: List[Position]
miner_metadata: MinerMetadata {
version: str
model_info: str
}
}
Position {
tickLower: int
tickUpper: int
liquidity: str # or allocation0/allocation1
confidence: float # optional
}
rebalance_rule: {
trigger: "price_outside_range"
cooldown_blocks: 300
}
Miners receive a read-only Postgres connection string with all on-chain pool events (swaps, mints, burns, fee growth). Miners may also use their own data sources.
<aside> 🔌 Full protocol spec: github.com/SN98-ForeverMoney/forever-money
</aside>