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 eventskeys
— Create and manage identities including keys and addressesnetwork
— Start and configure networkstx
— 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 idbindings
— 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 assetinit
— Initialize a Soroban project with an example contractinspect
— 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> --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--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 signs the final transaction. Aliassource
. Can be an identity (--source alice), a secret key (--source SC36…), or a seed phrase (--source "kite urban…")--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 "."
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 -
--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 signs the final transaction. Aliassource
. Can be an identity (--source alice), a secret key (--source SC36…), or a seed phrase (--source "kite urban…") -
--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
— Simulate the transaction and only write the base64 xdr to stdout
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--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
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 -
--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 signs the final transaction. Aliassource
. Can be an identity (--source alice), a secret key (--source SC36…), or a seed phrase (--source "kite urban…") -
--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
— 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>>
-
--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 -
--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 signs the final transaction. Aliassource
. Can be an identity (--source alice), a secret key (--source SC36…), or a seed phrase (--source "kite urban…") -
--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
— 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--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> --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--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 signs the final transaction. Aliassource
. Can be an identity (--source alice), a secret key (--source SC36…), or a seed phrase (--source "kite urban…")--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 "."
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--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 signs the final transaction. Aliassource
. Can be an identity (--source alice), a secret key (--source SC36…), or a seed phrase (--source "kite urban…")--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 "."
Initialize a Soroban project with an example contract
Usage: stellar contract init [OPTIONS] <PROJECT_PATH>
<PROJECT_PATH>
-
-w
,--with-example <WITH_EXAMPLE>
— An optional flag to specify Soroban example contracts to include. A hello-world contract will be included by default.Possible values:
account
,alloc
,atomic_multiswap
,atomic_swap
,auth
,cross_contract
,custom_types
,deep_contract_auth
,deployer
,errors
,eth_abi
,events
,fuzzing
,increment
,liquidity_pool
,logging
,mint-lock
,simple_account
,single_offer
,timelock
,token
,ttl
,upgradeable_contract
,workspace
-
-f
,--frontend-template <FRONTEND_TEMPLATE>
— An optional flag to pass in a url for a frontend template repository.Default value: ``
-
--overwrite
— Overwrite all existing files.
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 -
--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 signs the final transaction. Aliassource
. Can be an identity (--source alice), a secret key (--source SC36…), or a seed phrase (--source "kite urban…") -
--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
— 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 -
--rpc-url <RPC_URL>
— RPC server endpoint -
--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 signs the final transaction. Aliassource
. Can be an identity (--source alice), a secret key (--source SC36…), or a seed phrase (--source "kite urban…") -
--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
— Simulate the transaction and only write the base64 xdr to stdout
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] --source-account <SOURCE_ACCOUNT>
-
--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 -
--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 signs the final transaction. Aliassource
. Can be an identity (--source alice), a secret key (--source SC36…), or a seed phrase (--source "kite urban…") -
--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 "."
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 -
--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 signs the final transaction. Aliassource
. Can be an identity (--source alice), a secret key (--source SC36…), or a seed phrase (--source "kite urban…") -
--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
— 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 -
--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server -
--network <NETWORK>
— Name of network to use from config
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 key
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--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--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 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 "."
Start and configure networks
Usage: stellar network <COMMAND>
add
— Add a new networkrm
— Remove a networkls
— List networksstart
—⚠️ Deprecated: usestellar container start
insteadstop
—⚠️ Deprecated: usestellar container stop
insteadcontainer
— Commands to start, stop and get logs for a quickstart container
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--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 -
-v
,--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
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 withnetwork 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 network 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 -
-v
,--protocol-version <PROTOCOL_VERSION>
— Optional argument to specify the protocol version for the local network only
Stop a network container started with network 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
Sign, Simulate, and Send transactions
Usage: stellar tx <COMMAND>
simulate
— Simulate a transaction envelope from stdinhash
— Calculate the hash of a transaction envelope from stdin
Simulate a transaction envelope from stdin
Usage: stellar tx simulate [OPTIONS] --source-account <SOURCE_ACCOUNT>
--rpc-url <RPC_URL>
— RPC server endpoint--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 signs the final transaction. Aliassource
. Can be an identity (--source alice), a secret key (--source SC36…), or a seed phrase (--source "kite urban…")--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--network-passphrase <NETWORK_PASSPHRASE>
— Network passphrase to sign the transaction sent to the rpc server--network <NETWORK>
— Name of network to use from config
Decode and encode XDR
Usage: stellar xdr [CHANNEL] <COMMAND>
types
— View information about typesguess
— Guess the XDR typedecode
— Decode XDRencode
— Encode XDRversion
— 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
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