Cast an on-chain Snapshot X vote from the Safe
snapshot_x_voteCast final on-chain For, Against, or Abstain votes as a Safe on Snapshot X proposals via the EthTx authenticator, with automatic strategy resolution and pre-sign simulation.
Instructions
Votes For, Against or Abstain on a Snapshot X (snapshot.box) proposal as the Safe. The Safe calls the space's EthTx authenticator, which forwards Space.vote with the Safe as voter — the path snapshot.box itself uses for smart-contract wallets, since a Safe cannot produce the gasless EIP-712 signature. This is an on-chain transaction: it costs gas and is final, Snapshot X does not allow changing a vote. The Safe's voting strategies are resolved automatically and the vote is simulated from the Safe before anything is signed. Read the proposal with snapshot_x_proposal first.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| space | Yes | The Snapshot X space: a space contract address, a prefixed id like "eth:0x594E…", or a full snapshot.box proposal URL (in which case proposalId can be omitted). | |
| choice | Yes | How to vote. Maps to the sx-evm Choice values 1, 0 and 2. | |
| reason | No | Public rationale. Pinned to IPFS and attached to the vote as its metadata URI, which is how snapshot.box shows a reason. | |
| proposalId | No | The proposal number, e.g. 3. Not needed when the space is a proposal URL. | |
| skipChecks | No | Bypass the pre-flight checks and simulation, and submit every active strategy. Only for sx-evm forks that break the standard view methods. | |
| metadataUri | No | Use this metadata URI (e.g. ipfs://…) instead of pinning the reason. Pass an empty string to vote with no metadata. | |
| authenticator | No | The space's EthTx authenticator. Defaults to the snapshot.box deployment 0xBA06E6cCb877C332181A6867c05c8b746A21Aed1; only needed for custom spaces. | |
| strategyParams | No | Per-strategy user params, for strategies that need them (a merkle whitelist proof, for instance). Other active strategies use 0x00. |