Adding a property
Draft record through to a published, tradable listing
Six hops across three authorities. The asset stays invisible to investors until every one of them has replied, and the platform refuses any step taken out of order.
Real elapsed time: four to eight weeks · 3 external system call(s) · simulated round trip 7,547 msOperator creates the asset record
The operator enters the property, its valuation and how many fractions it divides into. The fraction count becomes the token supply cap and cannot be changed after deployment.
{
"name" : "Business Bay Office 2210",
"location" : "Business Bay",
"assetType" : "Commercial office floor",
"valuation" : 3600000,
"fractions" : 3600,
"monthlyRent" : 22000,
"sizeSqFt" : 1200
}
{
"assetRef" : "PRP-1008",
"spv" : "Royex SPV 1008 FZCO",
"unitPrice" : 1000.00,
"stage" : "Draft",
"visibleToInvestors" : false
}
What changed
- Asset PRP-1008 created at stage Draft
- Not queryable by any investor-facing page
Nothing has touched a register or a chain yet. This is an internal record only.
Title transferred to the SPV and registered
The property is transferred into a ring-fenced special purpose vehicle and recorded in the onshore land register. This is the property-law layer and has nothing to do with tokens.
{
"transferee" : "Royex SPV 1008 FZCO",
"property" : "Business Bay Office 2210, Business Bay",
"consideration": 3600000,
"documents" : ["sale agreement", "NOC", "valuation report"]
}
{
"titleDeedNo" : "TD-2026/418306",
"registeredOwner": "Royex SPV 1008 FZCO",
"recordedOn" : "2026-08-12",
"registerOfRecord": true
}
What changed
- Title deed TD-2026/418306 on file
- Stage advanced to Title registered
The land register stays authoritative. Everything on-chain from here is a mirror of this record.
Token submitted to the regulator for approval
The company licence does not cover the token. Each individual asset needs its own approval, supported by a whitepaper, risk disclosures and the registered title.
{
"issuer" : "Royex Tokenization",
"assetRef" : "PRP-1008",
"titleDeedNo" : "TD-2026/418306",
"fractions" : 3600,
"pricePerToken" : 1000.00,
"backing" : "direct fractional interest via SPV",
"attachments" : ["whitepaper", "key risk document", "SPV structure"]
}
{
"reference" : "ARVA-26-4471",
"status" : "Under review",
"note" : "Asset may not be offered or marketed while review is open"
}
What changed
- Reference ARVA-26-4471 recorded
- Stage advanced to Approval pending
- Still invisible to investors
This is where a real timeline sits for weeks. The platform's job is to hold the asset in a state where it cannot be listed.
Deployment attempted before approval — refused
An operator tries to deploy the token contract while the submission is still open. The platform refuses and writes the refusal to the audit trail with the rule that produced it.
{
"assetRef" : "PRP-1008",
"step" : "deploy"
}
{
"allowed" : false,
"message" : "Deployment refused for Business Bay Office 2210 — the token approval is still under review.",
"rule" : "No token may be deployed against an open submission",
"auditEntry" : "written",
"chainCallsMade" : 0
}
What changed
- Nothing deployed
- Refusal recorded in the audit trail
Pause here. An inspection wants evidence the gate fired — not just that nothing bad happened. This refusal is a record, not an error page.
Regulator grants the token approval
Approval arrives with a condition attached: the offering is restricted to investors on the compliance registry. That condition is written into the contract, not just the paperwork.
{
"reference" : "ARVA-26-4471",
"decision" : "Approved",
"conditions": ["offering restricted to whitelisted investors"],
"scope" : "Business Bay Office 2210 — 3600 fractions"
}
{
"assetRef" : "PRP-1008",
"stage" : "Approved",
"deploymentUnlocked" : true
}
What changed
- Stage advanced to Approved
- Deployment gate released
Factory deploys the token contract
No new code is written for this property. The factory deploys the same audited template, sets the supply cap to the fraction count, and points it at the registry every other asset shares.
{
"method" : "TokenFactory.deploy",
"params" : {
"assetRef" : "PRP-1008",
"name" : "Business Bay Office 2210 Fraction",
"supplyCap" : 3600,
"approvalRef" : "ARVA-26-4471",
"titleDeedNo" : "TD-2026/418306",
"registry" : "0x72570b72a4dc3b5de89155470ee0072df40c2d29",
"template" : "ERC-3643 permissioned (audited v1.4)"
},
"signedBy" : "custody HSM, 2-of-3 quorum"
}
{
"contractAddress" : "0x7d41a9c6f0b83e2145dc9017ba6e5f38c204d9b1",
"txHash" : "0x9f2c...a417",
"blockNumber" : 21874493,
"supplyCap" : 3600,
"registry" : "0x72570b72a4dc3b5de89155470ee0072df40c2d29",
"transferHook" : "enabled"
}
What changed
- Contract 0x7d41a9c6f0b8… live
- Stage advanced to Contract deployed
The commercial point: one audited template plus one shared registry means a new property is a configuration change, not a new product. One security audit covers all future listings instead of one audit per listing.
Listing published to the market
Only now does the asset become reachable by an investor. Every prior stage had it hidden, including from a direct URL.
{
"assetRef" : "PRP-1008",
"step" : "publish"
}
{
"stage" : "Live",
"visibleToInvestors" : true,
"publicUrl" : "/Market/Details/PRP-1008",
"pricePerToken" : 1000.00,
"tokensAvailable" : 3600
}
What changed
- Stage advanced to Live
- Asset now returned by investor-facing queries
- Offer documents published