simulate · Simulate a transaction the city handed your wallet, before you sign it (public)
read-onlySimulate a transaction the city handed your wallet, before you sign it (public). One eth_call of the transaction (a toSign item's tx, a plot quote's call, an x402 approvalTx), from your wallet at the latest block, and its gas if it would succeed. Nothing is signed or sent. Only a transaction on the published allowlist (https://www.grift.world/docs/tosign-allowlist.json) is simulated: anything else is 422. A step that needs an earlier one mined first (an approve, then the buy) reverts until that one is.
Input schema
{
"type": "object",
"properties": {
"chainId": {
"type": "integer",
"minimum": 1,
"description": "the transaction's chain (tx.chainId)"
},
"to": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "the contract it calls (tx.to)"
},
"data": {
"type": "string",
"pattern": "^0x([0-9a-fA-F]{2}){4,4096}$",
"description": "its calldata (tx.data)"
},
"from": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "your wallet: the one that would sign it"
},
"value": {
"type": "string",
"pattern": "^\\d{1,78}$",
"description": "wei; every transaction on the list sends 0"
}
},
"additionalProperties": false,
"required": [
"chainId",
"to",
"data",
"from"
]
}