This is the v2 codebase. On 2026-07-23 the protocol migrated to Wise Telecom Nodes (v3): one diamond contract per product at the same address on every chain, with every holder balance, pending interest claim and open queue order reproduced at its exact v2 position. The v2 vaults below are paused and hold no user funds. This repository stays up as the reference for the verified v2 on-chain source.
Fixed-APY RWA yield vaults + withdrawal queue system — the on-chain infrastructure behind World Mobile's AirNode vaults, live on Ethereum mainnet and Arbitrum with ~$2M TVL.
Users deposit USDC / USDT, receive transferable ERC-20 receipt tokens, and accrue a fixed APY.
Deposits fund real-world AirNode infrastructure; yield is claimable while positions remain
tradeable on secondary markets. Exits are handled through an on-chain FIFO queue
(QueContract) with solver incentives.
Built by René Hochmuth (
@authorin the on-chain verified source) for WiseSoft / Wise Foundation.
All contracts verified — compare this repository against the on-chain source directly.
| Contract | Chain | Asset | Address |
|---|---|---|---|
| ForwardVaultERC20 | Ethereum | USDT | 0x3Ed1f16BbE0eE2C58119c13517a88fe9ccedfd45 |
| ForwardVaultERC20 | Ethereum | USDC | 0x11cEeE394842d9492f2C97050f66dE0e3f89D3A6 |
| QueContract | Ethereum | USDT | 0x0f63bDcE0f4f3531117E2ed2FE1484c5E40a75b5 |
| QueContract | Ethereum | USDC | 0x4e601103590b8971c208bF06B64ba1ef1c85B7e6 |
| ForwardVaultERC20 | Arbitrum | USDC | 0x025421D3e98D3bB7A33d6814Dd576eD8B9090077 |
| ForwardVaultERC20 | Arbitrum | USDT | 0xD69670d0eCaf032Ea8b1A6925E59dBacAA20f43A |
| QueContract | Arbitrum | USDC | 0xCfF3EdA95c3866bE10c8D3A29EDA665fc82EF72a |
| QueContract | Arbitrum | USDT | 0xc7960021229aDbacddfb57990815ab599A275533 |
v2 was migrated live from v1 with all user balances preserved (initial positions seeded at deployment from the v1 snapshot).
contracts/
├── OwnableMaster.sol two-step ownership (master / proposed master)
└── ForwardVaultERC20/
├── ForwardVaultERC20.sol vault core — deposits, fixed-APY accrual, receipt token
├── ForwardVaultERC20Declarations.sol storage, events, errors
├── ForwardVaultERC20Helper.sol internal math / share conversion
├── IForwardVaultERC20.sol external interface
├── Mocks/ test mocks
├── ERC20Tests/ vault unit + invariant tests
└── QueContract/
├── QueContract.sol FIFO withdrawal queue with solver incentives
├── QueContractDeclarations.sol storage, events, errors
├── QueContractHelper.sol queue math
├── QueContractLowLevelHelper.sol pointer / storage primitives
├── QueContractUIHelper.sol read-only aggregation for frontends
├── QueContractDeployScript.s.sol Foundry deploy script
└── QueContractTests/ queue unit + invariant + security tests
ForwardVaultERC20 — ERC-20 receipt-token vault with fixed-rate interest accrual, deposit caps, pausable admin actions, and third-party forwarding of principal to the RWA operator.
QueContract — on-chain FIFO exit queue: users join with receipt tokens, solvers fulfill
orders (fully or partially) for an incentive, with strict pointer-integrity and
negative-incentive handling. Extensive invariant suite (fail_on_revert = true).
npm install # OpenZeppelin 4.9.3 (pinned to match deployed bytecode)
forge install # forge-std
cp .env.example .env # fork tests read ETH_RPC_URL via [rpc_endpoints]
forge build # solc 0.8.29, optimizer 600k runs, cancun — identical to on-chain settings
forge testCopyright © WiseSoft / Wise Foundation. License to be determined by Wise Foundation.