emj
shrx

Reference · Glossary

Offer State Machine

Simplified P2P lending lifecycle from Simplicity lending docs and simplicity-lending.

Start Collateral locked (pending offer) Loan active Cancelled Repaid Liquidated propose borrower cancels lender accepts full repay term expires
Core states for the first (simplified) lending contract. Reference impl adds substates (e.g. repaid → claimed).

Transitions at a glance

FromActorActionTo
BorrowerLock collateral + publish termsPending
PendingBorrowerCancel offerCancelled (collateral returned)
PendingLenderSend principal, accept termsActive
ActiveBorrowerRepay principal + loan feeRepaid (collateral released)
ActiveLenderAfter lending term, claim collateralLiquidated
Reference implementation nuance simplicity-lending tracks pending → active → repaid → claimed (lender withdraws from repayment vault) or liquidated or cancelled. When reviewing code, map names to these transitions — not every label appears in the official docs diagram.

What moves on-chain at each step

StepAsset B (principal)Asset A (collateral)
Create offerLocked in covenant
AcceptLender → borrowerStays locked
RepayBorrower → lender (+ protocol fee)Returned to borrower
LiquidateLender keeps unfunded portionLender receives collateral