• [ ]
  • [ ]
  • [ ]

privateyouryieldthatstays

scroll
public ledgershielded layer

public chains remember everything. the shielded layer forgets.

01 · public ledger[ every block · forever ]

public chains remember everything.

every block on an open chain is permanent, public and linkable. amounts, balances, counterparties: readable by anyone with the address, forever. the ledger never forgets.

02 · vault aggregator[ confidential yield · smart routing ]

automatic yield & private routing.

deposits are sent to optimal yield routes across Arbitrum while shielding details. Nox gateways matched with TEE secure enclaves process the funds off-chain and compound yield without exposing user identities or allocations.

03 · shielded pool[ Poseidon2 · Merkle ]

the shielded layer forgets.

wrap your public USDC, RLC, or WETH into cUSDC, cRLC, or cWETH, committing your assets into a secure Merkle tree. amount and owner stay inside the hash; only the root is ever public, and old notes never link to new.

04 · proven math[ UltraHonk · BN254 ]

the math is the lock.

every move out is a zero-knowledge proof, checked on-chain inside an Arbitrum smart contract. a spend reveals only a nullifier, so the old note and the new never link. no valid proof, no funds move.

the platform[ one shielded layer · two vaults ]

privacy, proven, not promised.

01 · Nox Handle Client

your amount is a handle, not plaintext.

every deposit wraps your underlying assets to confidential tokens. amounts are encrypted client-side using the Nox Handle SDK, mapping plaintext values to cryptographically secure handles.

handle = encryptInput(amount, type, contract)
02 · TEE Enclave

off-chain secure compute.

confidential smart contracts read handles and process yields securely inside Intel SGX/TDX Trusted Execution Environments. decrypted data never touches the public chain.

Nox Compute PrecompileIntel SGX/TDXEIP-712 auth
14
on-chain TEE precompile events per wrap
3
confidential cTokens · cUSDC, cRLC & cWETH
03 · confidential yield

shielded strategies.

yield vault strategies compound assets on Arbitrum Sepolia. live aggregate TVL is visible using public decryption allowances, but individual allocation mappings remain strictly private.

04 · instant faucet

one-click testnet assets.

get pre-funded with Arbitrum Sepolia ETH, public USDC, and RLC instantly. Built specifically for hackathon judges to verify the end-to-end confidential deposit flow in seconds.

system architecture[ wrap assets → deposit operator → TEE secure yield ]

every yield route crosses one boundary, checked on-chain inside TEE enclaves.

Arbitrum Sepolia · L2 Public TokenERC-20 Contracts (USDC / RLC)
USDC: 0x75faf...4AA4dRLC: 0x9923e...8C963
wrap underlying assets to confidential tokens client-side
Arbitrum Sepolia · ERC-7984Confidential Wrapper (cUSDC / cRLC / cWETH)
cUSDC: 0x1ccec...b808ecRLC: 0x92b23...9af4Nox TEE precompile authorization check
deposit cToken into confidential yield vaults
Arbitrum Sepolia · shielded yield stateNoxYieldVault (cUSDC / cRLC / cWETH)
cUSDC Vault: 0x75ef7...1351FcRLC Vault: 0x1955e...2AdfPoseidon2 Merkle tree state mapping
TEE Compute Enclave for private balance decryption
Arbitrum Sepolia · TEE precompile integrationNoxCompute Precompile (iExec)
0xd464B...1c229decrypt balance with EIP-712 signature verification
confidential swap mechanism[ encrypt input → execute swap → wrap output ]

how dark swaps work: from client-side handle to curve/uniswap router.

Phase 1 · Client EncryptionNox Handle SDK
shielded input handles generatedRSA encryption key signatures exchangedoperator allowance granted
encrypted handles sent to router contract — sizes hidden
Phase 2 · Enclave ExecutionNoxCompute TEE Swap Router
decrypt input amount securely inside enclaveunwrap cToken to public tokenexecute standard swap on Curve / Uniswap
re-wrap public output to confidential wrapper
Phase 3 · Confidential OutputERC-7984 Token Wrapper
transfer wrapped cToken back to userencrypt yield output handlesissue execution receipt receipt