# tx
subcommands
# bank send
Sends coins from one account to another account.
Syntax
palomad tx bank send \
<from-key-or-address> \
<to-address> \
<coins> \
--<chain-id> \
where
<from-key-or-address>
is either the key name or the address. If the--generate-only
flag is used, only addresses are accepted.to-address
is an account address.<coins>
is a comma-separated list of coins specified as<amount><coin-denominator>
. For example,1000usdr
or1000uGRAIN,1000usdr
.
Example
palomad tx bank send \
paloma15h6vd5f0wqps26zjlwrc6chah08ryu4hzzdwhc \
paloma14h2od5f3vahd28uywwvt8sqbi52upnzagshtrm \
8600000ugrain \
--paloma-testnet-16 \
# distribution fund-community-pool
Funds the community pool with the specified amount.
Syntax
palomad tx distribution fund-community-pool <amount>
Example palomad tx distribution fund-community-pool 100uGRAIN
# distribution set-withdraw-addr
Changes the default withdrawal address for rewards associated with an address.
Syntax
palomad tx distribution set-withdraw-addr <withdrawal-address>
Example
palomad tx distribution set-withdraw-addr paloma13a8ddv3h7kbcn73akcbpe7ueks22vaolewpaxmb
# distribution withdraw-all-rewards
Withdraws all rewards.
Syntax
palomad tx distribution withdraw-all-rewards
# distribution withdraw-rewards
Withdraws your rewards against a validator.
Syntax
palomad tx distribution withdraw-rewards <validator-address>
Example
palomad tx distribution withdraw-rewards paloma19t4gde4f8ndwx67qhbnur9yqdc31xznpksajbcy
# evm remove-smart-contract-deployment
Removes a smart contract deployment that is stuck. When a pending smart contract deployment is removed, a new deployment attempt will be triggered.
Syntax
palomad tx evm remove-smart-contract-deployment <smart contract id> <chain reference id>
Example
palomad tx evm remove-smart-contract-deployment 4 eth-main
# feegrant grant
Grants a fee allowance to an address. Note that the --from
flag is ignored as it is implied by the granter
Syntax
palomad tx feegrant grant <granter_key_or_address> <grantee>
# feegrant prune
Prunes up to 75 expired allowances in order to reduce the size of the store when the number of expired allowances is large.
Syntax
palomad tx feegrant prune
# feegrant revoke
Revoke a fee grant from a granter to a grantee. Note, the '--from' flag is ignored as it is implied from the granter
.
Syntax
palomad tx feegrant revoke <granter_key_or_address> <grantee>
# gov cancel-proposal
Cancels governance proposal before the voting period ends. Must be signed by the proposal creator.
Syntax
palomad tx gov cancel-proposal <proposal-id>
# gov deposit
For a proposal to be sent to the network, the amount deposited must be above a minimum amount specified by minDeposit
(initial value is 50000000uGRAIN
). If the proposal you previously created didn't meet this requirement, you can still increase the total amount deposited to activate it. After the minimum deposit is reached, the voting period for the proposal begins.
Syntax
palomad tx gov deposit <proposal-id> "<deposit-amount>" \
--from=<name> \
--chain-id=<chain-id>
Example
palomad tx gov deposit 15 "10000000ugrain" \
--from=paloma13a8ddv3h7kbcn73akcbpe7ueks22vaolewpaxmb \
--chain-id=paloma-testnet-16
DANGER
Proposals that don't meet this requirement are deleted after MaxDepositPeriod
is reached.
# gov submit-legacy-proposal
Submits proposals and deposits. To create a governance proposal, you must submit an initial deposit along with a title and description of your proposal. Alternatively, you can provide the proposal directly through the --proposal
flag, which points to a JSON file containing the proposal.
# Text proposals
Syntax
palomad tx gov submit-legacy-proposal \
--title=<title> \
--description=<description> \
--type="Text" \
--deposit="<amount>" \
--from=<name-or-address> \
--chain-id=<chain-id>
Example
palomad tx gov submit-legacy-proposal \
--title=Funding for NFT platform \
--description=Information about the NFT platform \
--type="Text" \
--deposit="100000ugrain" \
--from=paloma13a8ddv3h7kbcn73akcbpe7ueks22vaolewpaxmb \
--chain-id=paloma-testnet-16
# Parameter-change proposals
When you submit a proposal to change a parameter, it is recommended that you send the proposal as a JSON file.
Syntax
palomad tx gov submit-legacy-proposal \
param-change <path/to/proposal.json> \
--from=<name> \
--chain-id=<chain_id>
Example
palomad tx gov submit-legacy-proposal \
param-change /proposals/proposal.json \
--from=paloma13a8ddv3h7kbcn73akcbpe7ueks22vaolewpaxmb \
--chain-id=paloma-testnet-16
where proposal.json
contains the following information:
{
"title": "Param Change",
"description": "Update max validators",
"changes": [
{
"subspace": "staking",
"key": "MaxValidators",
"value": 105
}
],
"deposit": [
{
"denom": "ugrain",
"amount": "10000000"
}
]
}
DANGER
Because parameter changes are evaluated but not validated, ensure that new value you propose is valid for its parameter. For example, the proposed value for MaxValidators
must be an integer, not a decimal.
# Community pool spend proposal
When you submit a community pool spend proposal, it is recommended that you send the proposal as a JSON file.
Syntax
palomad tx gov submit-legacy-proposal \
community-pool-spend <path/to/proposal.json> \
--from=<name> \
--chain-id=<chain_id>
Example
palomad tx gov submit-legacy-proposal \
community-pool-spend /proposals/proposal.json \
--from=paloma13a8ddv3h7kbcn73akcbpe7ueks22vaolewpaxmb \
--chain-id=paloma-testnet-16
where proposal.json
contains the following information:
{
"title": "Community Pool Spend",
"description": "Pay me some GRAINs!",
"recipient": "paloma1s5afhd6gxevu37mkqcvvsj8qeylhn0rzn7cdaq",
"amount": [
{
"denom": "ugrain",
"amount": "10000"
}
],
"deposit": [
{
"denom": "ugrain",
"amount": "10000"
}
]
}
# gov submit-legacy-proposal evm change-min-on-chain-balance
Syntax
palomad tx gov submit-legacy-proposal evm change-min-on-chain-balance <chain-reference-id> <balance>
Example
palomad tx gov submit-legacy-proposal evm change-min-on-chain-balance eth-main 50000000
# gov submit-legacy-proposal evm propose-chain-removal
Proposal to remove an existing EVM chain from Paloma.
Syntax
palomad tx gov submit-legacy-proposal evm propose-chain-removal <chain-reference-id>
# gov submit-legacy-proposal evm propose-new-chain
Proposal to add a new EVM chain.
Syntax
palomad tx gov submit-legacy-proposal evm propose-new-chain <chain-reference-id> <chain-id> <min-on-chain-balance> <block-height> <block-hash-at-height>
Example
palomad tx gov submit-legacy-proposal evm propose-new-chain blast-main 81457 5000000 251462 0xf5ce8b11e5ff01cbb989748c77cbf71378ab23df5fa6e2fe7657b8f024de76f1
# gov submit-legacy-proposal evm propose-new-smart-contract
Proposal to deploy a new compass contract to all deployed target chains.
Syntax
palomad tx gov submit-legacy-proposal evm propose-new-smart-contract '[JSON ABI BLOB]' [HEX BLOB]
# gov submit-legacy-proposal evm propose-relay-weights
Changes the relay weights for a given EVM chain referenced by the chain-reference-id.
Syntax
palomad tx gov submit-legacy-proposal evm propose-relay-weights <chain-reference-id> <weights>
Example
palomad tx gov submit-legacy-proposal evm propose-relay-weights eth-main {"fee": "0.50", "uptime": "0.75", "successRate": "0.90", "executionTime": "0.20", "featureSet": "0.95"}
# gov submit-legacy-proposal evm set-fee-manager-address
Changes the fee manager contract address for a given EVM chain referenced by the chain-reference-id
Syntax
palomad tx gov submit-legacy-proposal evm set-fee-manager-address <chain-reference-id> <fee manager contract address>
Example
palomad tx gov submit-legacy-proposal evm set-fee-manager-address arbitrum-main \
0xd865124b3d9C67acDFB830bEa4f3070a4123Ed34
# gov submit-legacy-proposal paloma propose-light-node-client-feegranter
Proposal to set new feegranter account for light node clients.
Syntax
palomad tx gov submit-legacy-proposal paloma propose-light-node-client-feegranter <account>
# gov submit-legacy-proposal paloma propose-light-node-client-funders
Proposal to set new funder accounts for light node clients.
Syntax
palomad tx gov submit-legacy-proposal paloma propose-light-node-client-funders --funder-accounts <account>
# gov submit-legacy-proposal skyway set-bridge-transfer-limit
Proposal to set the skyway Brige transfer limit for the specified token denom.
limit-period
must be one of: NONE, DAILY, WEEKLY, MONTHLY, YEARLY. Setting it to NONE effectively disables the limit.
limit-period
will be converted to a block window. At most, limit
tokens can be transferred within each block window. After that transfers will fail.
Syntax
palomad tx gov submit-legacy-proposal skyway set-bridge-transfer-limit <token-denom> <limit> <limit-period>
Example
set-bridge-transfer-limit ugrain 1000000 DAILY
# gov submit-legacy-proposal skyway set-bridge-tax
Proposal to set the skyway brige tax for a specific token denom. Each outgoing transfer from Paloma will pay a tax. Tax amount is calculated using tax-rate
, which must be non-negative. The tax rate is defined as ratio not as percentage. E.g. for a 20% tax it is defined as 0.2 in the proposal.
Syntax
palomad tx gov submit-legacy-proposal skyway set-bridge-tax <token-denom> <tax-rate>
Example
palomad tx gov submit-legacy-proposal skyway set-bridge-tax ugrain 0.2
# gov submit-legacy-proposal skyway set-erc20-to-denom
Proposal to set an association between a denom and a deployed ERC-20 token for a given chain
Syntax
palomad tx gov submit-legacy-proposal skyway set-erc20-to-denom <chain-reference-id> <token-denom> <erc20 address>
Example
palomad tx gov submit-legacy-proposal skyway set-erc20-to-denom "arbitrum-main" \
"ugrain" \
"0xea45aa071f12518853cFB9f340bB0b209a7931e3" \
--title "Set Gnosis ERC20 to uGRAIN Denom" \
--summary "Set ERC20 deployed on Gnosis to uGRAIN Denom" \
--deposit 10000000ugrain
# gov submit-legacy-proposal treasury propose-community-fund-fee
Proposal to change the community fund fee. The fee is denoted as a fraction - e.g. 0.1 for 10%.
Syntax
palomad tx gov submit-legacy-proposal treasury propose-community-fund-fee <fee>
# gov submit-legacy-proposal treasury propose-security-fee
Proposal to change the security fee. The fee is denoted as a fraction - e.g. 0.1 for 10%.
Syntax
palomad tx gov submit-legacy-proposal treasury propose-security-fee <fee>
# gov vote
After a proposal's deposit reaches the MinDeposit
value, the voting period begins, and bonded GRAIN holders can vote.
Syntax
palomad tx gov vote \
<proposal-id> <vote-type> \
--from=<name> \
--chain-id=<chain_id>
Example
palomad tx gov vote \
7 yes \
--from=paloma13a8ddv3h7kbcn73akcbpe7ueks22vaolewpaxmb \
--chain-id=paloma-testnet-16
# skyway cancel-tx
Removes an entry from the transaction pool, preventing your tokens from going to the target chain and refunding the send.
Syntax
palomad tx skyway cancel-tx <transaction id>
# skyway send-tx
Adds a new entry to the transaction pool to withdraw an amount from the EVM bridge contract. This will not execute until a batch is requested and then actually relayed. Your funds can be reclaimed using cancel-tx so long as they remain in the pool
Syntax
palomad tx skyway send-tx \
<destination address> <amount> <chain-reference-id>
Example
palomad tx skyway send-tx \
0xd80fc91e72505e61bf07f189190b087651713000 \
10000000ugrain \
"arbitrum-main"
# scheduler create-job
Creates a new job
Syntax
palomad tx scheduler create-job --job-id <job-id> --chain-type <chain-type> --chain-ref-id <chain-reference-id> --definition <path to definition json> --payload <path to payload json> --payload-modifiable <boolean>
Example
palomad tx scheduler create-job \
--job-id example-job \
--chain-type evm \
--chain-ref-id gnosis-main \
--definition home/definition.json \
--payload home/payload.json \
--payload-modifiable=true
# scheduler execute-job
Executes an existing job given a job id and and an optional payload file. Payload format must match the job's payload format. E.g. you can't put payload in the CosmWasm type while the job is for the EVM chain. If the job doesn't support payload modification, the transaction will fail. If the message creator is not allowed to execute the job, the transaction will fail.
Syntax
palomad tx scheduler execute-job <job-id> --payload <payload.json>
# slashing unjail
Releases a jailed validator.
Syntax
palomad tx slashing unjail
Example
palomad tx slashing unjail
# staking create-validator
Creates a new validator that is initialized with a self-delegation.
Syntax
palomad tx staking create-validator \
--amount=<ugrain-amount> \
--pubkey=$(palomad tendermint show-validator) \
--moniker="<moniker>" \
--website="<validator-website>" \
--identity="<keybase-identity>" \
--details="<validator-optional-details" \
--commission-rate="<commission-rate>" \
--commission-max-rate="<commission-max-rate>" \
--commission-max-change-rate="<commission-max-change-rate>" \
--min-self-delegation="<self-delegation-amount>"
--chain-id=<chain-ID> \
--from=<key-name> \
# staking delegate
Delegates an amount of liquid coins from your wallet to a validator.
Syntax
palomad tx staking delegate <validator-address> <amount>
Example
palomad tx staking delegate Palomavaloper1l2rsakp388kuv9k8qzq6lrm9taddae7fpx59wm 2500stake
# staking edit-validator
Edits an existing validator account.
Syntax
palomad tx staking edit-validator \
--moniker="<moniker>" \
--details="<validator-optional-details>" \
--commission-rate="commission-rate>" \
--min-self-delegation="<minimum-self-delegation-amount" \
# staking redelegate
Redelegates an amount of illiquid staking tokens from one validator to a different validator.
Syntax
palomad tx staking redelegate <from-validator-address> <to-validator-address> <amount>
Example
palomad tx staking redelegate Palomavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj Palomavaloper1l2rsakp388kuv9k8qzq6lrm9taddae7fpx59wm 350stake
# staking unbond
Unbonds an amount of bonded shares from a validator.
Syntax
palomad tx staking unbond <validator-address> <stake-amount>
Example
palomad tx staking unbond Palomavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj 600stake
# treasury upsert-relayer-fee
Sets the relayer fee for the message relayer to the given multiplicator value for a specific chain. The multiplicator determines the total fee a relayer may claim based on the total cost of a relayed transaction. In order to aim for an even reimbursement, the multiplicator value must be 1. To make a profit, the multiplicator value must be higher than 1.
Example: Using a fee multiplicator value of 1.1 entitles the relayer to a claimable reimbursement of 11COIN for a transaction relayed totalling in 10COIN of gas.
Syntax
palomad tx treasury upsert-relayer-fee <chain-reference-id> <fee-multiplicator>
Example
palomad tx treasury upsert-relayer-fee eth-main 1.05
# upgrade software-upgrade
Proposal for a software upgrade. The upgrade height should be chosen to be be hit after the proposal has passed. If the upgrade height is reached before the voting end time of the proposal, the proposal will fail.
Syntax
palomad tx upgrade software-upgrade <name> \
--title=<title> \
--description=<description> \
--upgrade-height=<block-height> \
--upgrade-info=<binary-details> \
--type="Text" \
--deposit="<amount>" \
--from=<name-or-address> \
--chain-id=<chain_id>
Example
palomad tx upgrade software-upgrade v1.12.1 \
--title="Upgrade to v1.12.1" \
--description="let's upgrade to v1.12.1" \
--upgrade-height=200043 \
--upgrade-info='{"binaries":{"linux/amd64":"https://github.com/palomachain/paloma/releases/download/v1.12.1/paloma_Linux_x86_64.tar.gz"}}' \
--type="Text" \
--deposit="10000000ugrain" \
--from=paloma13a8ddv3h7kbcn73akcbpe7ueks22vaolewpaxmb \
--chain-id=paloma-testnet-16
# wasm clear-admin
Removes the contract admin so that the contract cannot be migrated.
Syntax
palomad tx wasm clear-admin <contract-address>
# wasm execute
Invokes processing functions on the smart contract.
Syntax
palomad tx wasm execute <contract-address> <handle-msg> <coins>
Where <handle-msg>
is a raw JSON string containing the HandleMsg
that is parsed and routed to the correct message handling logic in the contract, and <coins>
is the optional amount of coins specified in a comma-separated list that you want to send with your message, in case the logic requires some fees.
# wasm instantiate
Creates a new contract by referencing the code ID of a contract that has been uploaded.
Syntax
palomad tx wasm instantiate <code-id> <init-msg> <coins>
where <init-msg>
is a JSON string containing the InitMsg
to initialize your contract's state, and <coins>
is the optional amount of coins specified in a comma-separated list that you want to send to the new contract account.
Example
palomad tx wasm instantiate 1 '{"arbiter": "Paloma~~"}' "1000000uGRAIN"
# wasm migrate
Updates the code ID of the contract to migrate to a new code ID. This command can be issued only from the key corresponding to the contract's owner.
Syntax
palomad tx wasm migrate <contract-address> <new-code-id> <migrate-msg>
Example
palomad tx wasm migrate Paloma... 10 '{"verifier": "Paloma..."}'
# wasm store
Uploads a new WASM binary or migrates to existing binary to the paloma-testnet-16 release.
Syntax for a new WASM binary
palomad tx wasm store <path-to-wasm-file>
where <path-to-wasm-file>
is the path of a file that is the compiled binary of the smart contract code that you want to upload.
# wasm update-admin
Updates a contract owner to a new address. This command can be issued only from the key corresponding to the contract's owner.
Syntax
palomad tx wasm update-admin <contract-address> <new-owner>