This document contains the help content for the stellar
command-line program.
Work seamlessly with Stellar accounts, contracts, and assets from the command line.
- Generate and manage keys and accounts
- Build, deploy, and interact with contracts
- Deploy asset contracts
- Stream events
- Start local testnets
- Decode, encode XDR
- More!
For additional information see:
- Stellar Docs: https://developers.stellar.org
- Smart Contract Docs: https://developers.stellar.org/docs/build/smart-contracts/overview
- CLI Docs: https://developers.stellar.org/docs/tools/stellar-cli
To get started generate a new identity:
stellar keys generate alice
Use keys with the --source
flag in other commands.
Commands that work with contracts are organized under the contract
subcommand. List them:
stellar contract --help
Use contracts like a CLI:
stellar contract invoke --id CCR6QKTWZQYW6YUJ7UP7XXZRLWQPFRV6SWBLQS4ZQOSAF4BOUD77OTE2 --source alice --network testnet -- --help
Anything after the --
double dash (the "slop") is parsed as arguments to the contract-specific CLI, generated on-the-fly from the contract schema. For the hello world example, with a function called hello
that takes one string argument to
, here's how you invoke it:
stellar contract invoke --id CCR6QKTWZQYW6YUJ7UP7XXZRLWQPFRV6SWBLQS4ZQOSAF4BOUD77OTE2 --source alice --network testnet -- hello --to world
Usage: stellar [OPTIONS] <COMMAND>
contract
— Tools for smart contract developersevents
— Watch the network for contract eventsenv
— Prints the current environment variables or defaults to the stdout, in a format that can be used as .env file. Environment variables have precedency over defaultskeys
— Create and manage identities including keys and addressesnetwork
— Configure connection to networkscontainer
— Start local networks in containerssnapshot
— Download a snapshot of a ledger from an archivetx
— Sign, Simulate, and Send transactionsxdr
— Decode and encode XDRcompletion
— Print shell completion code for the specified shellcache
— Cache for transactions and contract specsversion
— Print version information
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."-f
,--filter-logs <FILTER_LOGS>
— Filter logs output. To turn onstellar_cli::log::footprint=debug
or off=off
. Can also use env varRUST_LOG
-q
,--quiet
— Do not write logs to stderr includingINFO
-v
,--verbose
— Log DEBUG events--very-verbose
— Log DEBUG and TRACE events--list
— List installed plugins. E.g.stellar-hello
--no-cache
— Do not cache your simulations and transactions
Tools for smart contract developers
Usage: stellar contract <COMMAND>
asset
— Utilities to deploy a Stellar Asset Contract or get its idalias
— Utilities to manage contract aliasesbindings
— Generate code client bindings for a contractbuild
— Build a contract from sourceextend
— Extend the time to live ledger of a contract-data ledger entrydeploy
— Deploy a wasm contractfetch
— Fetch a contract's Wasm binaryid
— Generate the contract id for a given contract or assetinfo
— Access info about contractsinit
— Initialize a Soroban contract projectinspect
— (Deprecated in favor ofcontract info
subcommands) Inspect a WASM file listing contract functions, meta, etcinstall
— Install a WASM file to the ledger without creating a contract instanceinvoke
— Invoke a contract functionoptimize
— Optimize a WASM fileread
— Print the current value of a contract-data ledger entryrestore
— Restore an evicted value for a contract-data legder entry
Utilities to deploy a Stellar Asset Contract or get its id
Usage: stellar contract asset <COMMAND>
id
— Get Id of builtin Soroban Asset Contract. Deprecated, usestellar contract id asset
insteaddeploy
— Deploy builtin Soroban Asset Contract
Get Id of builtin Soroban Asset Contract. Deprecated, use stellar contract id asset
instead
Usage: stellar contract asset id [OPTIONS] --asset <ASSET>
--asset <ASSET>
— ID of the Stellar classic asset to wrap, e.g. "USDC:G...5"--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Deploy builtin Soroban Asset Contract
Usage: stellar contract asset deploy [OPTIONS] --asset <ASSET> --source-account <SOURCE_ACCOUNT>
-
--asset <ASSET>
— ID of the Stellar classic asset to wrap, e.g. "USDC:G...5" -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout
Utilities to manage contract aliases
Usage: stellar contract alias <COMMAND>
remove
— Remove contract aliasadd
— Add contract aliasshow
— Show the contract id associated with a given aliasls
— List all aliases
Remove contract alias
Usage: stellar contract alias remove [OPTIONS] <ALIAS>
<ALIAS>
— The contract alias that will be removed
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config
Add contract alias
Usage: stellar contract alias add [OPTIONS] --id <CONTRACT_ID> <ALIAS>
<ALIAS>
— The contract alias that will be removed
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config--overwrite
— Overwrite the contract alias if it already exists--id <CONTRACT_ID>
— The contract id that will be associated with the alias
Show the contract id associated with a given alias
Usage: stellar contract alias show [OPTIONS] <ALIAS>
<ALIAS>
— The contract alias that will be displayed
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config
List all aliases
Usage: stellar contract alias ls [OPTIONS]
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Generate code client bindings for a contract
Usage: stellar contract bindings <COMMAND>
json
— Generate Json Bindingsrust
— Generate Rust bindingstypescript
— Generate a TypeScript / JavaScript package
Generate Json Bindings
Usage: stellar contract bindings json --wasm <WASM>
--wasm <WASM>
— Path to wasm binary
Generate Rust bindings
Usage: stellar contract bindings rust --wasm <WASM>
--wasm <WASM>
— Path to wasm binary
Generate a TypeScript / JavaScript package
Usage: stellar contract bindings typescript [OPTIONS] --output-dir <OUTPUT_DIR> --contract-id <CONTRACT_ID>
--wasm <WASM>
— Path to optional wasm binary--output-dir <OUTPUT_DIR>
— Where to place generated project--overwrite
— Whether to overwrite output directory if it already exists--contract-id <CONTRACT_ID>
— The contract ID/address on the network--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config
Build a contract from source
Builds all crates that are referenced by the cargo manifest (Cargo.toml) that have cdylib as their crate-type. Crates are built for the wasm32 target. Unless configured otherwise, crates are built with their default features and with their release profile.
In workspaces builds all crates unless a package name is specified, or the command is executed from the sub-directory of a workspace crate.
To view the commands that will be executed, without executing them, use the --print-commands-only option.
Usage: stellar contract build [OPTIONS]
-
--manifest-path <MANIFEST_PATH>
— Path to Cargo.toml -
--package <PACKAGE>
— Package to buildIf omitted, all packages that build for crate-type cdylib are built.
-
--profile <PROFILE>
— Build with the specified profileDefault value:
release
-
--features <FEATURES>
— Build with the list of features activated, space or comma separated -
--all-features
— Build with the all features activated -
--no-default-features
— Build with the default feature not activated -
--out-dir <OUT_DIR>
— Directory to copy wasm files toIf provided, wasm files can be found in the cargo target directory, and the specified directory.
If ommitted, wasm files are written only to the cargo target directory.
-
--print-commands-only
— Print commands to build without executing them -
--meta <META>
— Add key-value to contract meta (adds the meta to thecontractmetav0
custom section)
Extend the time to live ledger of a contract-data ledger entry.
If no keys are specified the contract itself is extended.
Usage: stellar contract extend [OPTIONS] --ledgers-to-extend <LEDGERS_TO_EXTEND> --source-account <SOURCE_ACCOUNT>
-
--ledgers-to-extend <LEDGERS_TO_EXTEND>
— Number of ledgers to extend the entries -
--ttl-ledger-only
— Only print the new Time To Live ledger -
--id <CONTRACT_ID>
— Contract ID to which owns the data entries. If no keys provided the Contract's instance will be extended -
--key <KEY>
— Storage key (symbols only) -
--key-xdr <KEY_XDR>
— Storage key (base64-encoded XDR) -
--wasm <WASM>
— Path to Wasm file of contract code to extend -
--wasm-hash <WASM_HASH>
— Path to Wasm file of contract code to extend -
--durability <DURABILITY>
— Storage entry durabilityDefault value:
persistent
Possible values:
persistent
: Persistenttemporary
: Temporary
-
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout
Deploy a wasm contract
Usage: stellar contract deploy [OPTIONS] --source-account <SOURCE_ACCOUNT> <--wasm <WASM>|--wasm-hash <WASM_HASH>> [-- <CONTRACT_CONSTRUCTOR_ARGS>...]
<CONTRACT_CONSTRUCTOR_ARGS>
— If provided, will be passed to the contract's__constructor
function with provided arguments for that function as--arg-name value
-
--wasm <WASM>
— WASM file to deploy -
--wasm-hash <WASM_HASH>
— Hash of the already installed/deployed WASM file -
--salt <SALT>
— Custom salt 32-byte salt for the token id -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout -
-i
,--ignore-checks
— Whether to ignore safety checks when deploying contractsDefault value:
false
-
--alias <ALIAS>
— The alias that will be used to save the contract's id. Whenever used,--alias
will always overwrite the existing contract id configuration without asking for confirmation
Fetch a contract's Wasm binary
Usage: stellar contract fetch [OPTIONS] --id <CONTRACT_ID>
--id <CONTRACT_ID>
— Contract ID to fetch-o
,--out-file <OUT_FILE>
— Where to write output otherwise stdout is used--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config
Generate the contract id for a given contract or asset
Usage: stellar contract id <COMMAND>
asset
— Deploy builtin Soroban Asset Contractwasm
— Deploy normal Wasm Contract
Deploy builtin Soroban Asset Contract
Usage: stellar contract id asset [OPTIONS] --asset <ASSET>
--asset <ASSET>
— ID of the Stellar classic asset to wrap, e.g. "USDC:G...5"--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Deploy normal Wasm Contract
Usage: stellar contract id wasm [OPTIONS] --salt <SALT> --source-account <SOURCE_ACCOUNT>
--salt <SALT>
— ID of the Soroban contract--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Access info about contracts
Usage: stellar contract info <COMMAND>
interface
— Output the interface of a contractmeta
— Output the metadata stored in a contractenv-meta
— Output the env required metadata stored in a contract
Output the interface of a contract.
A contract's interface describes the functions, parameters, and types that the contract makes accessible to be called.
The data outputted by this command is a stream of SCSpecEntry
XDR values. See the type definitions in stellar-xdr. See also XDR data format.
Outputs no data when no data is present in the contract.
Usage: stellar contract info interface [OPTIONS] <--wasm <WASM>|--wasm-hash <WASM_HASH>|--id <CONTRACT_ID>>
-
--wasm <WASM>
— Wasm file to extract the data from -
--wasm-hash <WASM_HASH>
— Wasm hash to get the data for -
--id <CONTRACT_ID>
— Contract id to get the data for -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--output <OUTPUT>
— Format of the outputDefault value:
rust
Possible values:
rust
: Rust code output of the contract interfacexdr-base64
: XDR output of the info entryjson
: JSON output of the info entry (one line, not formatted)json-formatted
: Formatted (multiline) JSON output of the info entry
Output the metadata stored in a contract.
A contract's meta is a series of key-value pairs that the contract developer can set with any values to provided metadata about the contract. The meta also contains some information like the version of Rust SDK, and Rust compiler version.
The data outputted by this command is a stream of SCMetaEntry
XDR values. See the type definitions in stellar-xdr. See also XDR data format.
Outputs no data when no data is present in the contract.
Usage: stellar contract info meta [OPTIONS] <--wasm <WASM>|--wasm-hash <WASM_HASH>|--id <CONTRACT_ID>>
-
--wasm <WASM>
— Wasm file to extract the data from -
--wasm-hash <WASM_HASH>
— Wasm hash to get the data for -
--id <CONTRACT_ID>
— Contract id to get the data for -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--output <OUTPUT>
— Format of the outputDefault value:
text
Possible values:
text
: Text output of the meta info entryxdr-base64
: XDR output of the info entryjson
: JSON output of the info entry (one line, not formatted)json-formatted
: Formatted (multiline) JSON output of the info entry
Output the env required metadata stored in a contract.
Env-meta is information stored in all contracts, in the contractenvmetav0
WASM custom section, about the environment that the contract was built for. Env-meta allows the Soroban Env to know whether the contract is compatibility with the network in its current configuration.
The data outputted by this command is a stream of SCEnvMetaEntry
XDR values. See the type definitions in stellar-xdr. See also XDR data format.
Outputs no data when no data is present in the contract.
Usage: stellar contract info env-meta [OPTIONS] <--wasm <WASM>|--wasm-hash <WASM_HASH>|--id <CONTRACT_ID>>
-
--wasm <WASM>
— Wasm file to extract the data from -
--wasm-hash <WASM_HASH>
— Wasm hash to get the data for -
--id <CONTRACT_ID>
— Contract id to get the data for -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--output <OUTPUT>
— Format of the outputDefault value:
text
Possible values:
text
: Text output of the meta info entryxdr-base64
: XDR output of the info entryjson
: JSON output of the info entry (one line, not formatted)json-formatted
: Formatted (multiline) JSON output of the info entry
Initialize a Soroban contract project.
This command will create a Cargo workspace project and add a sample Stellar contract. The name of the contract can be specified by --name
. It can be run multiple times with different names in order to generate multiple contracts, and files won't be overwritten unless --overwrite
is passed.
Usage: stellar contract init [OPTIONS] <PROJECT_PATH>
<PROJECT_PATH>
-
--name <NAME>
— An optional flag to specify a new contract's name.Default value:
hello-world
-
--overwrite
— Overwrite all existing files.
(Deprecated in favor of contract info
subcommands) Inspect a WASM file listing contract functions, meta, etc
Usage: stellar contract inspect [OPTIONS] --wasm <WASM>
-
--wasm <WASM>
— Path to wasm binary -
--output <OUTPUT>
— Output just XDR in base64Default value:
docs
Possible values:
xdr-base64
: XDR of array of contract spec entriesxdr-base64-array
: Array of xdr of contract spec entriesdocs
: Pretty print of contract spec entries
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Install a WASM file to the ledger without creating a contract instance
Usage: stellar contract install [OPTIONS] --source-account <SOURCE_ACCOUNT> --wasm <WASM>
-
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout -
--wasm <WASM>
— Path to wasm binary -
-i
,--ignore-checks
— Whether to ignore safety checks when deploying contractsDefault value:
false
Invoke a contract function
Generates an "implicit CLI" for the specified contract on-the-fly using the contract's schema, which gets embedded into every Soroban contract. The "slop" in this command, everything after the --
, gets passed to this implicit CLI. Get in-depth help for a given contract:
stellar contract invoke ... -- --help
Usage: stellar contract invoke [OPTIONS] --id <CONTRACT_ID> --source-account <SOURCE_ACCOUNT> [-- <CONTRACT_FN_AND_ARGS>...]
<CONTRACT_FN_AND_ARGS>
— Function name as subcommand, then arguments for that function as--arg-name value
-
--id <CONTRACT_ID>
— Contract ID to invoke -
--is-view
— View the result simulating and do not sign and submit transaction. Deprecated use--send=no
-
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout -
--send <SEND>
— Whether or not to send a transactionDefault value:
default
Possible values:
default
: Send transaction if simulation indicates there are ledger writes, published events, or auth required, otherwise return simulation resultno
: Do not send transaction, return simulation resultyes
: Always send transaction
Optimize a WASM file
Usage: stellar contract optimize [OPTIONS] --wasm <WASM>
--wasm <WASM>
— Path to wasm binary--wasm-out <WASM_OUT>
— Path to write the optimized WASM file to (defaults to same location as --wasm with .optimized.wasm suffix)
Print the current value of a contract-data ledger entry
Usage: stellar contract read [OPTIONS]
-
--output <OUTPUT>
— Type of output to generateDefault value:
string
Possible values:
string
: Stringjson
: Jsonxdr
: XDR
-
--id <CONTRACT_ID>
— Contract ID to which owns the data entries. If no keys provided the Contract's instance will be extended -
--key <KEY>
— Storage key (symbols only) -
--key-xdr <KEY_XDR>
— Storage key (base64-encoded XDR) -
--wasm <WASM>
— Path to Wasm file of contract code to extend -
--wasm-hash <WASM_HASH>
— Path to Wasm file of contract code to extend -
--durability <DURABILITY>
— Storage entry durabilityDefault value:
persistent
Possible values:
persistent
: Persistenttemporary
: Temporary
-
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Restore an evicted value for a contract-data legder entry.
If no keys are specificed the contract itself is restored.
Usage: stellar contract restore [OPTIONS] --source-account <SOURCE_ACCOUNT>
-
--id <CONTRACT_ID>
— Contract ID to which owns the data entries. If no keys provided the Contract's instance will be extended -
--key <KEY>
— Storage key (symbols only) -
--key-xdr <KEY_XDR>
— Storage key (base64-encoded XDR) -
--wasm <WASM>
— Path to Wasm file of contract code to extend -
--wasm-hash <WASM_HASH>
— Path to Wasm file of contract code to extend -
--durability <DURABILITY>
— Storage entry durabilityDefault value:
persistent
Possible values:
persistent
: Persistenttemporary
: Temporary
-
--ledgers-to-extend <LEDGERS_TO_EXTEND>
— Number of ledgers to extend the entry -
--ttl-ledger-only
— Only print the new Time To Live ledger -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout
Watch the network for contract events
Usage: stellar events [OPTIONS]
-
--start-ledger <START_LEDGER>
— The first ledger sequence number in the range to pull events https://developers.stellar.org/docs/learn/encyclopedia/network-configuration/ledger-headers#ledger-sequence -
--cursor <CURSOR>
— The cursor corresponding to the start of the event range -
--output <OUTPUT>
— Output formatting options for event streamDefault value:
pretty
Possible values:
pretty
: Colorful, human-oriented console outputplain
: Human-oriented console output without colorsjson
: JSON formatted console output
-
-c
,--count <COUNT>
— The maximum number of events to display (defer to the server-defined limit)Default value:
10
-
--id <CONTRACT_IDS>
— A set of (up to 5) contract IDs to filter events on. This parameter can be passed multiple times, e.g.--id C123.. --id C456..
, or passed with multiple parameters, e.g.--id C123 C456
.Though the specification supports multiple filter objects (i.e. combinations of type, IDs, and topics), only one set can be specified on the command-line today, though that set can have multiple IDs/topics.
-
--topic <TOPIC_FILTERS>
— A set of (up to 4) topic filters to filter event topics on. A single topic filter can contain 1-4 different segment filters, separated by commas, with an asterisk (*
character) indicating a wildcard segment.Example: topic filter with two segments:
--topic "AAAABQAAAAdDT1VOVEVSAA==,*"
Example: two topic filters with one and two segments each:
--topic "AAAABQAAAAdDT1VOVEVSAA==" --topic '*,*'
Note that all of these topic filters are combined with the contract IDs into a single filter (i.e. combination of type, IDs, and topics).
-
--type <EVENT_TYPE>
— Specifies which type of contract events to displayDefault value:
all
Possible values:
all
,contract
,system
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config
Prints the current environment variables or defaults to the stdout, in a format that can be used as .env file. Environment variables have precedency over defaults
Usage: stellar env [OPTIONS]
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Create and manage identities including keys and addresses
Usage: stellar keys <COMMAND>
add
— Add a new identity (keypair, ledger, macOS keychain)address
— Given an identity return its address (public key)fund
— Fund an identity on a test networkgenerate
— Generate a new identity with a seed phrase, currently 12 wordsls
— List identitiesrm
— Remove an identityshow
— Given an identity return its private keyuse
— Set the default identity that will be used on all commands. This allows you to skip--source-account
or setting a environment variable, while reusing this value in all commands that require it
Add a new identity (keypair, ledger, macOS keychain)
Usage: stellar keys add [OPTIONS] <NAME>
<NAME>
— Name of identity
--secret-key
— Add usingsecret_key
Can provide withSOROBAN_SECRET_KEY
--seed-phrase
— Add using 12 word seed phrase to generatesecret_key
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Given an identity return its address (public key)
Usage: stellar keys address [OPTIONS] <NAME>
<NAME>
— Name of identity to lookup, default test identity used if not provided
--hd-path <HD_PATH>
— If identity is a seed phrase use this hd path, default is 0--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Fund an identity on a test network
Usage: stellar keys fund [OPTIONS] <NAME>
<NAME>
— Name of identity to lookup, default test identity used if not provided
--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config--hd-path <HD_PATH>
— If identity is a seed phrase use this hd path, default is 0--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Generate a new identity with a seed phrase, currently 12 words
Usage: stellar keys generate [OPTIONS] <NAME>
<NAME>
— Name of identity
-
--no-fund
— Do not fund address -
--seed <SEED>
— Optional seed to use when generating seed phrase. Random otherwise -
-s
,--as-secret
— Output the generated identity as a secret key -
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--hd-path <HD_PATH>
— When generating a secret key, whichhd_path
should be used from the originalseed_phrase
-
-d
,--default-seed
— Generate the default seed phrase. Useful for testing. Equivalent to --seed 0000000000000000 -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--fund
— Fund generated key pairDefault value:
false
-
--overwrite
— Overwrite existing identity if it already exists
List identities
Usage: stellar keys ls [OPTIONS]
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."-l
,--long
Remove an identity
Usage: stellar keys rm [OPTIONS] <NAME>
<NAME>
— Identity to remove
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Given an identity return its private key
Usage: stellar keys show [OPTIONS] <NAME>
<NAME>
— Name of identity to lookup, default is test identity
--hd-path <HD_PATH>
— If identity is a seed phrase use this hd path, default is 0--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Set the default identity that will be used on all commands. This allows you to skip --source-account
or setting a environment variable, while reusing this value in all commands that require it
Usage: stellar keys use [OPTIONS] <NAME>
<NAME>
— Set the default network name
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Configure connection to networks
Usage: stellar network <COMMAND>
add
— Add a new networkrm
— Remove a networkls
— List networksstart
—⚠️ Deprecated: usestellar container start
insteadstop
—⚠️ Deprecated: usestellar container stop
insteaduse
— Set the default network that will be used on all commands. This allows you to skip--network
or setting a environment variable, while reusing this value in all commands that require itcontainer
—⚠️ Deprecated: usestellar container
instead
Add a new network
Usage: stellar network add [OPTIONS] --rpc-url <RPC_URL> --network-passphrase <NETWORK_PASSPHRASE> <NAME>
<NAME>
— Name of network
--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— Optional header (e.g. API Key) to include in requests to the RPC--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Remove a network
Usage: stellar network rm [OPTIONS] <NAME>
<NAME>
— Network to remove
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
List networks
Usage: stellar network ls [OPTIONS]
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."-l
,--long
— Get more info about the networks
stellar container start
instead
Start network
Start a container running a Stellar node, RPC, API, and friendbot (faucet).
stellar network start NETWORK [OPTIONS]
By default, when starting a testnet container, without any optional arguments, it will run the equivalent of the following docker command:
docker run --rm -p 8000:8000 --name stellar stellar/quickstart:testing --testnet --enable rpc,horizon
Usage: stellar network start [OPTIONS] <NETWORK>
-
<NETWORK>
— Network to startPossible values:
local
,testnet
,futurenet
,pubnet
-
-d
,--docker-host <DOCKER_HOST>
— Optional argument to override the default docker host. This is useful when you are using a non-standard docker host path for your Docker-compatible container runtime, e.g. Docker Desktop defaults to $HOME/.docker/run/docker.sock instead of /var/run/docker.sock -
--name <NAME>
— Optional argument to specify the container name -
-l
,--limits <LIMITS>
— Optional argument to specify the limits for the local network only -
-p
,--ports-mapping <PORTS_MAPPING>
— Argument to specify theHOST_PORT:CONTAINER_PORT
mappingDefault value:
8000:8000
-
-t
,--image-tag-override <IMAGE_TAG_OVERRIDE>
— Optional argument to override the default docker image tag for the given network -
--protocol-version <PROTOCOL_VERSION>
— Optional argument to specify the protocol version for the local network only
stellar container stop
instead
Stop a network started with network start
. For example, if you ran stellar network start local
, you can use stellar network stop local
to stop it.
Usage: stellar network stop [OPTIONS] <NAME>
<NAME>
— Container to stop
-d
,--docker-host <DOCKER_HOST>
— Optional argument to override the default docker host. This is useful when you are using a non-standard docker host path for your Docker-compatible container runtime, e.g. Docker Desktop defaults to $HOME/.docker/run/docker.sock instead of /var/run/docker.sock
Set the default network that will be used on all commands. This allows you to skip --network
or setting a environment variable, while reusing this value in all commands that require it
Usage: stellar network use [OPTIONS] <NAME>
<NAME>
— Set the default network name
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
stellar container
instead
Commands to start, stop and get logs for a quickstart container
Usage: stellar network container <COMMAND>
logs
— Get logs from a running network containerstart
— Start a container running a Stellar node, RPC, API, and friendbot (faucet)stop
— Stop a network container started withstellar container start
Get logs from a running network container
Usage: stellar network container logs [OPTIONS] <NAME>
<NAME>
— Container to get logs from
-d
,--docker-host <DOCKER_HOST>
— Optional argument to override the default docker host. This is useful when you are using a non-standard docker host path for your Docker-compatible container runtime, e.g. Docker Desktop defaults to $HOME/.docker/run/docker.sock instead of /var/run/docker.sock
Start a container running a Stellar node, RPC, API, and friendbot (faucet).
stellar container start NETWORK [OPTIONS]
By default, when starting a testnet container, without any optional arguments, it will run the equivalent of the following docker command:
docker run --rm -p 8000:8000 --name stellar stellar/quickstart:testing --testnet --enable rpc,horizon
Usage: stellar network container start [OPTIONS] <NETWORK>
-
<NETWORK>
— Network to startPossible values:
local
,testnet
,futurenet
,pubnet
-
-d
,--docker-host <DOCKER_HOST>
— Optional argument to override the default docker host. This is useful when you are using a non-standard docker host path for your Docker-compatible container runtime, e.g. Docker Desktop defaults to $HOME/.docker/run/docker.sock instead of /var/run/docker.sock -
--name <NAME>
— Optional argument to specify the container name -
-l
,--limits <LIMITS>
— Optional argument to specify the limits for the local network only -
-p
,--ports-mapping <PORTS_MAPPING>
— Argument to specify theHOST_PORT:CONTAINER_PORT
mappingDefault value:
8000:8000
-
-t
,--image-tag-override <IMAGE_TAG_OVERRIDE>
— Optional argument to override the default docker image tag for the given network -
--protocol-version <PROTOCOL_VERSION>
— Optional argument to specify the protocol version for the local network only
Stop a network container started with stellar container start
Usage: stellar network container stop [OPTIONS] <NAME>
<NAME>
— Container to stop
-d
,--docker-host <DOCKER_HOST>
— Optional argument to override the default docker host. This is useful when you are using a non-standard docker host path for your Docker-compatible container runtime, e.g. Docker Desktop defaults to $HOME/.docker/run/docker.sock instead of /var/run/docker.sock
Start local networks in containers
Usage: stellar container <COMMAND>
logs
— Get logs from a running network containerstart
— Start a container running a Stellar node, RPC, API, and friendbot (faucet)stop
— Stop a network container started withstellar container start
Get logs from a running network container
Usage: stellar container logs [OPTIONS] <NAME>
<NAME>
— Container to get logs from
-d
,--docker-host <DOCKER_HOST>
— Optional argument to override the default docker host. This is useful when you are using a non-standard docker host path for your Docker-compatible container runtime, e.g. Docker Desktop defaults to $HOME/.docker/run/docker.sock instead of /var/run/docker.sock
Start a container running a Stellar node, RPC, API, and friendbot (faucet).
stellar container start NETWORK [OPTIONS]
By default, when starting a testnet container, without any optional arguments, it will run the equivalent of the following docker command:
docker run --rm -p 8000:8000 --name stellar stellar/quickstart:testing --testnet --enable rpc,horizon
Usage: stellar container start [OPTIONS] <NETWORK>
-
<NETWORK>
— Network to startPossible values:
local
,testnet
,futurenet
,pubnet
-
-d
,--docker-host <DOCKER_HOST>
— Optional argument to override the default docker host. This is useful when you are using a non-standard docker host path for your Docker-compatible container runtime, e.g. Docker Desktop defaults to $HOME/.docker/run/docker.sock instead of /var/run/docker.sock -
--name <NAME>
— Optional argument to specify the container name -
-l
,--limits <LIMITS>
— Optional argument to specify the limits for the local network only -
-p
,--ports-mapping <PORTS_MAPPING>
— Argument to specify theHOST_PORT:CONTAINER_PORT
mappingDefault value:
8000:8000
-
-t
,--image-tag-override <IMAGE_TAG_OVERRIDE>
— Optional argument to override the default docker image tag for the given network -
--protocol-version <PROTOCOL_VERSION>
— Optional argument to specify the protocol version for the local network only
Stop a network container started with stellar container start
Usage: stellar container stop [OPTIONS] <NAME>
<NAME>
— Container to stop
-d
,--docker-host <DOCKER_HOST>
— Optional argument to override the default docker host. This is useful when you are using a non-standard docker host path for your Docker-compatible container runtime, e.g. Docker Desktop defaults to $HOME/.docker/run/docker.sock instead of /var/run/docker.sock
Download a snapshot of a ledger from an archive
Usage: stellar snapshot <COMMAND>
create
— Create a ledger snapshot using a history archive
Create a ledger snapshot using a history archive.
Filters (address, wasm-hash) specify what ledger entries to include.
Account addresses include the account, and trustlines.
Contract addresses include the related wasm, contract data.
If a contract is a Stellar asset contract, it includes the asset issuer's account and trust lines, but does not include all the trust lines of other accounts holding the asset. To include them specify the addresses of relevant accounts.
Any invalid contract id passed as --address
will be ignored.
Usage: stellar snapshot create [OPTIONS] --output <OUTPUT>
-
--ledger <LEDGER>
— The ledger sequence number to snapshot. Defaults to latest history archived ledger -
--address <ADDRESS>
— Account or contract address/alias to include in the snapshot -
--wasm-hash <WASM_HASHES>
— WASM hashes to include in the snapshot -
--output <OUTPUT>
— Format of the out filePossible values:
json
-
--out <OUT>
— Out path that the snapshot is written toDefault value:
snapshot.json
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--archive-url <ARCHIVE_URL>
— Archive URL
Sign, Simulate, and Send transactions
Usage: stellar tx <COMMAND>
simulate
— Simulate a transaction envelope from stdinhash
— Calculate the hash of a transaction envelope from stdinsign
— Sign a transaction envelope appending the signature to the envelopesend
— Send a transaction envelope to the networknew
— Create a new transaction
Simulate a transaction envelope from stdin
Usage: stellar tx simulate [OPTIONS] --source-account <SOURCE_ACCOUNT>
--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Calculate the hash of a transaction envelope from stdin
Usage: stellar tx hash [OPTIONS]
--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config
Sign a transaction envelope appending the signature to the envelope
Usage: stellar tx sign [OPTIONS]
--sign-with-key <SIGN_WITH_KEY>
— Sign with a local key. Can be an identity (--sign-with-key alice), a secret key (--sign-with-key SC36…), or a seed phrase (--sign-with-key "kite urban…"). If using seed phrase,--hd-path
defaults to the0
path--hd-path <HD_PATH>
— If using a seed phrase to sign, sets which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
--sign-with-lab
— Sign with https://lab.stellar.org--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Send a transaction envelope to the network
Usage: stellar tx send [OPTIONS]
--rpc-url <RPC_URL>
— RPC server endpoint--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."
Create a new transaction
Usage: stellar tx new <COMMAND>
account-merge
— Transfers the XLM balance of an account to another account and removes the source account from the ledgerbump-sequence
— Bumps forward the sequence number of the source account to the given sequence number, invalidating any transaction with a smaller sequence numberchange-trust
— Creates, updates, or deletes a trustline Learn more about trustlines https://developers.stellar.org/docs/learn/fundamentals/stellar-data-structures/accounts#trustlinescreate-account
— Creates and funds a new account with the specified starting balancemanage-data
— Sets, modifies, or deletes a data entry (name/value pair) that is attached to an account Learn more about entries and subentries: https://developers.stellar.org/docs/learn/fundamentals/stellar-data-structures/accounts#subentriespayment
— Sends an amount in a specific asset to a destination accountset-options
— Set option for an account such as flags, inflation destination, signers, home domain, and master key weight Learn more about flags: https://developers.stellar.org/docs/learn/glossary#flags Learn more about the home domain: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0001.md Learn more about signers operations and key weight: https://developers.stellar.org/docs/learn/encyclopedia/security/signatures-multisig#multisigset-trustline-flags
— Allows issuing account to configure authorization and trustline flags to an asset The Asset parameter is of theTrustLineAsset
type. If you are modifying a trustline to a regular asset (i.e. one in a Code:Issuer format), this is equivalent to the Asset type. If you are modifying a trustline to a pool share, however, this is composed of the liquidity pool's unique ID. Learn more about flags: https://developers.stellar.org/docs/learn/glossary#flags
Transfers the XLM balance of an account to another account and removes the source account from the ledger
Usage: stellar tx new account-merge [OPTIONS] --source-account <SOURCE_ACCOUNT> --account <ACCOUNT>
-
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--account <ACCOUNT>
— Muxed Account to merge with, e.g.GBX...
, 'MBX...'
Bumps forward the sequence number of the source account to the given sequence number, invalidating any transaction with a smaller sequence number
Usage: stellar tx new bump-sequence [OPTIONS] --source-account <SOURCE_ACCOUNT> --bump-to <BUMP_TO>
-
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--bump-to <BUMP_TO>
— Sequence number to bump to
Creates, updates, or deletes a trustline Learn more about trustlines https://developers.stellar.org/docs/learn/fundamentals/stellar-data-structures/accounts#trustlines
Usage: stellar tx new change-trust [OPTIONS] --source-account <SOURCE_ACCOUNT> --line <LINE>
-
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--line <LINE>
-
--limit <LIMIT>
— Limit for the trust line, 0 to remove the trust lineDefault value:
18446744073709551615
Creates and funds a new account with the specified starting balance
Usage: stellar tx new create-account [OPTIONS] --source-account <SOURCE_ACCOUNT> --destination <DESTINATION>
-
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--destination <DESTINATION>
— Account Id to create, e.g.GBX...
-
--starting-balance <STARTING_BALANCE>
— Initial balance in stroops of the account, default 1 XLMDefault value:
10000000
Sets, modifies, or deletes a data entry (name/value pair) that is attached to an account Learn more about entries and subentries: https://developers.stellar.org/docs/learn/fundamentals/stellar-data-structures/accounts#subentries
Usage: stellar tx new manage-data [OPTIONS] --source-account <SOURCE_ACCOUNT> --data-name <DATA_NAME>
-
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--data-name <DATA_NAME>
— Line to change, either 4 or 12 alphanumeric characters, or "native" if not specified -
--data-value <DATA_VALUE>
— Up to 64 bytes long hex string If not present then the existing Name will be deleted. If present then this value will be set in theDataEntry
Sends an amount in a specific asset to a destination account
Usage: stellar tx new payment [OPTIONS] --source-account <SOURCE_ACCOUNT> --destination <DESTINATION> --amount <AMOUNT>
-
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--destination <DESTINATION>
— Account to send to, e.g.GBX...
-
--asset <ASSET>
— Asset to send, default native, e.i. XLMDefault value:
native
-
--amount <AMOUNT>
— Amount of the aforementioned asset to send
Set option for an account such as flags, inflation destination, signers, home domain, and master key weight Learn more about flags: https://developers.stellar.org/docs/learn/glossary#flags Learn more about the home domain: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0001.md Learn more about signers operations and key weight: https://developers.stellar.org/docs/learn/encyclopedia/security/signatures-multisig#multisig
Usage: stellar tx new set-options [OPTIONS] --source-account <SOURCE_ACCOUNT>
-
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--inflation-dest <INFLATION_DEST>
— Account of the inflation destination -
--master-weight <MASTER_WEIGHT>
— A number from 0-255 (inclusive) representing the weight of the master key. If the weight of the master key is updated to 0, it is effectively disabled -
--low-threshold <LOW_THRESHOLD>
— A number from 0-255 (inclusive) representing the threshold this account sets on all operations it performs that have a low threshold. https://developers.stellar.org/docs/learn/encyclopedia/security/signatures-multisig#multisig -
--med-threshold <MED_THRESHOLD>
— A number from 0-255 (inclusive) representing the threshold this account sets on all operations it performs that have a medium threshold. https://developers.stellar.org/docs/learn/encyclopedia/security/signatures-multisig#multisig -
--high-threshold <HIGH_THRESHOLD>
— A number from 0-255 (inclusive) representing the threshold this account sets on all operations it performs that have a high threshold. https://developers.stellar.org/docs/learn/encyclopedia/security/signatures-multisig#multisig -
--home-domain <HOME_DOMAIN>
— Sets the home domain of an account. See https://developers.stellar.org/docs/learn/encyclopedia/network-configuration/federation -
--signer <SIGNER>
— Add, update, or remove a signer from an account -
--signer-weight <SIGNER_WEIGHT>
— Signer weight is a number from 0-255 (inclusive). The signer is deleted if the weight is 0 -
--set-required
— When enabled, an issuer must approve an account before that account can hold its asset. https://developers.stellar.org/docs/tokens/control-asset-access#authorization-required-0x1 -
--set-revocable
— When enabled, an issuer can revoke an existing trustline’s authorization, thereby freezing the asset held by an account. https://developers.stellar.org/docs/tokens/control-asset-access#authorization-revocable-0x2 -
--set-clawback-enabled
— Enables the issuing account to take back (burning) all of the asset. https://developers.stellar.org/docs/tokens/control-asset-access#clawback-enabled-0x8 -
--set-immutable
— With this setting, none of the other authorization flags (AUTH_REQUIRED_FLAG
,AUTH_REVOCABLE_FLAG
) can be set, and the issuing account can’t be merged. https://developers.stellar.org/docs/tokens/control-asset-access#authorization-immutable-0x4 -
--clear-required
-
--clear-revocable
-
--clear-immutable
-
--clear-clawback-enabled
Allows issuing account to configure authorization and trustline flags to an asset The Asset parameter is of the TrustLineAsset
type. If you are modifying a trustline to a regular asset (i.e. one in a Code:Issuer format), this is equivalent to the Asset type. If you are modifying a trustline to a pool share, however, this is composed of the liquidity pool's unique ID. Learn more about flags: https://developers.stellar.org/docs/learn/glossary#flags
Usage: stellar tx new set-trustline-flags [OPTIONS] --source-account <SOURCE_ACCOUNT> --trustor <TRUSTOR> --asset <ASSET>
-
--fee <FEE>
— fee amount for transaction, in stroops. 1 stroop = 0.0000001 xlmDefault value:
100
-
--cost
— Output the cost execution to stderr -
--instructions <INSTRUCTIONS>
— Number of instructions to simulate -
--build-only
— Build the transaction and only write the base64 xdr to stdout -
--sim-only
— (Deprecated) simulate the transaction and only write the base64 xdr to stdout -
--rpc-url <RPC_URL>
— RPC server endpoint -
--rpc-header <RPC_HEADERS>
— RPC Header(s) to include in requests to the RPC provider -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config -
--source-account <SOURCE_ACCOUNT>
— Account that where transaction originates from. Aliassource
. Can be an identity (--source alice), a public key (--source GDKW...), a muxed account (--source MDA…), a secret key (--source SC36…), or a seed phrase (--source "kite urban…"). If--build-only
or--sim-only
flags were NOT provided, this key will also be used to sign the final transaction. In that case, trying to sign with public key will fail -
--hd-path <HD_PATH>
— If using a seed phrase, which hierarchical deterministic path to use, e.g.m/44'/148'/{hd_path}
. Example:--hd-path 1
. Default:0
-
--global
— Use global config -
--config-dir <CONFIG_DIR>
— Location of config directory, default is "." -
--trustor <TRUSTOR>
— Account to set trustline flags for -
--asset <ASSET>
— Asset to set trustline flags for -
--set-authorize
— Signifies complete authorization allowing an account to transact freely with the asset to make and receive payments and place orders -
--set-authorize-to-maintain-liabilities
— Denotes limited authorization that allows an account to maintain current orders but not to otherwise transact with the asset -
--set-trustline-clawback-enabled
— Enables the issuing account to take back (burning) all of the asset. See our section on Clawbacks: https://developers.stellar.org/docs/learn/encyclopedia/transactions-specialized/clawbacks -
--clear-authorize
-
--clear-authorize-to-maintain-liabilities
-
--clear-trustline-clawback-enabled
Decode and encode XDR
Usage: stellar xdr [CHANNEL] <COMMAND>
types
— View information about typesguess
— Guess the XDR typedecode
— Decode XDRencode
— Encode XDRcompare
— Compare two XDR values with each otherversion
— Print version information
-
<CHANNEL>
— Channel of XDR to operate onDefault value:
+curr
Possible values:
+curr
,+next
View information about types
Usage: stellar xdr types <COMMAND>
list
—schema
—
Usage: stellar xdr types list [OPTIONS]
-
--output <OUTPUT>
Default value:
plain
Possible values:
plain
,json
,json-formatted
Usage: stellar xdr types schema [OPTIONS] --type <TYPE>
-
--type <TYPE>
— XDR type to decode -
--output <OUTPUT>
Default value:
json-schema-draft201909
Possible values:
json-schema-draft7
,json-schema-draft201909
Guess the XDR type
Usage: stellar xdr guess [OPTIONS] [FILE]
<FILE>
— File to decode, or stdin if omitted
-
--input <INPUT>
Default value:
single-base64
Possible values:
single
,single-base64
,stream
,stream-base64
,stream-framed
-
--output <OUTPUT>
Default value:
list
Possible values:
list
-
--certainty <CERTAINTY>
— Certainty as an arbitrary valueDefault value:
2
Decode XDR
Usage: stellar xdr decode [OPTIONS] --type <TYPE> [FILES]...
<FILES>
— Files to decode, or stdin if omitted
-
--type <TYPE>
— XDR type to decode -
--input <INPUT>
Default value:
stream-base64
Possible values:
single
,single-base64
,stream
,stream-base64
,stream-framed
-
--output <OUTPUT>
Default value:
json
Possible values:
json
,json-formatted
,rust-debug
,rust-debug-formatted
Encode XDR
Usage: stellar xdr encode [OPTIONS] --type <TYPE> [FILES]...
<FILES>
— Files to encode, or stdin if omitted
-
--type <TYPE>
— XDR type to encode -
--input <INPUT>
Default value:
json
Possible values:
json
-
--output <OUTPUT>
Default value:
single-base64
Possible values:
single
,single-base64
,stream
Compare two XDR values with each other
Outputs: -1
when the left XDR value is less than the right XDR value, 0
when the left XDR value is equal to the right XDR value, 1
when the left XDR value is greater than the right XDR value
Usage: stellar xdr compare [OPTIONS] --type <TYPE> <LEFT> <RIGHT>
<LEFT>
— XDR file to decode and compare with the right value<RIGHT>
— XDR file to decode and compare with the left value
-
--type <TYPE>
— XDR type of both inputs -
--input <INPUT>
Default value:
single-base64
Possible values:
single
,single-base64
Print version information
Usage: stellar xdr version
Print shell completion code for the specified shell
Ensure the completion package for your shell is installed, e.g. bash-completion for bash.
To enable autocomplete in the current bash shell, run: source <(stellar completion --shell bash)
To enable autocomplete permanently, run: echo "source <(stellar completion --shell bash)" >> ~/.bashrc
Usage: stellar completion --shell <SHELL>
-
--shell <SHELL>
— The shell typePossible values:
bash
,elvish
,fish
,powershell
,zsh
Cache for transactions and contract specs
Usage: stellar cache <COMMAND>
clean
— Delete the cachepath
— Show the location of the cacheactionlog
— Access details about cached actions like transactions, and simulations. (Experimental. May see breaking changes at any time.)
Delete the cache
Usage: stellar cache clean
Show the location of the cache
Usage: stellar cache path
Access details about cached actions like transactions, and simulations. (Experimental. May see breaking changes at any time.)
Usage: stellar cache actionlog <COMMAND>
ls
— List cached actions (transactions, simulations)read
— Read cached action
List cached actions (transactions, simulations)
Usage: stellar cache actionlog ls [OPTIONS]
--global
— Use global config--config-dir <CONFIG_DIR>
— Location of config directory, default is "."-l
,--long
Read cached action
Usage: stellar cache actionlog read --id <ID>
--id <ID>
— ID of the cache entry
Print version information
Usage: stellar version