# Colinear Core Module: Leasing & Settlement ## Provider Flow Providers are required to stake a set amount of CLR (which is dictated by the protocol, and can be changed by governance proposals). This CLR will be slashed if they go offline. ```mermaid flowchart subgraph u[Users] r([Render]) p([Provider]) end subgraph Chain st{{CLR Staking}} a[(Auctions)] end r -- Create Auction --> a p -- Check staking requirement --> st st -- Allow provider to bid --> a ``` ## Audit Flow To determine whether a provider is online, validators will read from the chain state to see which leases are active, and ping every provider every *n* blocks (determined by governance). If a quorum of validators does not receive a response, they will continuously slash the staked amount of the provider and end all leases they are providing for. If a provider runs out of staked CLR to slash, they will be removed from all leases and lease funds will be returned to the user. ```mermaid flowchart LR pOff(["Provider (Offline)"]) subgraph Active Validator Set v1((Validator)) v2((Validator)) v3((Validator)) end subgraph Chain State ll[(Active Lease List)] b{{Bank Module}} end ll -- Read --> v1 ll -- Read --> v2 ll -- Read --> v3 v1 -- Ping --> pOff v2 -- Ping --> pOff v3 -- Ping --> pOff v2 -- Slash User --> b v3 -- Slash User --> b ```