Skip to main content


Usage: chr tx [OPTIONS] OPNAME [ARGS]...

Make a transaction


Make query/tx towards a test node

-brid, --blockchain-rid TEXT Target Blockchain RID
--cid INT Target Blockchain IID (default: 0)
--api-url TEXT Target api url (default:


Make query towards a configured deployment

-d, --network TEXT Specify which deployment target to use
-bc, --blockchain TEXT Name of blockchain in deployment configuration

-s, --settings SETTINGS Alternate path for the project settings file
--secret PATH Path to secret file (pubkey/privkey)
-a, --await Wait for transaction to be included in a block
-nop Adds a nop to the transaction
-h, --help Show this message and exit

OPNAME name of the operation to execute.
ARGS arguments to pass to the operation. (integer: 123) (string: foo,
"bar") (bytearray: will be encoded using the rell notation
x"<myByteArray>" and will initially be interpreted as a hex-string.)
(array: [foo,123]) (dict: {key1=value1,key2=value2})

You can use the tx (transaction) command (chr tx) in the same way as the query command, but you need to sign it with your key pair. It can interact with either a local (Node) or deployed chain without the use of a client.

You can set a path for the project config file (config.yml) or specify a different file with the use of --settings. In addition to that, you can change between a local and deployed chain target with the --deployment and --local flags. The flag is --local by default. Use the flag -a or --await to wait for the confirmation or rejection of the transaction. To make the transaction hash unique, use the - nop flag if you need to do the same transaction multiple times.


You can see the Blockchain RID of the local node in the sout. An example would look like the following: Blockchain RID: FC17B67D66F6F35A5D8B75ED3F83AE222FB8C8FCA241624F06285150F10C6BAC If you are running the node on a different URL than the default http://localhost:7740, you can use the --api-url in the config.yml to specify it.

  • To perform a transaction with the operation set_name specified in the main.rell file.
chr tx --blockchain-rid <BlockchainRID> --secret .secret set_name "string:name->bob"
  • If you want to pass a dictionary as an argument, you have to separate the argument with -- to avoid = incorrect parsing.
chr tx set_name -- {key1=value1, key2=value2}


Towards a deployed chain, you can do the same commands but need to add a --name (Deployment target) and --blockchain (Name of the chain to query) instead of the --blockchain-rid.

chr tx --deployment --name testnet --blockchain hello --secret .secret set_name "string:name->bob"