Skip to main content

Transaction Commands

All transaction commands follow the pattern:

qorechaind tx <module> <command> [args] [flags]
note

Set --chain-id qorechain-vladi to broadcast against the live mainnet (chain version v3.1.97), or --chain-id qorechain-diana for the testnet. If omitted, the client uses the chain-id from your local config.

Common flags apply to every tx subcommand:

FlagTypeDescription
--fromstringName or address of the signing key
--chain-idstringChain identifier (default: from config)
--feesstringTransaction fees (e.g., 500uqor)
--gasstringGas limit or auto for estimation
--gas-adjustmentfloatGas multiplier when using auto (default: 1.0)
--keyring-backendstringKeyring backend: os, file, test
--nodestringRPC endpoint (default: tcp://localhost:26657)
--broadcast-modestringsync, async, or block
-yboolSkip confirmation prompt

bank​

send​

Transfer tokens from one account to another.

qorechaind tx bank send <from_address> <to_address> <amount> [flags]

staking​

create-validator​

Create a new validator on the network.

qorechaind tx staking create-validator [flags]
FlagTypeDescription
--amountstringSelf-delegation amount (e.g., 1000000uqor)
--pubkeystringValidator consensus public key (JSON)
--monikerstringValidator display name
--commission-ratestringInitial commission rate (e.g., 0.10)
--commission-max-ratestringMaximum commission rate
--commission-max-change-ratestringMaximum daily commission change rate
--min-self-delegationstringMinimum self-delegation required

edit-validator​

Edit an existing validator's description or commission.

qorechaind tx staking edit-validator [flags]

delegate​

Delegate tokens to a validator.

qorechaind tx staking delegate <validator_address> <amount> [flags]

redelegate​

Move delegation from one validator to another.

qorechaind tx staking redelegate <src_validator> <dst_validator> <amount> [flags]

unbond​

Unbond tokens from a validator.

qorechaind tx staking unbond <validator_address> <amount> [flags]

distribution​

withdraw-all-rewards​

Withdraw all pending staking rewards.

qorechaind tx distribution withdraw-all-rewards [flags]

withdraw-rewards​

Withdraw rewards from a specific validator.

qorechaind tx distribution withdraw-rewards <validator_address> [flags]
FlagTypeDescription
--commissionboolAlso withdraw validator commission

gov​

submit-proposal​

Submit a governance proposal.

qorechaind tx gov submit-proposal <proposal_file.json> [flags]

The proposal file is a JSON document specifying the proposal type, title, description, and any messages to execute.

vote​

Vote on an active proposal.

qorechaind tx gov vote <proposal_id> <option> [flags]

Vote options: yes, no, abstain, no_with_veto.

deposit​

Add a deposit to a proposal.

qorechaind tx gov deposit <proposal_id> <amount> [flags]

pqc​

The cosmos transaction path requires a hybrid signature by default (hybrid_signature_mode = required). The gen-key and cosign commands produce the Dilithium-5 (ML-DSA-87) key and the PQCHybridSignature extension needed to transact on the cosmos path alongside the classical secp256k1 signature.

gen-key​

Generate a Dilithium-5 (ML-DSA-87) post-quantum key for hybrid signing.

qorechaind tx pqc gen-key [flags]

cosign​

Attach a Dilithium-5 cosignature to a transaction as a PQCHybridSignature extension, producing a hybrid (secp256k1 + ML-DSA-87) transaction. Required for cosmos-path transactions under the default required enforcement mode. Standard CosmJS / relayer tooling must produce this extension to transact; the QoreChain SDK's buildHybridTx (with includePqcPublicKey) does the equivalent.

qorechaind tx pqc cosign <unsigned_tx_file> [flags]

register-key​

Register a post-quantum public key for an account.

qorechaind tx pqc register-key <algorithm> <pubkey_hex> [flags]

register-key-v2​

Register a PQC key with extended metadata and attestation.

qorechaind tx pqc register-key-v2 <algorithm> <pubkey_hex> [flags]
FlagTypeDescription
--attestationstringTEE attestation data (hex)
--metadatastringAdditional key metadata (JSON)

migrate-key​

Migrate an existing classical key to a hybrid PQC key pair.

qorechaind tx pqc migrate-key <algorithm> <pqc_pubkey_hex> [flags]

recover-key​

Deterministically reconstruct the account's ML-DSA-87 key from its BIP-39 mnemonic (read from stdin) and store it locally (available as of chain version v3.1.85). Uses the ecosystem-standard derivation SHAKE-256("qorechain:pqc:v1|address|mnemonic").

qorechaind tx pqc recover-key <name> <address> [flags]
FlagTypeDescription
--derivationstringadapter (canonical, default) or bridge (legacy SHAKE-256(mnemonic))

rotate-key​

Rotate the account's ML-DSA-87 key within the same algorithm (available as of chain version v3.1.85) — e.g. migrate a legacy-derived key to the canonical derivation, or retire a compromised key. Reads the mnemonic from stdin, dual-signs with the old and new keys, cosigns the envelope with the old key, and broadcasts. Emits only the transaction JSON on stdout (informational lines go to stderr), so it composes with -o json.

qorechaind tx pqc rotate-key [flags]
FlagTypeDescription
--old-derivationstringDerivation of the currently registered key (adapter | bridge)
--new-derivationstringDerivation of the new key (adapter | bridge)
--new-randomboolGenerate a fresh random key instead

xqore​

lock​

Lock QOR tokens into an xQORE governance staking position.

qorechaind tx xqore lock <amount> [flags]
FlagTypeDescription
--lock-durationstringLock duration (e.g., 30d, 90d, 180d)

unlock​

Unlock xQORE back to QOR. Early unlock may incur penalties depending on the penalty tier.

qorechaind tx xqore unlock <amount> [flags]

bridge​

deposit​

Initiate a bridge deposit from an external chain.

qorechaind tx bridge deposit <chain_id> <amount> <asset> [flags]
FlagTypeDescription
--recipientstringRecipient address on QoreChain

withdraw​

Initiate a bridge withdrawal to an external chain.

qorechaind tx bridge withdraw <chain_id> <amount> <asset> <destination_address> [flags]

update-chain-config​

Activate or reconfigure a chain's bridge in a single signed transaction (available as of chain version v3.1.80). Requires the bridge_admin key or a qcb_bridge license — no governance proposal or chain upgrade. Sets the contract address, confirmation count, architecture, and status.

qorechaind tx bridge update-chain-config <chain_id> [flags] --from bridge-admin

set-verifier-bootstrap​

Select a chain's active verifier and install its trust root (also bridge_admin-gated).

qorechaind tx bridge set-verifier-bootstrap <chain_id> <verifier> [flags] --from bridge-admin

crossvm​

call​

Send a cross-VM message between execution environments (EVM, CosmWasm, SVM).

qorechaind tx crossvm call <target_vm> <contract_address> <payload_hex> [flags]
FlagTypeDescription
--source-vmstringSource VM: evm, cosmwasm, svm
--gas-limituintGas limit for the cross-VM execution

process-queue​

Manually process pending cross-VM messages (operator command).

qorechaind tx crossvm process-queue [flags]

svm​

deploy-program​

Deploy a BPF program to the SVM runtime.

qorechaind tx svm deploy-program <program_binary_path> [flags]
FlagTypeDescription
--program-idstringOptional program ID (base58)

execute​

Execute an instruction on a deployed SVM program.

qorechaind tx svm execute <program_id> <instruction_data_hex> [flags]
FlagTypeDescription
--accountsstringComma-separated account pubkeys for the instruction

create-account​

Create a new SVM account with allocated data space.

qorechaind tx svm create-account <pubkey> <space> [flags]
FlagTypeDescription
--ownerstringOwner program (base58, default: system program)

multilayer​

register-sidechain​

Register a new sidechain layer.

qorechaind tx multilayer register-sidechain <layer-id> <description> [flags]
FlagTypeDescription
--block-time-msuintTarget block time in ms (default 2000)
--domainsstringComma-separated supported domains (default defi)
--max-txuintMax transactions per block (default 1000)
--min-validatorsuint32Minimum validator set size (default 1)
--settlement-intervaluintSettlement interval in blocks (default 100)
--vm-typesstringComma-separated supported VM types (default evm)

register-paychain​

Register a new paychain layer for high-frequency microtransactions.

qorechaind tx multilayer register-paychain <layer-id> <description> [flags]
FlagTypeDescription
--max-txuintMax transactions per block (default 5000)
--settlement-intervaluintSettlement interval in blocks (default 50)

anchor-state​

Submit a state anchor (settlement) for a registered layer.

qorechaind tx multilayer anchor-state <layer-id> <layer-height> <state-root-hex> <pqc-agg-sig-hex> [flags]

route-tx​

Route a transaction to the optimal layer.

qorechaind tx multilayer route-tx <tx_data_hex> [flags]
FlagTypeDescription
--target-layerstringForce routing to a specific layer

update-layer-status​

Update the operational status of a layer (operator only).

qorechaind tx multilayer update-layer-status <layer_id> <status> [flags]

Status values: active, paused, draining.

challenge-anchor​

Submit a fraud challenge against a state anchor.

qorechaind tx multilayer challenge-anchor <layer_id> <anchor_hash> <proof_hex> [flags]

rdk​

create-rollup​

Register a new rollup with the Rollup Development Kit.

qorechaind tx rdk create-rollup <rollup_id> [flags]
FlagTypeDescription
--settlement-typestringoptimistic, zk, pessimistic, sovereign
--profilestringPreset: defi, gaming, nft, enterprise, custom
--stakestringOperator stake amount
--da-enabledboolEnable native data availability

submit-batch​

Submit a settlement batch for a rollup.

qorechaind tx rdk submit-batch <rollup_id> <state_root_hex> <batch_data_path> [flags]

challenge-batch​

Submit a fraud challenge against a settlement batch (optimistic rollups).

qorechaind tx rdk challenge-batch <rollup_id> <batch_index> <proof_hex> [flags]

finalize-batch​

Manually finalize a batch that has passed the challenge window.

qorechaind tx rdk finalize-batch <rollup_id> <batch_index> [flags]

pause-rollup​

Pause a rollup (operator only).

qorechaind tx rdk pause-rollup <rollup_id> [flags]

resume-rollup​

Resume a paused rollup (operator only).

qorechaind tx rdk resume-rollup <rollup_id> [flags]

stop-rollup​

Permanently stop a rollup and release its stake (operator only).

qorechaind tx rdk stop-rollup <rollup_id> [flags]
note

Rollup withdrawal and cross-layer settlement are also exposed under the rdk transaction group (for example, an execute-withdrawal command that settles a withdrawal proven against a finalized batch). The exact arguments and flags depend on your rollup's settlement type and DA configuration; see the Rollup Development Kit documentation for the authoritative command surface before constructing these transactions.


babylon​

submit-btc-checkpoint​

Submit a BTC checkpoint for an epoch.

qorechaind tx babylon submit-btc-checkpoint <epoch> <checkpoint_hex> [flags]

btc-restake​

Restake BTC via the Babylon integration.

qorechaind tx babylon btc-restake <amount> [flags]
FlagTypeDescription
--btc-tx-hashstringBitcoin transaction hash as proof

abstractaccount​

create​

Create an abstract account with programmable spending rules.

qorechaind tx abstractaccount create [flags]
FlagTypeDescription
--spending-rulesstringJSON file defining spending rules

update-spending-rules​

Update the spending rules for an existing abstract account.

qorechaind tx abstractaccount update-spending-rules <rules_file.json> [flags]

execute-cosmos​

Relay an authenticator-authorized Native-lane bank send from a canonical account (available as of chain version v3.1.85). The relayer (--from) signs and pays for the envelope; the linked key's signature over the replay-bound sign bytes is the authorization. See Linked Wallet Authenticators.

qorechaind tx abstractaccount execute-cosmos <account> <to> <amount> \
<auth_pubkey_hex> <auth_signature_hex> <nonce> --from relayer -y

execute-evm​

Relay an authenticator-authorized EVM call or transfer from the canonical account's EVM address (available as of chain version v3.1.85). The nonce is the account's current EVM nonce.

qorechaind tx abstractaccount execute-evm <account> <to> <value> <data_hex> \
<auth_pubkey_hex> <auth_signature_hex> <nonce> --from relayer -y

rlconsensus​

PRISM is the reinforcement-learning layer that tunes consensus parameters. These commands control the PRISM agent; the CLI module name rlconsensus and its subcommands are preserved verbatim.

set-agent-mode​

Set the PRISM agent operational mode (governance only).

qorechaind tx rlconsensus set-agent-mode <mode> [flags]

Mode values: 0 (off), 1 (observe), 2 (suggest), 3 (auto).

resume-agent​

Resume the PRISM agent after a circuit breaker trip.

qorechaind tx rlconsensus resume-agent [flags]

update-policy​

Update the PRISM agent policy configuration (governance only).

qorechaind tx rlconsensus update-policy <policy_file.json> [flags]

update-reward-weights​

Update the reward weight configuration for the PRISM agent.

qorechaind tx rlconsensus update-reward-weights [flags]
FlagTypeDescription
--throughput-weightstringWeight for throughput reward
--latency-weightstringWeight for latency reward
--security-weightstringWeight for security reward