Deployed Addresses
This page is the address ledger for Vessel. Every row states whether the address has been independently verified. Rows without an address are not deployed, not published, or not yet verified. There is no third state.
Monad testnet was reset from genesis on 2025-12-16. Every testnet address published before that date is invalid, including any that appeared in earlier Vessel material. Never copy an address from a stale source. Each entry below records the date it was retrieved, and the page's verified_at is the date the whole ledger was last re-checked.
Vessel contracts
Chain IDs: mainnet 143, testnet 10143.
Testnet
The public Vessel repository contains a README and a license and nothing else as of 2026-08-29. No contract source, ABI, or deployed address has been published. The testnet app on vessel.wtf is live against contracts the protocol team describes as hedging a simulated venue, SimVenue SIMVENUE — SIMULATED, behind the IVenue interface. Until the source and addresses are published and can be matched to on-chain bytecode, every row is pending.
| Contract (testnet) | Address | Actions |
|---|---|---|
| Engine | UNVERIFIED — PENDING GATE-0 | |
| Hull series | UNVERIFIED — PENDING GATE-0 | |
| Ballast | UNVERIFIED — PENDING GATE-0 | |
| Reserve | UNVERIFIED — PENDING GATE-0 | |
| SimVenue | UNVERIFIED — PENDING GATE-0 |
The contract names above are the names used in the litepaper and the team brief. They are design-stage labels, not verified contract identifiers. Contract names, constructor parameters, and the number of contracts in the deployment UNVERIFIED — PENDING GATE-0 may differ from this list when the source is published.
Mainnet
Nothing is deployed to Monad mainnet. Nothing will be deployed to mainnet before external review. The table exists so the absence is recorded rather than implied.
| Contract (mainnet) | Address | Actions |
|---|---|---|
| Vessel (all contracts) | UNVERIFIED — PENDING GATE-0 |
Verified third-party addresses
These are the addresses of the external contracts Vessel depends on or plans to depend on. Each was read from the named primary source on 2026-08-29. "Verified" here means the address was read from an official source and, where noted, cross-checked against a second one. It does not mean Vessel has audited the contract.
Which of these Vessel actually calls today is a separate question. The deployed testnet contracts hedge against SimVenue SIMVENUE — SIMULATED, not Perpl; the Kuru spot leg is in development; the PuddleSwap router is reached through the IUniswapV2Router02 interface. The integration pages state what is wired.
Perpl Exchange
Source: docs.perpl.xyz and github.com/PerplFoundation. The mainnet Exchange address is also the sole entry in the mainnet perpl.jsonc file of github.com/monad-crypto/protocols.
| Contract (mainnet) | Address | Actions |
|---|---|---|
| Perpl Exchange | 0x34B6552d57a35a1D042CcAe1951BD1C370112a6F | Explorer ↗ |
| Perpl collateral (AUSD) | 0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a | Explorer ↗ |
| Perpl DelegatedAccount Factory | 0xc535276e3e446e4f28d95ed27ccd5c32e4c8907a | Explorer ↗ |
| Contract (testnet) | Address | Actions |
|---|---|---|
| Perpl Exchange | 0x1964C32f0bE608E7D29302AFF5E61268E72080cc | Explorer ↗ |
The Perpl testnet collateral token is not listed. Two official Perpl sources disagree on its address, so neither is published here.
Kuru
Source: docs.kuru.io contract-addresses page; the registry file kuru.jsonc in github.com/monad-crypto/protocols marks Kuru live on both networks.
| Contract (mainnet) | Address | Actions |
|---|---|---|
| Kuru Router (market factory) | 0xd651346d7c789536ebf06dc72aE3C8502cd695CC | Explorer ↗ |
| Kuru MarginAccount | 0x2A68ba1833cDf93fa9Da1EEbd7F46242aD8E90c5 | Explorer ↗ |
| Contract (testnet) | Address | Actions |
|---|---|---|
| Kuru Router | 0x7EFbE105Ca7415dE98F96622173458ac1c054630 | Explorer ↗ |
The Kuru Flow aggregator router is deliberately omitted. The Kuru docs and the monad-crypto registry attach different labels to the same address, and this page does not print an address whose name is in dispute.
PuddleSwap (testnet only)
Source: the PuddleSwap README, llms.txt, and config/addresses/10143.json, which agree with each other. These are single-party sources. PuddleSwap is not present in github.com/monad-crypto/protocols, no third-party registry vouches for the addresses, and the bytecode has not been independently compared against stock Uniswap V2. PuddleSwap describes itself as unaudited, testnet-only software. No mainnet deployment exists; no mainnet address is published.
| Contract (testnet) | Address | Actions |
|---|---|---|
| PuddleSwap UniswapV2Router02 | 0x430c23895c8D44883526e3E0B09327dAD8766660 | Explorer ↗ |
| PuddleSwap UniswapV2Factory | 0xd498f5beBD0C9f1FE0135a0Cf942dA67Ee6e8A9B | Explorer ↗ |
Vessel implements the IUniswapV2Router02 interface. It has no relationship with Uniswap Labs.
Canonical Monad mainnet contracts
Source: MONSKILLS addresses skill, cross-checked with docs.monad.xyz.
| Contract (mainnet) | Address | Actions |
|---|---|---|
| WMON | 0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A | Explorer ↗ |
| USDC | 0x754704Bc059F8C67012fEd69BC8A327a5aafb603 | Explorer ↗ |
| Multicall3 | 0xcA11bde05977b3631167028862bE2a173976CA11 | Explorer ↗ |
Canonical testnet WMON and USDC addresses are not listed. The only testnet WMON and USDC addresses in the ledger are the ones PuddleSwap publishes for its own deployment, and a single-party source is not sufficient to label a token canonical.
Pendle
Source: docs.pendle.finance Deployments page and 143-core.json in the public Pendle core repository. Router bytecode was confirmed present via the mainnet RPC on 2026-08-29.
| Contract (mainnet) | Address | Actions |
|---|---|---|
| Pendle Router | 0x888888888889758F76e7103c6CbF23ABbF58F946 | Explorer ↗ |
| Pendle SY Factory | 0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8 | Explorer ↗ |
Pendle core contracts are on Monad mainnet. A Hull market on Pendle is not. Pendle is a design target for the Hull series shape, not a listing.
Verify an address yourself
Check that code exists at an address before trusting it. An address with no bytecode is either wrong, stale, or on the other network.
# mainnet
cast code 0x34B6552d57a35a1D042CcAe1951BD1C370112a6F --rpc-url https://rpc.monad.xyz
# testnet
cast code 0x1964C32f0bE608E7D29302AFF5E61268E72080cc --rpc-url https://testnet-rpc.monad.xyz
A response of 0x means no contract is deployed there. The explorers are monadscan.com for mainnet and testnet.monadscan.com for testnet; the ecosystem address registry is github.com/monad-crypto/protocols.
When Vessel addresses are published
When the Vessel contracts are published, the testnet table above will be filled in the same commit that publishes the source, with each row linked to explorer-verified source. Until an address appears in this table with the verified state, treat any address presented as a Vessel contract as unverified, whatever its origin.