Technical Documentation

Protocol Documentation

Technical reference for the Ornyx RWA protocol — contracts, architecture, and grant proposal materials.

Architecture Overview

// Ornyx Protocol — Three-contract architecture
OryxCompliance -- KYC & viewing keys
|
OryxAsset -- AIP-20 token (private balances + public supply)
|
OryxRegistry -- Public asset catalog
Public State
+Total token supply
+Asset name, symbol, class
+Issuance events
+IPFS document hash
+Approved issuer list
+Compliance event log
Private State
*Individual balances (UintNote UTXO)
*Transfer amounts & recipients
*KYC-approved investor list
*Identity of all holders
*Transaction history

Smart Contracts

OryxAssetNoir

AIP-20 compatible RWA token with hybrid public/private state

contracts/ornyx_asset/src/main.nr
FunctionVisibilityCaller
mint_private(to, amount)privateissuer
transfer(to, amount, nonce)privateholder
burn(from, amount, nonce)privateissuer
balance_of_private(owner)private viewowner
total_supply()public viewanyone
set_paused(pause)publicissuer
mint_private(to, amount)
privateissuer
transfer(to, amount, nonce)
privateholder
burn(from, amount, nonce)
privateissuer
balance_of_private(owner)
private viewowner
total_supply()
public viewanyone
set_paused(pause)
publicissuer
OryxComplianceNoir

KYC approval, revocation, and selective regulatory disclosure

contracts/ornyx_compliance/src/main.nr
FunctionVisibilityCaller
approve_investor(investor, expires_at)privateofficer
revoke_approval(investor)privateofficer
is_approved(investor, ts)private viewasset contract
grant_regulator_view(reg, asset, key_hash, ts)publicissuer / officer
approve_investor(investor, expires_at)
privateofficer
revoke_approval(investor)
privateofficer
is_approved(investor, ts)
private viewasset contract
grant_regulator_view(reg, asset, key_hash, ts)
publicissuer / officer
OryxRegistryNoir

On-chain catalog of all issued RWA assets

contracts/ornyx_registry/src/main.nr
FunctionVisibilityCaller
register_asset(name, symbol, class, ...)publicapproved issuer
update_doc_hash(id, hash)publicissuer / admin
delist_asset(id)publicissuer / admin
get_asset_count()public viewanyone
register_asset(name, symbol, class, ...)
publicapproved issuer
update_doc_hash(id, hash)
publicissuer / admin
delist_asset(id)
publicissuer / admin
get_asset_count()
public viewanyone

Grant Proposal

Aztec Foundation Grant Application

Ornyx: Privacy-First RWA Infrastructure for Aztec

We are requesting a grant to build and deploy the Ornyx protocol — the first modular RWA issuance and transfer infrastructure on Aztec Network.

Phase 1 (Weeks 1–4)
Core Protocol

Three Noir contracts: OryxAsset, OryxCompliance, OryxRegistry. Audit-ready with integration tests.

Phase 2 (Weeks 5–6)
Demo Application

Next.js dApp with issuer, investor, and compliance interfaces. Deployed on Aztec testnet.

Phase 3 (Week 7)
Documentation

Developer docs, Aztec Forum post, GitHub repository, and recorded demo video.

Full Grant ProposalForum Post Draft

Frequently Asked Questions

Why build RWAs on Aztec instead of Ethereum?+

Ethereum is fully transparent — every transfer, balance, and counter-party is visible to anyone on-chain. For institutional RWA holders, this exposes competitive and financial information. Aztec is the only production-grade zkRollup with native private state, making it the only chain where you can have truly private holdings while still meeting regulatory requirements.

How does compliance work without revealing everything?+

KYC approvals are stored as private notes encrypted with the compliance officer's key. When a transfer happens, the smart contract verifies (via ZK proof) that both parties have valid approvals — without revealing who they are to the public. The proof system guarantees the check happened correctly; the public sees only a proof hash, not the identities.

What is a viewing key and why does it matter for regulators?+

A viewing key is a cryptographic secret derived from the asset's private state. When the issuer grants it to a regulator (e.g., the FCA), the regulator can decrypt and read all notes in the private state tree for that asset. This lets them audit holdings without breaking the privacy of other investors. The grant itself is logged on-chain as an immutable audit record.

Is this legal? Does privacy enable money laundering?+

Ornyx's compliance by design model is specifically architected to prevent this. KYC is enforced at the protocol level — no unapproved address can ever hold or transfer Ornyx assets. This is stricter than many traditional financial systems. Regulators get more visibility through cryptographic, auditable access — not less.

What is the Noir programming language?+

Noir is a domain-specific language (DSL) developed by Aztec Protocol for writing zero-knowledge circuits. It compiles to ZK proof circuits that run on Aztec's private execution environment. All three Ornyx contracts are written in Noir.