Methodology
How every number on this site is computed
Last updated 23 July 2026 · About EstateFi →
Every figure on EstateFi is derived from public, verifiable sources: blockchain transactions anyone can open on a block explorer, and public files anyone can download. This page gives the exact formula and the exact source for each number, so that anyone — a holder, a journalist, a competitor — can recompute them independently. If your recomputation disagrees with ours, tell us: hello@estatefi.io.
1. Market price
The market price of a token is the median price of its real on-chain sales over the most recent trading window (up to the last 21 active trading days). Medians, not averages, so a single outlier trade cannot distort the figure. Each sale is an actual settled transaction — never a listing, quote, or ask.
Where the sales come from, per platform:
| Platform | Chain | Source contract / API |
|---|---|---|
| RealT | Gnosis | YAM marketplace 0xc759…7c14 ↗ — every OfferAccepted fill, decoded from the event log. |
| Binaryx | Polygon | Secondary market 0x4e20…6e97 ↗ — USDT-settled fills; multi-order purchases are grouped per buyer and token so per-token prices stay exact. |
| Blocksquare | Ethereum | 0x Protocol v4 Exchange Proxy 0xdef1…25eff ↗ — LimitOrderFilled events involving BSPT property tokens, settled in DAI/USDC/USDT. |
| Lofty | Algorand | Public AlgoNode indexer (mainnet-idx.algonode.cloud) — marketplace transaction groups reassembled to recover price and quantity per fill. |
Each price carries a confidence level: high when trades settled in two different stablecoins independently agree (ratio < 1.35×) and there is real volume; medium with 8+ trades; low otherwise. For comparison, the detail view also shows the 90-day volume-weighted average next to the median, and the weekly charts show both estimators — so you never have to take our word for which one is fairer. Every property page links the raw fills so you can check either figure yourself.
2. Official price
The reference we show next to every market price, per issuer:
- RealT — the price displayed on RealT's own product pages (via their public API), i.e. what the issuer currently sells or values the token at.
- Binaryx and Lofty — both platforms mint every token at a fixed $50 primary price; that constant is the official reference.
- Blocksquare — the appraised value recorded on-chain in each BSPT token's own contract (property valuation ÷ 100,000 tokens).
The “vs official” column is simply market ÷ official − 1, shown as a percentage. We don't claim either number is the “true” value — we show both and let the gap speak.
3. Rent really paid
RealT (weekly)
RealT publishes its weekly payout runs in a public Google Drive folder ↗, one CSV per week, listing the per-token daily rent rate of every property paid that week. We parse every file (weekly = daily × 7) and cross-check the runs against the on-chain payout contract DisperseV2 0xf215…1a8e ↗ on Gnosis, where the actual stablecoin transfers to holders are visible. Because the files cover the entire portfolio, absence from a weekly file means $0 was paid that week — that's how the site can show honestly when rent stops, not just when it flows.
Binaryx (exact, from the funding side)
Binaryx funds each property's rent on-chain: an admin wallet calls payForRent(cToken, amount, from, to), which moves USDT into the revenue contract 0x326f…5061 ↗ on Polygon and emits a PaidRent event naming the property, the amount, and the exact rent period covered. We index every such event since the first one (November 2024), subtract any commission (emitted in the same transaction), and divide by the token's total supply at that block:
This is exact and complete — not an estimate. We verified the accounting invariant on-chain: deposits − holder claims = the contract's current USDT balance, to the cent. As a cross-check we also index the claims side (holders pulling income out), whose cumulative total must stay ≤ cumulative deposits — it does. When deposits for a property stop, the site says so and treats current income as $0.
Blocksquare (exact, per distribution)
Real property revenue reaches BSPT holders in DAI through a dedicated contract on Ethereum: RevenueDistribution 0xBcb1…a8cb ↗. Each RevenueAdded event freezes the exact recipient list, the per-holder amounts, and the covered rent period. The amounts are strictly proportional to BSPT balances (we verified the same $/token across independent holders), so the per-token rate is amount ÷ holder balance at that block. Note we deliberately exclude the Oceanpoint staking pool's BST rewards — those are freshly-minted incentive tokens, not property revenue. Distributions are periodic (roughly quarterly, in arrears); when they stop for a property, the site says so.
Reental (platform-level, honest limits)
Reental's 126 property tokens on Polygon sit in real self-custody wallets (12,900+ holder positions — we count them from the chain). We index the USDT actually paid out to holders from Reental's payout Safes (e.g. 0xF9b1…d61e ↗) — a monthly, platform-wide series. We also attribute rent per property: each distribution publishes its full allocation list (IPFS, referenced in the on-chain event), and for a rent distribution the per-token ratio amount ÷ holder balance is constant for exactly one of the 126 property tokens, with total ÷ ratio equal to that token's supply to the unit — a deterministic match, verified against independent manual decoding. Large one-off distributions that fail this test (~143 of 1,537) are capital events (e.g. property exits repaying principal) and are deliberately left unattributed rather than counted as rent. Remaining limit: there is no on-chain secondary market, so we display no market price for Reental tokens — the only on-chain-paid primary flow we found settles around $100/token.
Lofty — audited, and not verifiable
In July 2026 we audited whether Lofty's daily rent actually reaches holders on-chain. It does not: sampled holder wallets show no recurring incoming payments over months of holding (for one property, 19 of 25 sampled holders received zero incoming value in ~7 months). Rent accrues inside Lofty's custodial system; when users withdraw, funds leave a shared Lofty hot wallet as lump sums, often converted to ALGO, with no per-property attribution. Conclusion: Lofty rent is not auditable on-chain, so we show no paid-rent figure — and no Health Index — for Lofty properties, and we treat advertised Lofty yields as unverifiable promises.
4. True yield
Both inputs are real: the numerator is the sum of verified payouts (§3), the denominator the on-chain market price (§1). We display it next to the advertised yield, which is typically computed on the official price with projected rent. The two can differ enormously — e.g. a token advertised at 9% that has paid $0 for three months has a true yield approaching 0%, while a token trading at a deep discount with unchanged rent can have a true yield far above its advertised one.
5. Liquidity
For each property with enough trade history we show:
- Sales in the last 90 days — count of real fills, and the date of the last one.
- Sell-side overhang — how long the current sell queue would take to absorb at the recent pace:
An overhang of 2 means two months of normal buying would clear the queue; an overhang of 40 means a seller at the back of the queue could wait years. This is the single most decision-relevant number for an illiquid asset: not what it's worth, but whether you could actually exit.
6. EstateFi Health Index
One score, 0–100, from three pillars. The score is the sum of earned points divided by the points available for that property — missing data never silently counts for or against.
| Pillar | Max | Rule |
|---|---|---|
| Income (required) | 40 | RealT: rent currently being paid per the payout files → 40; stopped or absent → 0. Binaryx: rent funded on-chain (PaidRent deposits) through a period within 45 days of today → 40; funding stopped → 0; no deposit data but a recent claim → claim-based fallback. Blocksquare: revenue distributed on-chain covering a period within 120 days → 40; stale → 0. If income is unknown (Lofty, unfunded tokens), no score is shown at all — a “health” score that ignores whether rent is paid would be misleading. |
| Liquidity | 30 | From the overhang (§5): ≤ 2 months → 30; ≤ 12 months → 16; more → 5. If no listing data: 22 with 4+ recent sales, else 12. Needs at least 3 recorded fills. |
| Price integrity | 30 | round(min(1, market ÷ official) × 30) — a token trading at 14% of its official price scores 4/30. Needs 3+ trades and an official reference. |
The thresholds are deliberately simple and published here in full — the index contains no judgment call that isn't on this page.
7. Freshness
All pipelines run automatically every day via a scheduled job that re-reads each chain from the last indexed block, re-parses the payout sources, and republishes the site data. Each property page shows the date of its last recorded event, so staleness is always visible rather than hidden.
Known limitations — read this too
- Thin markets: a median of 3 trades is honest but noisy. That's what the confidence level is for — treat “low confidence” prices as indicative only.
- Coverage gaps: Lofty and Blocksquare rent is not yet tracked; Binaryx income is a floor, not a total; off-chain (private) sales are invisible to us by definition.
- Official prices are the issuers' numbers, republished for comparison — we don't audit the underlying appraisals.
- Delay: data refreshes daily, so an event can be up to ~24h old before it appears.
- No advice: these are measurements, not recommendations. See the risk notice.
See also: About EstateFi · Risk & legal notice. Corrections welcome at hello@estatefi.io.