Import & export proposal actions

Export and import proposal actions as JSON files to verify calldata externally, reuse proposal configurations, and reduce errors when creating complex proposals.

Note: This feature is currently available for ENS governance.

Export proposal actions

1) Navigate to the Proposal Builder

Go to your DAO’s governance page and click Create Proposal to access the proposal builder.

2) Configure & export

  • Set up your proposal actions (contract calls, custom transactions, etc.)

  • Click Export Actions to download a JSON file with all action data

Import proposal actions

1) Access and Import

In the proposal builder:

  • Click Import Actions

  • Upload a JSON file (max 1 MB) or paste JSON directly

  • Click Import to load the actions

  • Tally validates the structure and displays clear error messages if needed


Required JSON Format

Your JSON file must follow the Safe Transaction Builder format. This format is compatible with Safe wallets.

Basic Structure

Top level fields

Field
Description

version

Must be "1.0"

chainId

Network chain ID as a string (e.g., "1" for Ethereum mainnet)

createdAt

Unix timestamp in milliseconds

meta (optional)

Metadata object describing the batch

transactions

Array of transaction objects (max 10 actions)

Transactional object fields

Each transaction in the transactions array supports the following fields:

Field
Description

to

Target contract address

value

Amount of native token (ETH) to send in wei (string)

data

ABI-encoded calldata (null for native transfers)

contractMethod

Function metadata object

contractInputsValues

Optional decoded parameter values

Examples

Native token transfer

ERC20 token transfer

Custom contract call

Note: The data field contains ABI-encoded calldata and is difficult to write manually. We recommend exporting existing actions or using Safe's Transaction Builder to generate the correct format.

Last updated

Was this helpful?