Property checks
Property checks are the tests a validator runs on each property token: at issuance, on transactions, and periodically. Each check tests one thing about the token, its owners, or the property, and draws on a stated data source: county records, lien data, identity-verification records, ownership and transfer history, or Fabrica requirements. Not every check is a comparison with county records.
Property checks are a starting point for your own research, not a title search or title insurance.
Property checks were formerly called the Provenance Score (and, in earlier versions of these docs, the confidence score). The feature and its identifiers are unchanged.
Property checks are a work in progress and continue to evolve as Fabrica refines its validation approach.
Identifiers
Validators also publish the results as a 5-digit number: the numeric encoding of Property checks. Existing identifiers keep their names for compatibility:
score: the numeric encoding of Property checksconfidenceScore: the numeric encoding of Property checksexplain_confidence_score(MCP tool): explains the numeric encoding by group, digit by digit. Individual check results must be read separately for the tokenminScore(search parameter): the minimum numeric encoding a property must have to be returned
The numeric encoding groups the results differently from the Property checks checklist in the Fabrica app, and it does not show every individual result. It is not the same list, and it is not a percentage, grade or rating.
The fastest read is the leading digit: a value starting with 7 indicates a property in normal standing, while any other leading digit signals the token-property link is compromised or under review and should be treated with caution. The rest of this page explains how each digit is composed.
Encoding structure
The numeric encoding uses a positional digit system where each digit represents a group of checks:
| Position | Group | Max | What the group covers |
|---|---|---|---|
| Ten-Thousands | recoveryStatus | 7 | Recovery and integrity status of the token-property link |
| Thousands | pastTitleAndLoad | 5 | Title, legal description, liens and taxes for the property |
| Hundreds | ownership | 3 | Identity-verification records and contact for the owners |
| Tens | onChainHistory | 4 | Theft reports, flagged addresses, fees and transfer timing |
| Ones | basicValidation | 2 | Foundational documents and metadata the token must carry |
The maximum possible value is 75,342.
Example: A value of 72101 breaks down as:
recoveryStatus= 7 (Normal)pastTitleAndLoad= 2ownership= 1onChainHistory= 0basicValidation= 1
The most significant digits (leftmost) represent the most critical ownership-related checks.
Recovery Status Digit
The most significant digit reflects the recovery status of the property. Unlike the other digits, which are computed from Property checks, this digit is set administratively based on recovery events.
| Value | Status | Description |
|---|---|---|
| 7 | Normal | Default state. No recovery activity. |
| 6 | Recovery Pending | A §10.2 Notice of Lost Token Control has been recorded by the Beneficiary to recover access. Token-property link intact; Quiet Period running. |
| 5 | Stolen | The token has been reported as stolen via an unauthorized transfer. |
| 4 | Distressed | The Property is at material risk of loss to a third party through involuntary process (tax sale, judicial foreclosure of a pre-existing lien, eminent domain, or equivalent). The Trust still holds title and the Beneficiary may still cure. Reversible upon cure. |
| 1 | Void | The token has been permanently dissociated from the Property and the Trust following an Alternative Dissolution Event or involuntary loss of title. Irreversible. |
A value starting with 7 indicates a property in normal standing. Any other leading digit signals that the token-property link is compromised or under review, and applications should treat the token with caution regardless of the other digits.
Distressed (4) Lifecycle
Like every recovery status, Distressed is set administratively: a validator assigns it after confirming that an involuntary process has been initiated against the Property that, if uncured, will result in loss of title. Status updates are not instantaneous; they follow the validator receiving and processing the evidence. Examples include:
- The county has issued a tax certificate, tax sale notice, or equivalent post-delinquency instrument
- A lienholder has commenced judicial foreclosure proceedings against the Property
- A condemnation or eminent domain action has been filed
While in the Distressed state, the Property is still held by the Trust and the Beneficiary may take action to cure (pay back taxes, satisfy the lien, etc.). After a successful cure, the validator can return the token to Normal (7). If the process completes and title transfers to a third party of record, the validator moves the token to Void (1).
Applications surfacing a Distressed token to its Beneficiary should display a clear warning of the underlying risk and a path to cure.
The checks
The thousands, hundreds and tens digits count the passing checks in their group. The ones digit (basicValidation) encodes two cumulative requirement levels, described below. The recovery digit is an administratively assigned status, described above. What each check tests and where its data comes from:
pastTitleAndLoad (thousands)
| Check | What it tests | Data source |
|---|---|---|
proofOfTitleValid | The proof of title referenced by the token has been checked and confirmed | The recorded deed |
claimMatchesLegalDescription | The claim in the token matches the legal description on record | County records, through a third-party property data provider |
holdingEntityMatchesOwnerNameAtAssessor | The token's holding entity matches the owner name at the county assessor | County assessor records, through a third-party parcel data provider |
noLiensFound | No voluntary liens (such as a mortgage) with an open estimated balance were found. In the application a mortgage shows as "On record" (a claim the owner agreed to, usual for a home), not as an item to review, and it does not change the property's verdict; the check still earns no point in the numeric encoding | Lien data from a third-party property data provider |
propertyTaxesCurrent | Property taxes are up to date | County tax records |
ownership (hundreds)
| Check | What it tests | Data source |
|---|---|---|
currentOwnersKycd | Every current holder has an identity-verification record | Identity-verification records |
allTransfersKycd | Every recipient of a past transfer has an identity-verification record | Transfer history and identity-verification records |
ownerHasVerifiedContact | The majority owner has a verified email or phone on file | Fabrica account records |
onChainHistory (tens)
| Check | What it tests | Data source |
|---|---|---|
notReportedAsStolen | The token is not on Fabrica's flagged-token list, and OpenSea does not flag it as suspicious (when OpenSea returns a result) | Fabrica's flagged-token list and the OpenSea API |
currentOwnersNotInDarklist | No current holder's address appears on the flagged-address list Fabrica uses | MyEtherWallet's public address darklist, with a copy embedded in the validator as a fallback |
feesInGoodStanding | Platform fees are in good standing (the deferred setup fee authorization is intact) | Fabrica requirements and onchain approvals |
transferCooldownMet | The required post-transfer cooldown period has elapsed | Onchain transfer history |
basicValidation (ones)
| Check | What it tests | Data source |
|---|---|---|
holdingEntityDeclared | A holding entity (trust/LLC) is declared | Token metadata |
formationDocumentAvailable | The holding entity's formation document (operating agreement) is linked | Token metadata |
deedAvailable | A proof of title document is linked | Token metadata |
legalDescriptionAvailable | The token's claim (legal description) is defined | Token metadata |
coordinatesValid | The property's geographic coordinates are valid | Token metadata |
The basicValidation digit is 1 when holdingEntityDeclared, legalDescriptionAvailable and coordinatesValid all pass, and 2 when deedAvailable and formationDocumentAvailable also pass.
Reading the numeric encoding
Applications can read the numeric encoding from the API (score) or the MCP server (explain_confidence_score) as one input to their own research before transacting.
When reading it:
- Check the recovery status digit first (ten-thousands). A value other than
7indicates the token-property link is compromised or under review. - Check the next digits for ownership-critical status: title and liens (thousands) and owner verification (hundreds).
- In the thousands, hundreds and tens positions, a higher digit means more checks in that group passed. The ones digit is a requirement level (0, 1 or 2), and the leading digit is a status, not a count.
- Applications can parse individual digits to make decisions based on specific groups of checks, and should read the individual check results where a decision depends on one check.
Updated 8 days ago