The two hubs an exchanger touches first and most. Matt Belcher · exchange
EX‑2026‑000147 · 12301 Mockingbird Lane, Los Angeles CA 90049.
Today is Wednesday, August 19, 2026.
Part of this page depicts a proposal, not a shipped capability. What is drawn from shipped
code, and what is not:
Shipped. The 45/180 clocks and the day‑45 freeze
(shared/identification/identificationDeadline.ts, identificationFreeze.ts);
the three identification rules and every validation string
(shared/identification/ruleEnforcement.ts); the document manifests and their
action types (config/hubDocuments.ts); the identity gate on the Sales hub
(useHubAccess.ts); the “only the client signs” block
(useCoordinatorHubBanner.tsx); the designation-notice wording
(services/esign/templates/IdentificationFormTemplate.tsx).
Simulated. Document extraction is a 2‑second timer that returns fixed demo
constants — services/documentExtraction.tssimulateExtraction(). Every
extraction block here carries the dashed Demo extraction pill. The real pipeline is a
Vectr workflow (R2 → text → model, PII‑redacted) and is not wired to this surface.
Proposed. This composition. Today IdentificationHubForm.tsx is two text
inputs under a static red “Critical Deadline: 45 Days” box — no countdown, no rule
engine, no property list; those live one level up in ExchangeHub.tsx. The
day‑45‑passed treatment below, the per‑rule consequence copy, the evidence
lines on every document row, and the unsourced‑figure rule on the settlement ledger do not
exist in the product yet.
Sale — relinquished property
Sell → assign the contract to your Qualified Intermediary → proceeds to qualified escrow.
Closed Fri, Jul 10, 2026
·
$568,000.00 held in qualified escrow since Mon, Jul 13
·
6 of 6 documents on file
Complete · read-only
Nothing waiting on you
Completion100%
Identity & AML
Your identityVerified Mon, Jul 6, 2026
Government ID + live selfie, completed by you
Sanctions screeningClear
Last re-screened Aug 12, 2026
Other parties3 of 3 screened
Buyer, buyer’s counsel, closing company
Identity is the first gate on this file: until it cleared, this hub was locked with
“Please verify your identity first” and nothing else could start.
Only you can clear it. Your exchange QI officer cannot mark you verified, and no
screening result here can be waived from this screen.
Sale — relinquished propertyAll 5 steps complete
Your sale documents6 of 6 on file
Exchange Agreement E-signSettled
Signed by you Wed, Jul 8, 9:12 AM PT · countersigned by Sandra Osman, QI officer, 11:40 AM PT.
This is the agreement that makes your QI your Qualified Intermediary.
W‑9 Tax ID Certification E-signSettled
Signed by you Wed, Jul 8, 9:15 AM PT. Only the last four digits of your tax ID are stored on this file.
Assignment of Relinquished Property Contract ReviewSettled
Reviewed and acknowledged by you Thu, Jul 9 · executed by your QI the same day.
This is what puts the sale contract in the QI’s hands so the proceeds never reach you.
Notice of Assignment (Buyer) ReviewReceipt on file
Delivered to Pacific Coast Properties LLC Thu, Jul 9 · signed receipt returned by the
buyer Tue, Jul 14. Two parties had to act here; both did.
Uploaded by you Mon, Jul 6, 9:38 AM PT · read by Neela, 8 fields confirmed by you at 9:41 AM.
Preliminary Title Report UploadRequired — this property was in escrow
Uploaded by you Tue, Jul 7 · closing company details read by Neela and confirmed by you.
Settlement Statement (relinquished — HUD‑1) Upload
Waiting on Larkridge Title
Requested Tue, Jul 14 · 2 automated reminders sent · next reminder Fri, Aug 21.
This one is tracked on your Identification hub, because it is what confirms the sale figures the
45‑day rules are measured against.
Action type is the row’s promise.Upload means we need a copy from you or
your closing company; E‑sign means the document is generated for you and only you can
sign it; Review means read and acknowledge; Auto‑generated means Open1031 prepares
it and you never lift a finger. Every row names the party whose move it is and the date it changed.
When you upload a document, Neela reads itBoth states of the same module — reading, then read
State 1 · reading — about 20 seconds
Neela is reading your Sales & Purchase Agreement…Your document is encrypted before anything reads it. You can leave this page — we will hold your place.
Mockingbird Lane — purchase agreement.pdf3.1 MB · 14 pages
Reading document structure Locating exchanger and buyerExtracting sale price and datesCross-referencing your Sale hub
Fields will appear here for your review
Nothing is written to your file until you confirm it.
State 2 · read — the record on this file today
Neela read your Sales & Purchase AgreementEight fields found · you confirmed all eight on Mon, Jul 6 at 9:41 AM PTConfirmed by you
Mockingbird Lane — purchase agreement.pdf3.1 MB · 14 pages · uploaded by you
Encrypted to storage Read Cross-referenced Confirmed by you, Jul 6
What Neela found — each field is yours to accept or correct
ExchangerMatt BelcherHigh confidence
BuyerPacific Coast Properties LLCHigh confidence
Sale price$1,000,000.00High confidence
Agreement dateJune 2, 2026High confidence
Closing dateJuly 10, 2026High confidence
Closer’s emailsarah.johnson@greattitle…Faint on the page — you checked it
Confirmed Jul 6, 9:41 AM PT. Changing a confirmed field re-opens this step and is written to your file’s history.
The two buttons are disabled here because this step is closed — the hub is submitted and
read‑only. Re‑opening it is a Request an edit conversation with your
coordinator, not a silent overwrite.
Your sale, in facts
Property sold12301 Mockingbird LaneLos Angeles, CA 90049
Gross sale pricePurchase agreement, confirmed by you Jul 6
$1,000,000.00
Mortgage payoffAwaiting the signed settlement statement
—
Selling costsAwaiting the signed settlement statement
—
Total debits at closingDerived: gross less the escrow receipt
$432,000.00
Received into qualified escrowBank-confirmed Mon, Jul 13, 2026 · account ••••4417
$568,000.00
A figure with no source shows a dash, not a guess. The payoff and selling-cost
lines are itemised only when Larkridge Title returns the signed settlement statement. The escrow
figure is a bank receipt, not a calculation.
Your QI holds these funds in qualified escrow. You cannot move them and
neither can one person here — a release takes two authorised officers, and the officer
who proposes it is never the officer who approves it.
Sale hub complete
Submitted by you Tue, Jul 14, 4:02 PM PT.
·
Reviewed and accepted by Sandra Osman, QI officer, 5:20 PM PT
— your submission asked for that review; it was not the review.
Identification — your 45‑day window
Choose a rule → name your replacement properties → sign the notice that tells us which ones.
2 properties named
·
$840,000.00 of $1,000,000.00 allocated
·
designation notice not yet signed
5 days left · closes Mon, Aug 24
Waiting on you
Completion75%
The signature is not counted in this figure
The 45‑day identification windowIRC §1031(a)(3)(A)
Watched by deadline-watcher
5days left
Closes at midnight Pacific, Monday, August 24, 2026
Counted from your sale closing, Friday, July 10, 2026. This date cannot be moved by anyone at Open1031.
Day 1 · Jul 10Today · day 40Day 45 · Aug 24
Named so far2 propertiesRule you chose3‑property ruleNotice signedNot yet180th dayWed, Jan 6, 2027
What happens at midnight on the 45th day. Whatever is on your signed notice at that
moment becomes your identified set for the rest of the exchange. After it, you cannot add a property,
change one, or take one off — the list is frozen and this screen goes read‑only. Before it, you
can change anything as often as you like. That is why the signature matters more than the count.
Your next stepAbout 4 minutes
Split the last $160,000 onto the Roxbury Grove DST
Your properties are named, but $160,000.00 of your $1,000,000.00 sale proceeds is not yet assigned to one
of them. We need that split before we can produce your designation notice for signature.
Then: sign your designation notice · then: submit, and we send it to your QI officer.
Which rule you are identifying underThe IRS gives you three. You may change while the window is open; you cannot change after it closes.
3‑property ruleYour choice
Name up to three properties. Their value does not matter, and you may end up buying one, two or all three.
Using 2 of 3
If you name a fourth: this rule is broken and the whole identification fails unless you switch
to the 200% rule first. We block the fourth entry rather than let you break it.
200% rule
Name as many properties as you like, as long as their values add up to no more than twice your sale price.
Your cap would be $2,000,000.00 You have named $1,340,000.00
If the total goes over: the identification fails. We stop the entry that would cross the line
and tell you by how much.
95% rule
Name any number of properties at any value — but you must actually buy at least 95% of everything you named.
You would have to close on $1,273,000.00 of the $1,340,000.00 named
If you fall short of 95%: the entire exchange fails, not just one property. This is the
strictest of the three and is rarely the right choice.
Switching is checked against what you have already named. If a switch would break the rule you are
switching to, the option is disabled and says why — for example, five named properties cannot move to
the 3‑property rule. This is general information about how the rules work, not tax advice; your tax
advisor should confirm which rule suits your situation.
The properties you are naming2 of 3 slots used
12026 Sample Plaza, Beverly Hills, CA 90210Like‑kind real property · APN 4348‑012‑031 · named Fri, Aug 14, 2026
Assign an amount to each named property so they total your sale price —
currently $840,000.00 of $1,000,000.00. $160,000.00 is unassigned.
3
A third property is optional
Under the 3‑property rule you may name one more at any value. Many exchangers name a
back‑up they would be happy to buy if the first purchase falls through.
You have named $1,340,000.00 against a $1,000,000.00 sale. Naming more than you sold is normal —
it gives you room to choose. Buying less than you sold can leave part of your gain taxable, so talk
to your tax advisor before you decide which ones to close on.
Documents for this step0 of 2 settled
Identification of Replacement Property (your designation notice) Auto-generated Then e-signWaiting on you
Open1031 writes this from your entries — you never fill in a form. It is the document the IRS
cares about: an identification is not made until this is signed and delivered.
Preview below.
Settlement Statement (relinquished — HUD‑1) Upload
Waiting on Larkridge Title · 36 days
Requested Jul 14 · reminders sent Jul 21 and Jul 28 · next reminder Fri, Aug 21.
This does not hold up your 45‑day deadline. Your rule figures use the
$1,000,000.00 sale price you already confirmed; the statement only itemises the closing costs.
Your designation notice, as it will be signedDraft · not yet signed
This form is due to your QI no later than midnight, Pacific Time, on the forty‑fifth
(45th) day after the Relinquished Property Sale Date set forth above (deadline:
August 24, 2026).
The undersigned hereby designates the properties described herein as Eligible Replacement Properties for the Exchange:
1. Selection of Property Identification Rule — check only ONE box.
[x] I am identifying under the THREE PROPERTY RULE (up to three properties, regardless of market value).
[ ] I am identifying under the 200% RULE (any number of properties, total fair market value not more than 200% of the relinquished property).
[ ] I am identifying under the 95% RULE (any number, any value, but must close on at least 95% of aggregate identified value).
2. Identified properties
2026 Sample Plaza, Beverly Hills, CA 90210 — APN 4348‑012‑031 · estimated fair market value $840,000.00
Roxbury Grove DST, 4.6% beneficial interest — underlying property described in the trust offering · estimated fair market value $500,000.00
— not used —
3. Signature — to be executed by the Exchanger.
Only you can sign this. Tom Bottenberg, your QI officer,
prepared the file and has requested your confirmation — he cannot sign for you, and there is no
“sign on behalf” option anywhere in Open1031. Signing records your name, the exact time,
and the document you saw, to your file’s permanent history.
Why the sign button is not available yet: the notice is written from your allocations,
and $160,000.00 is still unassigned. Finish that and this button turns on. It also stays off until a QI
officer is assigned to your file, so that a countersignature is possible the moment you sign —
Sandra Osman is assigned, so that condition is already met.
Rule checkRe-run on every change
3‑property rule2 of 3 named — within the limitMet
200% value capNot your rule. For information: $1,340,000.00 of a $2,000,000.00 cap.Not elected
95% purchase floorNot your rule. For information: you would have to close on $1,273,000.00.Not elected
Like‑kind property2 of 2 confirmed as qualifying real property interestsMet
Proceeds assigned$840,000.00 of $1,000,000.00 — $160,000.00 left to assignNot yet
Signed notice delivered to your QINot yet signed — this is the one that makes the identification realNot yet
A rule you did not elect is shown as Not elected in grey, never as a green tick. A
green tick here means this requirement is satisfied on your file — nothing else.
Before you submit4 of 6 done
Choose an identification rule
Name at least one replacement property
Confirm your sale total, $1,000,000.00
Confirm each property qualifies as like‑kind
Assign the remaining $160,000.00
Sign your designation notice
If you would rather talk it through
Your QI officerTom BottenbergMon–Fri, 7 AM–6 PM PT
2 things left · 5 days
Nothing here is final until you sign. Everything you change is saved as you go —
last saved 2:41 PM PT.
When the 45th day arrives
The identification hub above is drawn on day 40. These are the three states it must also be able to tell
truthfully. None of them may render as satisfied, met, or green, and none of them may be softened.
Your 45‑day window closed. No properties were identified.
The window closed at midnight Pacific on Monday, August 24, 2026. Our records show
no signed designation notice and no properties named on this exchange.
Under IRC §1031(a)(3)(A), replacement property must be identified in writing within 45 days of the sale.
That date cannot be extended by Open1031, by your QI officer, or by this app. Your exchange
is very likely no longer eligible for tax deferral, and the sale may be treated as a taxable sale for 2026.
We are telling you plainly rather than leaving this screen looking normal.
Your money has not moved. $568,000.00 remains in the qualified escrow account,
untouched. Nothing is released without two authorised officers, and none of that changes because a
deadline passed. A disaster‑relief extension exists in narrow, federally declared circumstances and
your QI officer will tell you if this file qualifies — only the QI can record one, and only with the
legal basis attached.
Day 45, this morning
Today is your 45th dayCloses tonight
Todayis the last day
Your window closes at midnight Pacific tonight, Monday, August 24, 2026.
Your notice is still unsigned. If it is not signed tonight, no property is identified.
One critical item, stated once. The countdown drops the word “days” because a number that
reads 0 or 1 is the moment people misread a screen.
Day 46 — two properties were named in time
Your identification is lockedRead-only
Frozen at midnight Pacific, Mon, Aug 24, 2026 — 2 properties, signed notice on file.
Notice signed in timeSigned by you Fri, Aug 21, 3:12 PM PT
Changes to your listNo longer possible — adding, editing and removing are all closedClosed
Next deadlineYou must close on a named property by Wed, Jan 6, 2027 — day 180
Your next step moves to the Purchase hub. This one stays here as a record.
A passed deadline that was met is Locked, not Complete. The
hub keeps its 100% meter but the headline says what actually happened, and the exchange is not finished
— there is a bigger clock still running.
The states these two hubs actually reach
Locked, empty, blocked, failing to save. Each is a real branch in the shipped code, and each is written for
someone who is anxious and does not know the jargon.
Sale hub · locked, identity not verified
We need to confirm it is you first
Before an exchange can start, US law requires us to verify your identity. It takes about three
minutes: a photo of your ID and a selfie. Nobody at Open1031 can do this part for you.
Shipped: useHubAccess('sales') returns canAccess:false with
“Please verify your identity first”. This is the same gate, said in plain English,
with the reason and the effort attached.
Identification · nothing named yet, 31 days left
Name the properties you might buy
You do not have to be certain, and you do not have to buy every one you name. Most people name two or
three: the one they want, and a back‑up. You have until Mon, Aug 24 to decide,
and you can change this list freely until then.
An empty state that teaches the decision, not one that says “no properties.” It names the
deadline and, just as importantly, names what is still reversible.
Blocked · a fourth property under the 3‑property rule
4
Add a property
Not available under your current rule
You have named 3 properties, the most the 3‑property rule allows.
Switch to the 200% rule to name more — your three come to $1,340,000.00,
well inside that rule’s $2,000,000.00 cap.
The block is the product refusing to let you break a rule, not an error you caused. It always names the
way out and does the arithmetic for you.
Blocked · a rule switch that would not be valid
3‑property ruleUnavailable
Name up to three properties, at any value.
You have 5 properties named. Remove 2 before switching to the 3‑property rule.
Shipped behaviour: the rule change is evaluated first and refused with the reason, so an election can
never leave the file in a state that violates the rule it just moved to.
Error · your changes did not save
We could not save your last change. Your entries are still on this screen —
do not close the tab. Last successful save: 2:41 PM PT.
A failed save on a deadline‑critical form says what survived, what did not, and when the last good
save was. The button row is the shared control in every state it can reach.
Waiting-on, at a glance
Waiting on youOnly you can do it — a signature, a decision, an allocation.
Waiting on someone elseNamed, dated, and chased for you — title company, buyer, sponsor.
Waiting on your QIYour QI's to do — a countersignature, a review, a generated document.
SettledDone, with the date and the party who did it on the row.
Four labels, used identically on both hubs and on every document row. Colour never carries the meaning
on its own — every chip has an icon and a word.
Build contract — Sale and Identification hubs
1 · Status comes from evidence, never from one flag. The shipped hub header derives its
headline from hubStatus.submitted — the exchanger’s own progress through their own
forms. A hub headline must instead be composed from what happened: settlement dates, escrow receipts,
signature records, named-property counts, and the document manifest in
config/hubDocuments.ts. The Sale hub here reads “Closed Jul 10 · $568,000.00 in
qualified escrow since Jul 13 · 6 of 6 documents”, and a closed sale holding escrow may never
render as “Not yet submitted”. 2 · A submission is a request for review, not a review. The Sale hub footer prints the
exchanger’s submission and the QI officer’s acceptance as two separate facts with two separate
timestamps, and says so in words. No surface may render or count a party’s own submission as an
approval of it. 3 · Exactly one next step on the page. One element carries the
.next treatment — “Split the last $160,000” — and it deep-links to
the row it concerns. The signature that follows it is named as then:, not given a second emphasis.
The Sale hub deliberately has none: it is complete, and its outstanding document is attributed to the title
company. 4 · Waiting-on attribution on every row where two parties can act. Four chips only:
Waiting on you, Waiting on someone else (always named and dated),
Waiting on your QI, Settled. Never colour alone — icon plus word, always. 5 · A figure with no source renders as a dash. The shipped settlement panel computes
Mortgage payoff as salePrice × 0.367 and Selling expenses as
salePrice × 0.065 — two invented ratios presented to the exchanger as figures from
their closing. That is not a styling issue; it is a fabricated number on a fiduciary surface. Every money line
here carries its provenance, and the two lines that have none show — with
“Awaiting the signed settlement statement”. Only the escrow receipt, which is
bank-confirmed, is stated as fact. 6 · The completion meter must count the signature. The shipped identification percentage
is four booleans — rule chosen, one property, confirmed, settlement step — so a file can read 100%
with an unsigned designation notice, which is the only document that legally performs the identification. Until
the denominator is fixed, the meter never stands alone: it carries
“The signature is not counted in this figure” and the header evidence line states the
signature status. Fixing the denominator is the real remedy. 7 · A rule you did not elect is grey, not green.IdComplianceRail currently
returns status: 'pass' with the label “N/A — alternative rule elected”,
which paints a green tick beside a rule the file is not being measured under. Not-elected rows render neutral
and are labelled Not elected, with the live figure kept as information. 8 · An auto-generated document is not complete because it is auto-generated.DocumentChecklist.getDocStatus() returns completed: true for every
auto-generate row unconditionally, before anything has been produced. Generation and signature are
separate facts and are drawn as separate chips on the designation-notice row. 9 · One clock, one threshold.lib/identification/countdown.ts
(urgencyTier) escalates at 10 and 20 days; ExchangeHub’s
deadlineSeverity escalates at 7 and 14. The same file can be amber in one component and red in
another on the same day. Pick one function, export it, delete the other. 10 · The 45th day is stated three ways and softened none of them. Running, closing
tonight, and closed. A window that closed with nothing identified renders as the loudest element on the screen,
says that no one can extend the date, and pairs the bad news with the two true reassurances: the money has not
moved, and a human is reachable. A window that closed having been met is
Locked, never Complete — the exchange is not finished, the 180-day clock
is still running. 11 · Extraction is labelled for what it is. Every block fed by
documentExtraction.simulateExtraction() carries the dashed Demo extraction pill.
Extracted values are proposals with a confidence and an obvious way to correct them; nothing is written to the
file until the exchanger confirms; and the confirmation is what the audit trail records. When the Vectr
extraction workflow lands, the pill comes off and the step labels stay. 12 · Motion carries state only. Colour, border and elevation transition at
--duration-fast; the completion meter animates its width at --duration-base; the
extraction reveal rises once at --duration-base. Loading is a skeleton in the shape of the answer,
never a spinner. prefers-reduced-motion removes all of it.
Build contract — compliance facts this design must not soften
Identity is the first gate, and it is the exchanger’s own. The Sale hub is unreachable
until identity clears. No coordinator, officer or admin affordance on either hub can mark identity verified by
proxy, waive a screening result, or self-clear a gate. A signature requires the signer’s own intent. There is no “sign on behalf”
control anywhere on these hubs. When a coordinator is working inside the file, the shipped hook returns
canSign: false with “Your client signs this”; that state is drawn as the lock
strip under the designation notice. Signing records the signer’s name, the moment, and the exact document
rendered to them (eSign Act / UETA). The exchanger is never in a fund-movement path. These hubs show money as a read-only ledger:
a confirmed sale price and a bank-confirmed escrow receipt. No control here initiates, authorises, approves or
acknowledges a release. Release requires two authorised officers, and the approver is never the
proposer — stated on the escrow card so the exchanger understands the protection rather than
discovering it. Putting the exchanger anywhere in that path would be constructive receipt under Treas. Reg.
§1.1031(k)-1(g)(6) and would break the exchange this product exists to protect. A statutory date is never rendered as satisfied, met, or green once it has passed unmet. No
green tick, no success wash, no soothing copy. The eligibility consequence is stated in plain English, once,
without pretending to be tax advice and without pretending the situation is recoverable in software. Deadlines are never quietly moved. Disaster relief exists, but it is recorded by the QI with
its legal basis and an audit entry, and it is described to the exchanger as something their coordinator confirms
— never as a control on this screen. No tax or legal advice. Rule consequences are described mechanically (“if the total goes
over, the identification fails”) and every judgement call is routed to the exchanger’s own advisor.
Build contract — tokens and both themes
1 · No colour literal survives to the implementation. Every colour resolves through
docs/mockups/tokens.css. Hub hue is scoped by one attribute on any container
([data-hub="sale"] / [data-hub="id"] set --hub,
--hub-ink, --hub-wash, --hub-line), so no component reaches for a
specific leg and adding escrow, purchase or disbursement is one attribute. .page carries a
neutral fallback for the same four names: a hub-scoped component rendered outside a hub — in a state
gallery, in a dashboard card — must degrade to the neutral ramp, not resolve to nothing and paint
transparent. 2 · Filled controls take the flipping foreground. The primary action is
hsl(var(--primary)) with hsl(var(--primary-foreground)); the affirmative is
--good-ink with --good-on; the destructive is --bad-ink with
--bad-on; the current step disc is --hub with --hub-on. Every one of
these pairs inverts in dark, because the fill lightens there and a hardcoded white label would fail. 3 · Muted text is --ink-3.--ink-4 appears only as icon
strokes, rules, the dash placeholder and disabled glyphs — never as body copy. This audience is 40–80
and reading under deadline pressure. 4 · Colour carries one meaning each. Hub hues are wayfinding — which leg of the
exchange — and never say whether that leg is healthy. Status stays on good / warn / bad, always with a
label and an icon. Teal is the consumer brand and the QI-custody accent; the Neela mark is its own identity and
is never a status. 5 · Light and dark are both designed. Three resolutions: no attribute follows the OS,
[data-theme="light"] and [data-theme="dark"] force a choice. Every state on this page
was checked in both.
All names, addresses, amounts, parcel numbers and file references are synthetic demo data. Demo date:
Wednesday, August 19, 2026.