Transaction Payload Verification
Inspect transaction details before signing with MAVAN's transaction analysis
Verify transaction payloads via Command Center and API
What is transaction payload verification?
Transaction payload verification lets you simulate and inspect a transaction before broadcasting it and committing your funds. The API includes Tenderly simulations so you can verify where your funds will go on chain.
How MAVAN uses it
MAVAN runs all crafted transactions through Tenderly and performs static analysis using information about your MAVAN account. API responses include these observations and public links to simulation results in the Tenderly UI for independent verification.
MAVAN's static analysis checks include:
- Comparing transaction targets with known destinations: the batch deposit contract, EIP 7251 consolidations contract, and EIP 7002 withdrawal contract.
- Checking that validators receiving top-ups are known to belong to your MAVAN account.
- Checking that consolidation target validators are known to belong to your account.
How to verify your transaction payloads
Command Center and the API provide the same transaction simulation and analysis. In Command Center, staking operations include a simulation link you can inspect before confirming in your wallet.
The stake creation and transaction crafting endpoints include a prepared transaction payload with simulation and analysis. This backwards-compatible change reduces integration steps and lets you inspect the payload and check its safety before signing.
The stake creation endpoint returns a response like this:
{
"data": {
"stake": {
"stakeId": 10000028,
"customerId": 52,
...
},
"message": "requested 10 validators successfully",
"transaction": {
"to": "0x4c9506eE2fCd962f03022D9d8ebf6f7828abEfaf",
"data": "0xe2ee27bf0...a3211999de068801c16ce",
"value": "1000000000000000000000",
"gas": "581498",
"nonce": 147,
"chainId": 560048,
"maxFeePerGas": "1194611555",
"maxPriorityFeePerGas": "60913223",
"serialized": "0x02f911fb83088...988007ba3211999de068801c16cec0",
"analysis": {
"observations": [
{
"source": "simulation",
"message": "Balance changes detected in simulation",
"severity": "info"
},
{
"source": "simulation",
"message": "Asset changes detected in simulation: 11 changes",
"severity": "info"
},
{
"source": "mavan",
"message": "Validator 0x8dd2c9fd... will reach the 2048 ETH cap in over 102 years based on 3% APY",
"severity": "info"
},
...
],
"simulations": {
"tenderly": {
"shareUrl": "https://www.tdly.co/shared/simulation/01170f69-d93a-4140-9e3e-261565a8be14",
"simulationId": "01170f69-d93a-4140-9e3e-261565a8be14",
"success": true,
"executionCost": 479608,
"costPerUnit": "1194611555",
"totalCost": "572945258670440",
"logs": [
{
"name": "",
"address": "0x00000000219ab540356cbb839cbe05303d7705fa",
"data": "0x000000000000000000000...0000000000000000000000000000000000000000000000",
"topics": [
"0x649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c5"
]
},
{
"name": "",
"address": "0x4c9506ee2fcd962f03022d9d8ebf6f7828abefaf",
"data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000",
"topics": [
"0x07468d6bd11350def18feb2ba4201196d670bdf016f5e33b4cbf4c202b41fbbd",
"0xa07e447140b7e6f4872dfa8b26508f1e80388f080fe96faeb74315f70d7e9fe9",
"0x7b5f0c0e5d98da4494d7df821773de092e981a9440b5c1475e64828a211949a5"
]
},
...
],
"stateDiff": [
{
"address": "0x00000000219ab540356cbb839cbe05303d7705fa",
"soltype": null,
"original": null,
"dirty": null,
"raw": [
{
"address": "0x00000000219ab540356cbb839cbe05303d7705fa",
"key": "0x0000000000000000000000000000000000000000000000000000000000000000",
"original": "0x18e5b201d962ad2bb0e029e7ddcdf4329dd8f09dfb14b35543a91f6c22537122",
"dirty": "0xc529a0e2eff40592c475d7cd7c61216506565febfb1502c04231fff775b8f7a0"
}
]
},
{
"address": "0x00000000219ab540356cbb839cbe05303d7705fa",
"soltype": null,
"original": null,
"dirty": null,
"raw": [
{
"address": "0x00000000219ab540356cbb839cbe05303d7705fa",
"key": "0x0000000000000000000000000000000000000000000000000000000000000001",
"original": "0x9c02acd520e570b1fa960560b0db1b2737e047c2ea5f6addf0e9d7eecad15672",
"dirty": "0xc73f118a007139dbf02375daadeaab6da93813f1c1fca977ceaa1e4798625818"
}
]
},
...
],
"balanceDiff": [
{
"address": "0x00000000219ab540356cBB839Cbe05303d7705Fa",
"original": "9927884064266928000000000",
"dirty": "9928884064266928000000000",
"is_miner": false
},
{
"address": "0x767f7576944D321374921DF138589a30e3C5030d",
"original": "945142433358512830290448",
"dirty": "945142433931458088481280",
"is_miner": true
},
{
"address": "0xC8CD785C6Ba55d71a6530c08d1DF7eCbf090299c",
"original": "5044584205531764276095",
"dirty": "4044583632586505605655",
"is_miner": false
}
],
...
}
}
}
}
}
}
Updated 3 days ago
