Cancelled
The Cancelled phase is reached when a vault never made it to disbursement — either the funding deadline or the approval deadline passed without the loan going live. It replaces the older behaviour of pushing refunds to every investor in a single call; refunds are now pulled by each investor individually.
How a Vault Gets Cancelled
Funding deadline expired
RaisingFunds → Cancelled, via check_funding_expiry()
Approval deadline expired
AwaitingApproval → Cancelled, via check_approval_expiry()
Both calls are permissionless — anyone can trigger them once the relevant deadline has passed.
What Happens
The manager's locked collateral is released back to their available balance — once
Any borrower collateral pledge is released back to the borrower — once
The vault transitions to Cancelled
Each investor then calls
claim_refund(investor, tranche)for their own position(s) — this burns their own debt tokens and refunds their net deposit (the amount actually credited to the vault, i.e. after the protocol fee already taken at deposit time)
Transition to Finalized
Once junior_raised + senior_raised == 0 — i.e. every investor has claimed their refund — anyone can call finalize(). The vault transitions to Finalized, the terminal state.
Relevant Functions
check_funding_expiry()
Anyone
Move a stalled RaisingFunds vault to Cancelled
check_approval_expiry()
Anyone
Move a stalled AwaitingApproval vault to Cancelled
claim_refund(investor, tranche)
Investor
Pull your own refund and burn your debt tokens
finalize()
Anyone
Close the vault once every investor has claimed their refund
As of September 2026.
Last updated