Flow Playground

Sign a Transaction with the Flow CLI

How to sign a Flow transaction from the command line

The Flow CLI provides a command to sign transactions with options to specify authorizer accounts, payer accounts and proposer accounts.

Use this functionality in the following order:

  1. Use the build command to build the transaction.
  2. Use this command (sign) to sign with each account specified in the build process.
  3. Use the send-signed command to submit the signed transaction to the Flow network.
flow transactions sign <built transaction filename>

Example Usage

> flow transactions sign ./built.rlp --signer alice \
  --filter payload --save signed.rlp

Hash		b03b18a8d9d30ff7c9f0fdaa80fcaab242c2f36eedb687dd9b368326311fe376
Payer		f8d6e0586b0a20c7
Authorizers	[f8d6e0586b0a20c7]

Proposal Key:	
    Address	f8d6e0586b0a20c7
    Index	0
    Sequence	6

No Envelope Signatures

Payload Signature 0:
    Address	f8d6e0586b0a20c7
    Signature	b5b1dfed2a899037...164e1b224a7ac924018e7033b68b0df86769dd54
    Key Index	0

Arguments (1):
    - Argument 0: {"type":"String","value":"Meow"}


transaction(greeting: String) {
  let guest: Address

  prepare(authorizer: AuthAccount) {
    self.guest = authorizer.address

  execute {



Built Transaction Filename

  • Name: built transaction filename
  • Valid inputs: Any filename and path valid on the system.

Specify the filename containing valid transaction payload that will be used for signing. To be used with the flow transaction build command.


Include Fields

  • Flag: --include
  • Valid inputs: code, payload, signatures

Specify fields to include in the result output. Applies only to the text output.


  • Flag: --signer
  • Valid inputs: the name of an account defined in the configuration (flow.json)

Specify the name of the account that will be used to sign the transaction.


  • Flag: --host
  • Valid inputs: an IP address or hostname.
  • Default: (Flow Emulator)

Specify the hostname of the Access API that will be used to execute the commands.


  • Flag: --network
  • Short Flag: -n
  • Valid inputs: the name of a network defined in the configuration (flow.json)
  • Default: emulator

Specify which network you want the command to use for execution.


  • Flag: --filter
  • Short Flag: -x
  • Valid inputs: case-sensitive name of the result property.

Specify any property name from the result you want to return as the only value.


  • Flag: --output
  • Short Flag: -o
  • Valid inputs: json, inline

Specify in which format you want to display the result.


  • Flag: --save
  • Short Flag: -s
  • Valid inputs: valid filename

Specify the filename where you want the result to be saved.


  • Flag: --log
  • Short Flag: -l
  • Valid inputs: none, error, debug
  • Default: info

Specify the log level. Control how much output you want to see while command execution.


  • Flag: --conf
  • Short Flag: -f
  • Valid inputs: valid filename

Specify a filename for the configuration files, you can provide multiple configuration files by using -f flag multiple times.