Improved

September 2026

  • Put your property up for sale the moment you start adding it. Adding a property no longer reads as a waiting period. While the add-a-property steps run in the background, the property page now leads with a "Sell this property" card: set your price and go live, and the paperwork happens at closing, or sooner if you want to enable instant sales. The percent-complete checklist is gone, replaced by a compact status strip that stays quiet while photos, description, and title history are prepared, speaks up only when a step actually needs you, and presents document signing as an invitation once your paperwork is ready: sign now to enable instant purchases and borrowing, or wait until a buyer commits. Once the token is issued, a listing created earlier can be confirmed with a single signature to become instantly purchasable, and that confirmation now performs the marketplace approval it needs and is shown to the account that actually created the listing. The emails sent during the process were rewritten to match: they lead with your property page being live rather than with steps still to come.

  • Integrations can now read why borrowing is unavailable for a property. The public GraphQL API's poolLendingLiquidity object now carries a structured appraisalBlockReason field alongside the maximum loan amount. When a property does not qualify for a pool loan and the reason can be shared, the field states it as an enum value: the property's tax status has not been verified as current (TAX_STATUS_UNKNOWN) or its taxes are verified past due (TAX_DELINQUENT); the enum also reserves a general OTHER value for future reasons. The field is null otherwise. This is the same signal behind the "borrowing isn't available" explanation on the property page, so anything built on the API can show owners an accurate availability message instead of inferring one, and can rely on new reason values being added over time without existing ones being removed or renamed.

  • Buyer inquiries from outside listing sites now reach you reliably and privately. Listings distributed beyond the Fabrica marketplace now carry a dedicated Fabrica contact address on every listing instead of the seller's email, so your address is no longer part of the listing's published contact details. When a buyer inquires on an outside site, Fabrica verifies that the message genuinely comes from that listing service and forwards it to your inbox with the buyer set as the reply address, so answering is as simple as replying to an email; the buyer also receives a reply pointing to your property page on Fabrica. If a listing service changes its notification format, the inquiry is forwarded to you as received rather than dropped. Seller names on outside sites also display correctly now: accounts without a profile name appear as "Property Owner" instead of blank or placeholder text.

  • Paying off a loan is no longer hidden by a finished bank payment. The property page's loan section, including the Pay Off Loan action, is meant to step aside only while a bank-funded purchase is still settling. The check behind it counted finished bank payments too, so an owner whose property had any completed bank payment in its history could hold a live loan and see no way to pay it off. Only a payment that is actually still in flight hides the loan section now.

  • Adding a property by parcel number now resolves to the county you selected. The same assessor parcel number can exist in several counties of one state, and the lookup used to take the first statewide match, so a property could be created with one county's records and another county's coordinates. The lookup is now scoped to the county you picked, says clearly when no matching parcel exists there instead of substituting one from elsewhere, and selecting a parcel from the map now carries the correct county as well.

  • The off-ramp authorization step now works reliably for external wallets. Owners taking a property back to a traditional deed sign an authorization along the way. For accounts connected through an external wallet, that signature could fail with a connection error even after earlier steps had succeeded. The signing step now talks to the connected wallet directly, and when a connection genuinely is lost it shows a clear message with the way to reconnect instead of a technical error.

  • A blocked purchase now names its actual reason. When a purchase is refused because the property does not meet the marketplace's verification requirements, the message used to combine two possible causes in a single either/or sentence, so a property refused over title verification alone showed a passing confidence score next to words suggesting a score failure. The message now states exactly which requirement was not met.

  • Document generation now stops on missing information instead of shipping placeholders. When a value a legal document template needs could not be resolved, generation used to render literal placeholder text into a notarization-ready document, and optional parts of a signer's name could appear as the word "null". Generation now detects a required value that is missing wherever it appears in the template, requests the missing information, and refuses to produce the document until every value resolves; signer lines are composed only from the parts that carry a value. Regenerating a document package also cancels the superseded signing session, so only the current set of documents can be signed.