Developers
Smart Contracts
What the chain enforces should be readable by whoever is deciding to trust it.
What it changes
- Eligibility enforced on chainThe compliance module refuses a non-compliant transfer regardless of what any interface permits, and reports a reason code rather than reverting anonymously.
- The off-chain mirror is checked against itA test parses the Solidity enum and fails if the platform’s reason ordering drifts — so the interface never explains a refusal with the wrong reason.
- No upgrade mechanismDeliberately. An upgradeable securities token lets the issuer rewrite the rules under holders after they have subscribed. The cost is that a defect cannot be patched in place, and that is the trade we chose.
What it includes
Identity registryWho is verified, in which country, and until when.
Compliance moduleTransfer rules: verification, freezes, lockups, blocked countries, holder caps and concentration.
TokenPermissioned transfers with agent controls for regulated intervention.
FactoryDeploys a fully wired asset in one transaction, and refuses to deploy with the issuer and transfer agent as one key.
Evidence, not assertion
Controls that have been verified running, rather than described.
- 27 Solidity tests executing against a real in-process EVM, not mocked.
- Concentration limits apply to secondary transfers only — a test caught that a cap below 100% is unsatisfiable at primary issuance.
- Burns skip the transfer gate, because refusing redemption over lapsed paperwork would trap a holder in the instrument.
What this deployment does not do
Stated plainly
No external smart-contract audit has been completed, and this deployment cannot broadcast: no RPC endpoint or signer is configured.
See it against something real.
Bring an instrument you are actually considering. Structuring it is the only way to judge whether the model fits.