Core concepts
Terms & maturity
The fixed set of durations a listing can use, and exactly how maturity is checked.
duration isn't free-form in the UI — it's picked from a fixed set of six terms, each stored in seconds. The contract itself accepts any uint32 value for duration, but every listing created through the app uses one of these:
| Label | Seconds |
|---|---|
| 7 days | 604,800 |
| 14 days | 1,209,600 |
| 30 days | 2,592,000 |
| 90 days | 7,776,000 |
| 180 days | 15,552,000 |
| 365 days | 31,536,000 |
When a loan matures
matured = (now >= startTime + duration)This check only becomes meaningful once a listing is active, because startTime is 0 for every open listing. The clock starts at the exact block timestamp fillListing executes in — a listing that sits open for a week before being funded doesn't lose any of its term; the borrower always gets the full duration from the moment a lender actually commits capital.
Repay any time before maturity
There's no minimum hold period and no early-repayment penalty. Interest is still calculated off the full fixed duration either way (see Interest & APR), so repaying early doesn't reduce the amount owed — but it does return your collateral sooner.
