Added

October 2026

  • Add a property in a county that does not record electronically. Some county recorders do not accept electronic recording from Fabrica. For a property in such a county, Fabrica can now switch the process to paper while the documents are under review: the deed and trust documents are prepared with full notary blocks (including in jurisdictions where Fabrica otherwise uses electronic signatures only), the owner signs them in person before a notary, and the owner records the deed at the county. After checking the county index, Fabrica attaches the recorded deed to the property with its instrument number and recording date, and the token is issued with no online signing session left open. The paper route is chosen per property by Fabrica staff; title review, identity verification, fee approval, and listing while the property is being added all work as before. See Add a Property.

  • A saved add-a-property session is only ever used for the property it was started for. When an owner starts adding a property before signing in, the app keeps the start in the browser and completes it after sign-in. It now completes that start only against the same property; a stored start for another property is dropped rather than replayed, and the API rejects a claim secret presented for any record other than the one it was issued for. A later start on the same page also clears an earlier one, so a confirmation can never route to the wrong property.

  • The property page is one decision at a time. The right column of a property page used to spread one choice over several cards: an estimated value drawn as a button that opened a floating panel, a Marketplace card, an "Under Loan" card with the owner's payoff figures, and the owner's borrowing form shown to everyone. A visitor now sees one Marketplace card: a "For sale" or "Not for sale" chip, the asking price, "Buy now" and "Send offer" at full width, and the estimated value as a row that expands in place to list every source behind it. When a listed property cannot be bought at the moment, the card says that buying is paused and states the reason (for example, the asking price does not cover the seller's loan payoff) instead of a disabled button with a hover-only tooltip, and offers a Message button when the owner can be contacted. When the property backs a loan from the lending pool, one line explains that the sale pays the loan off at closing, so the buyer never takes it over. Offers are listed as people, with avatars, names, amounts and plain expiry dates. Owners get the same layout with one next step and the loan payoff in plain words. On a phone, the asking price and "Buy now" stay pinned at the bottom while the listing can be bought. See Buying a Property.

  • The estimate on the page follows its confidence. The headline estimated value used to be the highest source regardless of how confident that source was, so a low-confidence model value could lead over a county assessment and the asking price. It is now the highest source whose confidence is at least 50%; county values, which carry no confidence, always count, and a source below the minimum stays in the list marked "Not used". Separately, the API's estimatedValue (token metadata, the oracle, borrowing) never falls back to the county's last recorded sale any more: one deed can convey several parcels and the county attaches the whole price to each of them, which showed a $100,000 "value" on lots assessed at a fraction of that. A property with no usable source now shows no estimate instead of a misleading one, and portfolio totals leave such a property out rather than counting it as $0. Prices and estimates read in whole dollars; cents stay where money moves. See Property Valuation.

  • A property's records and history, told plainly. A Records card replaces scattered links: the legal description as stored in the token, the deed into the trust, the trust named with its agreement, the token with its explorer link, and a Land, Trust, Token chain that ends in the owner (or in "claimed by" for a property still being added), each row lighting up the other. The history card and the profile's activity feed were ledgers of all-caps rows, one per event, with raw type names for some. Both now tell a short story from the same moments: an opening of plain facts ("On Fabrica since December 2023, this land has backed four loans, all repaid"), then moments under month headings, newest first, with one entry per loan from start to repayment and its dated steps and transactions behind a toggle, a seller's price changes folded into their listing, runs of small repaid loans folded into one line, and sales, transfers and defaults never folded. Property pages with long loan histories also stopped timing out: whether a past default was later repaid is now settled from Fabrica's own records, reconciled daily, instead of being re-queried from the lending subgraph on every page view, and a subgraph error can no longer mark a loan as defaulted.

  • Owners' borrowing figures stay with the owner. Every visitor used to see the owner's Instant Liquidity card with the live loan amount and sliders, a number set by what the pool can source right now and easy to misread as a lender's valuation. Visitors now see a hint instead: "Buy it, then borrow against it" on a listed property, or that liquidity is ready for the owner on an unlisted one, with a line inviting a signed-out owner to log in and see what they can borrow. The owner's card was reworked: the amount leads and can be typed exactly, the duration slider shows a tick per available term, and the summary reads "You receive", "Interest at X% APR" and "You repay by [date]" before anything is confirmed. See Pool-Based Lending.

  • A mortgage reads as a fact on record, not a failure. Property checks on a home with a mortgage used to score the lien as an item to review while keeping the passing title "No mortgage on record". The lien check now has a title for every result, a mortgage is shown as "On record" (a claim the owner agreed to, usual for a home) without changing the property's verdict, and the summary says so in a sentence. The Property checks chip collapses to a compact icon whenever the key checks and claims pass. The numeric encoding is unchanged. See Property checks.

  • Add your land from the map, or claim it from its page. Every US parcel lights up on the homepage map. Clicking a parcel that is not yet on Fabrica asks "Is this your land?"; "Yes, add my land" signs the visitor in if needed, sets the property up and claims it for their account while the map shows "Setting up your property", and opens the property page when it is ready, with "Add it step by step" on the search page as the fallback. A property started without an owner (from a mailed QR code, or by a visitor who did not sign in) shows "Claim this property" on its own page instead of a dead-end "Unclaimed" label; the claim completes in place and the page reloads in the owner view. A property opened from its QR link can be claimed again: the app obtains the claim secret for that exact record through its server, so the strict claim rule introduced in September holds without locking the recipient of a QR code out. See Add a Property.

  • Start over after a cancellation or rejection, without asking for help. Starting again on a parcel whose process the owner had canceled, or whose documents Fabrica had rejected in review, used to resume the old record where it stopped, with the old answers, the old documents and the old review state, so a new question introduced by the rules was never asked and only an administrator could reset it. A new start now opens a fresh process under the current rules, with the owner's questions asked again and the documents generated anew; a setup fee already authorized or paid carries over and is never charged twice. An in-progress process that the owner merely left and came back to still resumes in place.

  • The deed names you the way your current deed does. The add-a-property questions now ask how title is held, as the recorded deed states it ("an unmarried person", "a married person, as their sole and separate property", and so on), and the granting clause of the deed into the trust follows the answer; companies and co-owners pick "Name only". This applies in every state, and it is the kind of detail a county recorder checks before accepting a deed.

  • The setup fee, explained before you authorize it. The fee dialog on the add-a-property steps and in the owner toolbox now leads with the amount and a "$0 today" marker, then states the three outcomes (nothing is charged today; the fee is collected once, the first time the property is sold, borrowed against or used in another app; it is waived if the property is removed unused) and what it covers: online notarization, county recording, identity verification and the digital ownership record. Authorizing is one tap, with the Terms of Service line beside the button, and an owner who already authorized the fee sees the date and that there is nothing else to do. The fee is called the setup fee everywhere, including in the fee emails; it was previously called the onboarding fee. See Fees.

  • Photos in the order you choose, on Ethereum too. Owners of issued properties on Ethereum can now drag photos into order and pick the cover buyers see first; the ordering was available while a property was being added and on the test network before. Re-uploading a photo that was already on file works again instead of failing, videos play in the property's media viewer with a "Show all" control opening the full gallery, and map overlay files are kept out of the gallery and the photos editor. Property URLs redirect permanently to the property's canonical address, and a property's slug lookup refreshes within a day of a change, so links keep working after a property is issued or renamed.

  • Removing a property that changed hands needs no manual research. The trust documents prepared when a property is removed must name the settlor, the party who deeded the land into the trust. That name used to be filled automatically only when the token had never changed hands; for a property bought from a previous owner, a person had to look it up. It is now taken from Fabrica's own record of the completed add-a-property process whatever the token's later transfers, and never from the person taking title out, with manual input kept for the cases where the records disagree.

  • The retired peer-to-peer venue is no longer queried. The former in-app peer-to-peer integration shut down over the summer and its API host no longer resolves. Property and account lookups on Ethereum no longer ask it for offers, so a property query can no longer fail on that account, and any stored offer count from it reads as zero. Historical loans made through that venue remain in the records, labeled as such. Peer-to-peer lending itself is protocol-agnostic: see Peer-to-Peer Lending.

  • Generated descriptions describe improved parcels as what they are. The description Fabrica drafts for a property used to be written for vacant land. A parcel with a house on it is now described accurately, without unit claims it cannot support, and with its exact acreage. Social and search previews of a property say "property" rather than "land".

  • For AI agents: searches default to what the marketplace would sell. The Fabrica MCP server's search_properties and protocol statistics used a minimum numeric encoding of 2,142, which a token under recovery or in a voided state still cleared. The default is now 72,032, the marketplace's own threshold; the API pairs it with a verified-deed requirement, so an agent's default search returns only properties the marketplace would sell. A search for one account's holdings (ownedBy without minScore) lists every property in that account, as the owner's own view does. Activity amounts are now scaled by the currency's decimals, so a $4,950 marketplace sale no longer reads as $4,950,000,000; stablecoin amounts read as dollars and other currencies in their own unit. The server's descriptions and outputs name the feature Property checks (the explain_confidence_score tool is titled "Explain Property checks" and no longer reports a percentage, since the encoding is positional), and the in-app pool is named the DeFi lending pool, the name now used across Fabrica for what was called the Fabrica lending pool. See AI agents and MCP.

  • Pay on Fabrica's own screens, with the fee and the date in front of you. Buying a property and depositing into the DeFi lending pool used to hand the payment to the payment provider's hosted window. Both now run through Fabrica's own payment steps: pick how to pay (account funds, a bank transfer, a card, or a wire), and each option shows its processing fee and the date by which the property is yours or the deposit is in the pool before you choose; totals include processing fees, and an option that cannot take the amount says so. Account funds carry no processing fee and settle right away. Identity is verified once, for bank transfers, wires and larger card payments, with the details checked by Coinflow, the payment provider named on the screen, while Fabrica keeps only whether you are verified; linked banks and cards and the verification status live in a new Payment methods section of the profile. Choosing a wire shows the recipient, routing and account details, the reference to include and a send-by date, emails them, and the property waits for the wire. A bank-funded purchase shows "Sale pending" on the property and its cards for the whole time the payment clears, with the expected date, and an email when ownership moves. Every payment error is explained in Fabrica's own words with the next step (a declined card charges nothing; a property sold to someone else before a bank payment clears returns the payment to the bank). Fabrica turns each option on per network, and a paused option is not offered. See Buying a Property.

  • Cash out on your own terms. Cashing out, which also ran in the provider's hosted window, is now a Fabrica flow: choose an amount, a destination (a bank account or debit card in your name) and a speed, with the fee, the amount you receive and the expected date shown for each speed, and speeds that cannot take the amount hidden. You approve a one-time permission for the payment provider to use that amount from your account, and you are emailed when the money arrives. A first cash out asks for identity verification (the same one used for bank payments) and a payout bank, which can now be added from the destination list; a newly added destination is confirmed by email and its first cash out runs at standard speed. The smallest cash out is $5. See Selling Your Property.

  • Pay a loan off by card. A borrower without stablecoins on hand used to hit a dead end at payoff. On pools that can accept a repayment made on the borrower's behalf, "Pay by card" charges only the shortfall, lands it in the account, and then confirms the payoff; the payoff amount is quoted minutes ahead so the card payment covers it. A borrower with an active loan on a property whose new lending is paused now sees the reason instead of a generic refusal. See Pool-Based Lending.

  • The homepage is a map of US land, and every place has a page. The homepage used to be a grid of the properties on Fabrica. It is now a map of all US land with the properties for sale listed beside it: pan or zoom and the list follows the map; filter by state and sort by price or acreage. When no property is for sale in the map area, the nearest ones for sale are listed instead. On a phone the properties for sale come first, behind a "Show map" button. Every state, county and place now has its own page (fabrica.land/us/arizona, /us/arizona/coconino-county, /us/arizona/coconino-county/williams) that opens the marketplace on that area, is indexed and in the sitemap, and is linked from a property's county and state. Property cards show how many active offers a property has, a profile shows an owner's portfolio with the same cards and map, and the homepage, profiles and property pages share one look. A property page's map can be expanded and its flyover played or paused.

  • Buying, offers and transfers finish cleanly. The buy dialog shows the token moving from the seller to the buyer, and a bank-funded purchase explains that the token stays the seller's until the bank clears the payment. Accepting an offer finishes as soon as the sale is mined (a seller with a smart account used to wait through a two-minute timeout), and the accept dialog shows the marketplace fee and what the seller receives, marked as estimates until the fee is final, with a genuinely zero fee shown as zero. An owner whose property is still being set up is told that offers can be accepted once setup is complete. Right after a purchase, listing or removing the property is held until the records show the new owner, so the action cannot be refused as stale. A transfer from a sponsored smart account no longer asks for ETH that it does not need, the transfer dialog speaks of accounts rather than wallets, and an owner signed in with another of their linked accounts is told which account owns the property and offered a switch. A refused listing, purchase or offer says that nothing was sold, listed or sent, in plain words, instead of showing backend text; the wrong-network panel reaches every lending, transfer, media and description dialog; and link previews show a price only for a live listing.

  • Claim a property record by token id, whatever version of the trust it was started on. Claiming an unclaimed property record now runs through one authenticated path. A record started under the current trust agreement is assigned to the claimer with its token id; one started under an earlier agreement is replaced by a fresh record for the same parcel under the current agreement, with a new token id, and the old link follows to it. A record that someone else has already claimed is refused as such, a record from a mailed QR code still needs its claim secret, and a record whose process has moved past the first steps is handed to Fabrica staff rather than replaced. A signed-in visitor who is not the owner can no longer read an unclaimed record's details or write to it, a claim secret is rotated only by whoever holds the current one, and a property whose process has no account yet shows its owner an error state instead of an endless loading strip. For developers, the REST API gains claimOnRampPremint and the GraphQL API gains claimState, supersededByTokenId and premintSuccessor. See Add a Property and the On-Ramp reference.

  • What you sign, in the words of the trust. The signing dialog described the deed as transferring the property "into a Trust that you control through your Fabrica account". It now says: "Transfers your property into its own trust. The trust holds the title and the token controls the trust, so you keep your ownership rights," and the trust agreement line reads "Sets out your rights and responsibilities as the beneficiary of the trust that holds your property." The removal dialog asks for the account that held the token, and the setup fee reads in whole dollars. Fabrica's conflicts disclosure (version 1.1) names the setup fee and its collection trigger, and states that the annual fee for publishing the price oracle and Property checks is planned and not charged today. See Fees.

  • Property history names the owner, and sale amounts are right. Photo, description and trust-agreement updates made through a sponsored smart account were credited in the property's history to the transaction bundler's address; they now name the owner. Marketplace sales recorded from onchain events were stored with a dollar amount a million times too large, which the application never showed but the API's activity feed and the MCP server did; the stored amounts are corrected and backfilled, and every activity amount now goes through one scaling rule. For developers, API 3.0 removes the retired peer-to-peer offer surface from GraphQL (the LoanOffer type and the loanOffers, loanOfferCount and loanOffersMade fields); loan history, including past peer-to-peer loans, is unchanged, and an account's outstanding-loans total is null rather than failing the query when a loan has no dollar price. The MCP server stopped reading those fields in the same week.

  • A safer, more accessible site. Every response from fabrica.land now carries a standard set of security headers, the site reports a crash on a branded error page instead of a blank one, and signing out or switching accounts resets live data so nothing from the previous account stays readable. A "Skip to content" link, named photo buttons, keyboard-reachable map pins and a consistent heading order address accessibility findings.

  • Agents find Fabrica without a crawl. Every page of fabrica.land now points to llms.txt in a Link header, and a request for the homepage with Accept: text/markdown returns llms.txt itself, which names the hosted MCP servers and the GraphQL endpoint. Visitors in a browser see no change. See AI agents and MCP.

  • Ask an AI assistant how Fabrica works, and get the passage it relied on. The Fabrica MCP server now answers questions about the trust, fees, Property checks, lending, taxes, adding and removing a property and the legal framework from Fabrica's own text: ask_fabrica returns the matching passages from this documentation, the help center and the US trust agreement with their URLs, from an index committed in the server's repository and refreshed when a source changes, with no model call and no outside service. The same documents are registered as MCP resources, so a person can attach a docs page, a help article, the current trust agreement or the agreement attached to one token to a conversation from the client's picker. Four MCP prompts carry the standard loops (due diligence on a property, working a list of parcels, reviewing an account, how to add land), and the same loops ship as an Agent Skills file at mcp.fabrica.land/skill.md for agents that never connect. When the documents do not answer, contact_fabrica_support drafts an email to support with the help center section and the property link; the person sends it. See AI agents and MCP.

  • For agents, any US parcel, not only the ones on Fabrica. find_us_parcel resolves a street address or parcel number to a parcel, says whether it is already on Fabrica, and for one that is not returns the link that starts adding it only when the person opens it; a list of up to ten parcels returns a table, and owner names from parcel data are never returned. check_county_coverage says whether a county can be added through the on-ramp and what it asks the owner for (deed and forms, notarization and witnesses, questions, steps), from a dated table of the on-ramp rules.

  • Deeper reads for the agents of buyers, lenders and borrowers. Searches take a county, price and price-per-acre bounds, a distance from a point and a sort order, or return counts per state or county with links to the location pages. New tools return a property's legal record (trust, agreement, legal description, parcel identifiers, deed reference, uploaded documents), its tax status and whether it limits borrowing, every value the API holds with its source, date and confidence together with the pool's oracle state, the listings and offers on it with each listing's loan encumbrance, one loan with its payoff today, and the lending history as a distribution (loan-to-value bands, exposure by state and acreage, outcomes, originations by month, the largest loans). A borrowing estimate now names what binds the amount and, for each lever, what would raise it. Property detail carries the lifecycle stage, the fees assessed on the token and its flags, and an old premint id resolves to the minted token that replaced it. Tool names now carry the land vocabulary people search with (search_land, get_land_property, estimate_land_borrowing and so on), and the property card adapts to a phone, to the conversation or to fullscreen. See AI agents and MCP.

  • Agents prepare marketplace and loan actions on the testnet; the person signs. On mcp-testnet.fabrica.land, seven tools prepare an offer, a listing, accepting an offer, a purchase, canceling an order, a loan from the DeFi lending pool or its payoff as a sign request: the server checks the live data, returns a summary, warnings and a link to the property page on fabrica.land with the dialog prefilled, and the person reviews and signs with their own account within 15 minutes. The server holds no keys and submits nothing, and the mainnet server stays read-only. On fabrica.land, the same links work for anyone: a property page URL with ?action=offer|list|accept|cancel|borrow|repay and the action's values opens the matching dialog filled in and marked as prepared by an agent, a signed-out visitor signs in first, a link for another account, property or a gone order falls back to the plain page with a notice, and nothing is sent until the person confirms. See AI agents and MCP, Buying a Property and Pool-Based Lending.

  • Find the server without a registry. Each MCP host serves /.well-known/mcp.json, a server card listing every tool, prompt and resource template, and an AI Catalog pointing at both servers' cards. The repository carries the entries for the official MCP Registry and packages the same hosted server as a ChatGPT and a Cursor plugin, with a one-click "Add to Cursor" link in its README.

  • Auctions: the live bid and the time left on the property card. A property in a defaulted loan's auction now shows the current bid and a live countdown on its card on the marketplace and in a profile, or that the first bid has yet to start the clock. On the property page, a signed-out visitor sees "Sign in to Place a Bid", an account whose balance is below the minimum next bid is told USDC is needed before Place Bid is enabled (the balance is re-read while the auction is live), and the review step shows the bid, the current bid, the time left, the balance, and that the amount is held and returned if outbid. See Loan Defaults & Liquidation.

  • Parcels around a property, and on a profile, open their page or offer to claim. The property page map and the profile map now behave like the homepage map: a parcel lights up under the pointer, a neighboring parcel on Fabrica opens its page, and any other parcel asks whether it is your land and offers to claim it; the flyover holds still while a card is open. Every map now matches parcels against every Fabrica record, so a parcel already on Fabrica (listed or not) opens its page and an unclaimed record is claimed in place; only a parcel with no record starts a new one. Hovering a property on the homepage map highlights its card and brings it into view, and clicking a parcel on a tilted map flattens the map and fits the parcel in view. See Add a Property.

  • Owners see what the lending pool needs. When the pool refuses a borrow because a check fails, the owner's borrow card lists the three checks the pool needs (the deed checked against the county, property taxes paid, Fabrica fees paid) with each one's state and the action that clears it where one exists, instead of a generic refusal. See Pool-Based Lending.

  • Profiles for accounts with several wallets, and a list of your cash outs. An account with several linked wallets has one profile per wallet at /profile/<name>/<wallet>, with the wallet named by its ENS name when it has one, and /profile/<name> opens the wallet with the most properties, so the owner link on a property always lands on the wallet that holds it; the API's profilePath returns the same form, and a name that would resolve to another account falls back to the address. An owner's profile lists their cash outs, in-flight ones first with the expected date, then the latest finished ones, each naming the destination, speed and status and opening to the fees, dates and onchain transaction. The account menu offers "Change email", confirmed with a one-time code. Property history dates now read in the viewer's time zone, and a property's name and its URL are derived from the same address point, so the two agree.

  • For developers: parcel facts on the token. The GraphQL Token type gains parcelFacts, with taxes (the latest tax research result: status, amount due, next due date, source page, confidence, when it was checked) and assessor (zoning, land use, structures, assessed land, improvement and total values, last sale, annual tax, opportunity-zone flag, legal description, census tract, from the cached parcel record), each naming its source and fetch time, and reading as not checked when nothing is on file; owner and mailing-address fields are left out. The MCP server's property tax tool reads the same signals. The REST reference now carries API version 4.1.7 (no operation changes).