Skip to main content
You do not need to trust this site or the Monadeum app. Everything on Monad testnet deployments can be re-read from the public RPC. The commands below use the addresses and hashes from contracts/deployments/monad-testnet.json.

Set up

Chain id

Expected: 10143.

Deployment receipts

Expected: status 1, block numbers 70167444, 70167453, and 70167461, and from equal to 0x617940428CABaDF4528EFEDa9C27E1577ba0c1e3.

Code at each address

The deployment record gives 6716, 9276, and 6566 bytes. A different size would mean different code at that address.

Constructor-set values

Expected on 2026-10-11: the three settlement assets equal $USDC, operator() and admin() equal $SAFE, pendingAdmin() is the zero address, minEvaluationInterval() is 36000, capitalFloor() is 60000, and currentEvaluation() is 0. The last value changes if an operator ever advances an evaluation, which is itself an on-chain event.

The Safe

Expected: 2, the three owners listed on the deployment page, and 1.4.1+L2.

With viem

Compare the bytecode with the source

From contracts/, after forge build with forge 1.8.5:
The script sends only eth_getCode requests and masks constructor-set immutables. On 2026-10-12 all three matched a build of commit 513e943.

What this proves, and what it does not

Matching receipts, code, and constructor values show that these addresses run contracts deployed from the deployer account and configured as recorded. The bytecode comparison above shows the deployment equals the source at the commit you build. It does not show the source is correct, because no audit exists. Whether the contracts are verified on a block explorer is not recorded in the deployment file.
Last modified on October 13, 2026