Skip to main content

Simple Loan Lifecycle

A Simple Loan reports loan.status as a LiquidiumStatus. Read status.operation for the current phase and status.state for the UI state.

StatusMeaningUI action
{ operation: "deposit", state: "action_required" }The loan exists and waits for collateralShow the selected loan.initialDeposit.targets[chain] quote and, when non-null, loan.initialDeposit.expiryTimestamp
{ operation: "deposit", state: "confirming" }Liquidium detected a deposit and waits for confirmationsShow pending confirmation copy
{ operation: "deposit", state: "processing" }Liquidium is processing collateral after detectionKeep polling and block duplicate deposits
{ operation: "borrow", state: "confirming" } or { operation: "borrow", state: "processing" }Liquidium is sending borrowed fundsShow borrow payout progress
{ operation: "repayment", state: "active" }Debt exists and the user can repayShow the selected loan.repayment.targets[chain] quote
{ operation: "repayment", state: "confirming" } or { operation: "repayment", state: "processing" }Liquidium is confirming or processing repaymentKeep polling and avoid duplicate repayment prompts
{ operation: "repayment", state: "completed" }The loan closedShow final state and stop prompting for repayment
{ operation: "deposit", state: "expired" }The deposit window passed before collateral arrivedShow timeout copy and stop prompting for collateral deposit

Reload state with:

const loan = await client.simpleLoans.get({ ref });

Use activities when your UI needs more detail about deposits, borrow outflows, repayment deposits, confirmations, or fee top-ups.

See Status System for the shared operation and state model.