Propose a New Multisig Transaction

As one of the owners of the multisig, propose a new transaction. This also implicitly approves the created transaction so it has one approval initially. In order for the transaction to be executed, it needs as many approvals as the number of signatures required.


movement aptos multisig create-transaction [OPTIONS] --multisig-address <MULTISIG_ADDRESS>


  • --multisig-address <MULTISIG_ADDRESS> The address of the multisig account to interact with.

  • --sender-account <SENDER_ACCOUNT> Sender account address. This allows you to override the account address from the derived account address in the event that the authentication key was rotated or for a resource account.

  • --private-key-file <PRIVATE_KEY_FILE> Signing Ed25519 private key file path. Encoded with type from --encoding. Mutually exclusive with --private-key.

  • --private-key <PRIVATE_KEY> Signing Ed25519 private key. Encoded with type from --encoding. Mutually exclusive with --private-key-file.

  • --encoding <ENCODING> Encoding of data as one of . Possible values:

    • bcs: Binary Canonical Serialization

    • hex: Hex encoded e.g. 0xABCDE12345

    • base64: Base 64 encoded

  • --profile <PROFILE> Profile to use from the CLI config. This will be used to override associated settings such as the REST URL, the Faucet URL, and the private key arguments. Defaults to "default".

  • --url <URL> URL to a fullnode on the network. Defaults to the URL in the default profile.

  • --connection-timeout-secs <CONNECTION_TIMEOUT_SECS> Connection timeout in seconds, used for the REST endpoint of the fullnode.

  • --gas-unit-price <GAS_UNIT_PRICE> Gas multiplier per unit of gas. The amount of Octas (10^-8 APT) used for a transaction is equal to (gas unit price * gas used). The gas_unit_price can be used as a multiplier for the amount of Octas willing to be paid for a transaction. This will prioritize the transaction with a higher gas unit price. Without a value, it will determine the price based on the current estimated price.

  • --max-gas <MAX_GAS> Maximum amount of gas units to be used to send this transaction. The maximum amount of gas units willing to pay for the transaction. This is the (max gas in Octas / gas unit price). For example if I wanted to pay a maximum of 100 Octas, I may have the max gas set to 100 if the gas unit price is

  1. If I want it to have a gas unit price of 2, the max gas would need to be 50 to still only have a maximum price of 100 Octas. Without a value, it will determine the price based on simulating the current transaction.

  • --expiration-secs <EXPIRATION_SECS> Number of seconds to expire the transaction. This is the number of seconds from the current local computer time.

  • --assume-yes Assume yes for all yes/no prompts.

  • --assume-no Assume no for all yes/no prompts.

  • --profile-gas If this option is set, simulate the transaction locally using the debugger and generate flamegraphs that reflect the gas usage.

  • --function-id <FUNCTION_ID> Function name as <ADDRESS>::<MODULE_ID>::<FUNCTION_NAME>. Example: 0x842ed41fad9640a2ad08fdd7d3e4f7f505319aac7d67e1c0dd6a7cce8732c7e3::message::set_message

  • --type-args [<TYPE_ARGS>...] TypeTag arguments separated by spaces. Example: u8 u16 u32 u64 u128 u256 bool address vector signer

  • --args [<ARGS>...] Arguments combined with their type separated by spaces. Supported types: . Vectors may be specified using JSON array literal syntax (you may need to escape this with quotes based on your shell interpreter). Example: address:0x1 bool:true u8:0 u256:1234 "bool:" 'address:[["0xace", "0xbee"], []]'

  • --json-file <JSON_FILE> JSON file specifying public entry function ID, type arguments, and arguments.

  • --store-hash-only Pass this flag if only storing transaction hash on-chain. Else full payload is stored.

Last updated