Untron V3 is a two-lane protocol that converts provable Tron activity—primarily TRC-20 USDT transfers into deterministic receiver addresses, and subsequent controller pull/rebalance operations—into settleable payouts on an EVM chain via an on-chain claims system.
What this reference covers
This reference is contract-mechanics-first:
- Collection lane (Tron): deterministic receivers, permissionless sweeping by a controller, and a controller-maintained SHA-256 event hash-chain.
- Settlement lane (EVM): time-indexed routing authority (leases), deposit recognition (fast path proofs + slow path controller hash-chain relay), claim creation, and permissionless claim settlement (“fill”), optionally swapping and/or bridging.
Core objects
- Receiver salt (
bytes32): Names a receiver. A Tron receiver address is derived from(controller, salt)and can be deployed “late”. - Lease: Time-indexed routing rights + fee parameters for a receiver salt (who can route payouts, where, and how fees apply).
- Claim: An obligation recorded on the EVM hub, always denominated in hub USDT (
amountUsdt), settled later to the lease’s configured route.
Main flows
Deposit → fast recognition → claim → settlement
- A receiver address is allocated off-chain (by salt) and shared with a depositor.
- Depositor transfers Tron USDT to the receiver address.
- Anyone proves the Tron transfer on the EVM hub via
preEntitle(...), which recognizes volume and enqueues a claim. - Anyone settles claims via
fill(...)(swap once per batch if needed; bridge if needed; pay beneficiaries).
See: Fast-path entitlement and Settlement.
Sweep/rebalance → slow reconciliation → claim → settlement
- Anyone triggers a Tron controller sweep (
pullFromReceivers) and/or rebalance (rebalanceUsdt). - The Tron controller appends those events into its on-chain SHA-256 event chain.
- Anyone proves a Tron tx that asserts a specific event chain tip, and relays matching events to the hub (
relayControllerEventChain). - Anyone processes relayed events (
processControllerEvents) to reconcile backing, update protocol PnL, and enqueue any resulting claims. - Anyone fills claims via
fill(...).
See: Slow-path controller relay.
Start here
Implementation pointers
The sketch this reference is based on describes the implementation as:
- Tron lane:
packages/contracts/src/tron/* - EVM hub lane:
packages/contracts/src/evm/hub/* - Proof reader:
packages/contracts/src/evm/StatefulTronTxReader.sol