Improved

June 2026

  • Third-party payoff and refinancing became straightforward. Anyone can now repay an existing loan, not only the original borrower, which makes paying off someone else's loan, refinancing, and lender-assisted workouts simple. Under the hood the pool contracts were reorganized so a deposit or repayment can be made on behalf of a named recipient, with large code paths moved into libraries to stay within contract size limits, and the borrower of record is recorded on the loan so collateral always returns to the right party.
  • Borrowing is safer when a valuation is missing. Owners are now prevented from borrowing against a property whose collateral value is reported as zero, and the instant liquidity option is hidden in that case, so a loan is never sized against a missing estimate. Low-confidence valuations are withheld from the interface entirely rather than shown as if they were reliable.
  • Contract security hardening. A burn-then-remint path that could let a fully redeemed token id be recreated and overwritten was closed by recording a permanent definition marker on the property, internal call ordering was adjusted to follow checks-effects-interactions, and a validator metadata read that could revert after a storage-layout migration was fixed.
  • Transactions reflect immediately and recover gracefully. A sustained reliability effort means that after a purchase, loan, or listing is submitted, the interface updates optimistically and reconciles against confirmed state, with clear "still confirming, safe to close" handling for slow receipts and recovery from stuck sign-in states instead of a dead loading screen.
  • Failures surface clearly instead of dead-ending. A broad reliability pass across the application means that errors in placing or accepting offers, paying off a loan, transferring a property, the off-ramp, document downloads, and onboarding now show a clear error or loading state rather than silently doing nothing or closing as if the action had succeeded. Flows that could otherwise route into a transaction that cannot settle, such as continuing a loan payoff or a transfer while the account balance is still unknown, are now held until the needed data has loaded, and an empty marketplace or a record that does not exist renders a helpful state or a correct "not found" page instead of a blank screen.
  • Valuations no longer linger once the model withdraws them. When FabricaAVM cannot produce a confident result for a parcel, the valuation API and the signed price oracle now report that no valuation is available instead of returning an earlier estimate the model no longer stands behind, and unstable model fits are suppressed rather than published. Lenders, integrators, and analytics tools that read the oracle therefore see the model's current determination rather than a stale figure.