Paying out rental income
Rent collected, costs deducted, net income apportioned by token balance
Gross rent is not what an investor receives. Service charges, management fee, platform fee and insurance are settled by the SPV first, and only net income is distributed.
Real elapsed time: monthly cycle · 2 external system call(s) · simulated round trip 2,330 msRent received into the SPV account
The property manager collects rent from the tenant and remits it to the vehicle that holds the property.
{
"event" : "credit.received",
"account" : "Royex SPV 1001 FZCO — rental account",
"amount" : 14000.00,
"currency" : "AED",
"remitter" : "property manager",
"period" : "August 2026"
}
{
"recognised" : true,
"grossRent" : 14000.00,
"assetRef" : "PRP-1001",
"status" : "awaiting cost settlement"
}
What changed
- Gross rent AED 14,000.00 recognised
Operating costs settled
The vehicle pays service charges, the property manager, insurance and the platform fee before anything is distributed. This is why net yield is below gross.
{
"period" : "August 2026",
"payments" : [
{ "payee" : "owners association — service charges", "amount" : 1756.67 },
{ "payee" : "property manager (8%)", "amount" : 1064.00 },
{ "payee" : "insurer", "amount" : 283.33 },
{ "payee" : "Royex Tokenization (1.5%)", "amount" : 199.50 }
]
}
{
"allSettled" : true,
"totalCosts" : 3303.50,
"vacancyAllowance" : 700.00,
"netOperatingIncome" : 9996.50,
"distributable" : 9996.50
}
What changed
- Costs of AED 3,303.50 settled
- Distributable pool AED 9,996.50
Gross yield on this asset is 7.00%. Net is 5.00%. Showing that gap honestly is what separates a real estate platform from a crypto pitch.
Holder register read from the contract
Balances are read from the chain at the record date, not from an internal spreadsheet. Anyone who bought on the secondary market yesterday is included automatically.
{
"method" : "holdersAt",
"params" : { "contract" : "0x41945f556471d0ff07411f2c39587b68a42a6c83", "block" : 21875410 }
}
{
"recordBlock" : 21875410,
"holderCount" : 3,
"tokensHeld" : 1,680,
"holders" : [
{ "accountRef" : "INV-101", "tokens" : 260 },
{ "accountRef" : "INV-104", "tokens" : 240 },
{ "accountRef" : "INV-102", "tokens" : 140 }
]
}
What changed
- Holder register fixed at the record block
Distribution apportioned and paid
Net income is divided by token balance and credited to each holder in dirhams. Every line appears on the investor's statement and in the distribution history export.
{
"assetRef" : "PRP-1001",
"period" : "August 2026",
"pool" : 9996.50,
"perToken" : 4.1652,
"basis" : "token balance at record block"
}
{
"reference" : "DIST-64118",
"paid" : [
{ "accountRef" : "INV-101", "tokens" : 260, "amount" : 1082.95 },
{ "accountRef" : "INV-104", "tokens" : 240, "amount" : 999.65 },
{ "accountRef" : "INV-102", "tokens" : 140, "amount" : 583.13 }
],
"totalPaid" : 9996.50,
"currency" : "AED",
"appearsIn" : ["wallet", "statement", "distribution history export"]
}
What changed
- Three holders credited
- Distribution DIST-64118 on the audit trail
- Investor statements updated