Contracts
On-chain contract addresses and key read/write functions for direct integration.
Deployed Addresses
Core contracts (Oracle, TravelRule, Timelock) are deployed at identical addresses on Sepolia, Arbitrum Sepolia, and Base Sepolia via CREATE2. DeFi compliance hooks and routers are deployed on Sepolia for 8 protocols, with 4 more (Euler, Pendle, Aerodrome, MakerDAO/Sky) pending testnet availability.
| Contract | Address |
|---|---|
| ComplianceOracle | 0x3A3dA5Ef5612C63b01AF5CDe21e7390F41B69aF9 |
| TravelRuleRegistry | 0x6c57B34cb4A959622880C2B874f0bA0F845D599F |
| Timelock (48h) | 0x6dD8CAB23e58B938FED74c395699d7B6Aa7F88db |
| Uniswap v4 Hook | 0xB2d09B1Dfc3931e484319F2187D3aC00694D4880 (Sepolia) |
| Balancer v3 Hook | 0x57901e006CB87B9410ff74604111bEb44704Af34 (Sepolia) |
| Morpho Router | 0x3Abb99dbAa9ad6fa22e28b7F9D398cdCdcb3Ec15 (Sepolia) |
| Compound v3 Router | 0xf2200563882f7150eAC92B10DA6b2E0c3062ac5D (Sepolia) |
| Aave v3 Router | 0x14A3825777519bB61Bf81775DfEfB5185c731dA7 (Sepolia) |
| Lido Router | 0x2619528488a3FbC6ab9feBeC0F6365e0267C15FC (Sepolia) |
| EigenLayer Router | 0xBc0089950D5E60196E094984Ec3b0D9232739590 (Sepolia) |
| Curve Router | 0x54960bB983CD4c08b0af5d6B64569C12B1767964 (Sepolia) |
ComplianceOracle
The on-chain compliance oracle stores KYC/KYB/UBO/AML/sanctions flags and expiry timestamps for every verified address. Token contracts, DeFi protocols, and other on-chain applications call the oracle to verify compliance status before executing transfers.
| Function | Description |
|---|---|
| canTransfer(from, to, amount) | Returns (bool allowed, uint8 reasonCode). Check before submitting a transfer to avoid reverts. |
| isCompliantHolder(account) | Returns true if the account passes KYC/KYB + Sanctions checks (flags active and not expired) |
| complianceCache(address) | Returns full compliance struct: flags, kybExpiry, uboExpiry, amlExpiry, sanctionsExpiry, entityIdHash |
# Check if a transfer would succeedcast call 0x3A3dA5Ef5612C63b01AF5CDe21e7390F41B69aF9 \"canTransfer(address,address,uint256)(bool,uint8)" \0xSENDER 0xRECIPIENT 1000000 \--rpc-url https://rpc.sepolia.org
DeFi Compliance Hooks & Routers
Compliance enforcement across 12 DeFi protocols. Native hooks for Uniswap v4, Balancer v3, and Euler v2 enforce at the protocol level. Compliance routers for Aave, Compound, Morpho Blue, Lido, EigenLayer, Curve, Pendle, Aerodrome, and MakerDAO/Sky gate entry while never trapping funds on exit. All call the same ComplianceOracle.
TravelRuleRegistry
On-chain registry for Travel Rule compliance. Stores originator and beneficiary information for transfers exceeding the travel rule threshold, enabling compliant cross-institution transfers.
Reason Codes
When canTransfer returns false, the reason code tells you why:
| Code | Meaning |
|---|---|
| 1 | Sender not compliant |
| 2 | Recipient not compliant |
| 3 | Sender KYB expired |
| 4 | Recipient KYB expired |
| 5 | Sender sanctions expired |
| 6 | Recipient sanctions expired |
| 10 | Sender frozen |
| 11 | Operator (msg.sender) not compliant for transferFrom |