Post
Share your knowledge.

Sui CLI Cheat Sheet part 2
Gas and Faucet with Sui CLI
When you’re developing your apps, ideally, you’ll start out on devnet, then testnet before deploying to mainnet.
Devnet and Testnet gas are free to acquire. But mainnet? nah.
You can easily request gas on devnet with the client faucet
command:
sui client faucet
For testnet, you’ll need to execute this cURL command to request gas:
curl --location --request POST 'https://faucet.devnet.sui.io/v1/gas' \
--header 'Content-Type: application/json' \
--data-raw '{
"FixedAmountRequest": {
"recipient": "<YOUR SUI ADDRESS>"
}
}'
You can also visit the official Sui faucet website to claim some Devnet and Testnet tokens.
Use the client gas command to check the client’s available gas tokens on the current environment.
sui client gas
For mainnet transactions, you’ll need to acquire Sui from exchanges and fund your wallet.
Publishing Packages
You can publish packages on to the Sui network with the client publish command.
sui client publish [OPTIONS] [package_path]
Here’s an example command for publishing a package with 5000000 MIST gas budget.
sui client publish --gas-budget 5000000
The gas budget isn’t fixed, you most likely want to check onchain for a suitable gas amount and pay it forward.
Coin Management with Sui CLI
When you’re working with SUI coins, You’ll probably need to merge and split them often—especially when youjuggling gas or sending different amounts to various contracts or users.
If you’ve have two coins lying around, and you want to consolidate them, use the merge-coin command like this:
sui client merge-coin --primary-coin <COIN_ID> --coin-to-merge <COIN_ID>
The primary-coin is the one you’ll keep, and the coin-to-merge is the one that gets absorbed.
Need to split a coin instead? Maybe you want to pay out to multiple recipients or just need different denominations. You can slice a coin up using split-coin like this:
sui client split-coin --coin-id <COIN_ID> --amounts <AMOUNTS>
If you need to send out coins, you’ll use the client transfer-sui command like this:
sui client transfer-sui --sui-coin-object-id <COIN_ID> --to <ADDRESS>
It’s a simple handoff—you give it the coin ID and the recipient’s address, and it moves the funds.
Sui has programmable transactions so you can send to multiple recipients at once with the pay-sui command:
sui client pay-sui --input-coins <COIN_ID> --recipients <ADDRESS> --amounts <AMOUNTS>
You’ll pass a coin (or a list of coins), and then specify the recipients and how much each should get. It’s perfect for batch payments or distributing tokens in bulk.
Object Management with Sui CLI
Sui is all about objects. Contracts, tokens, and even your coins—they're all objects.
To get detailed info on any object, just call:
sui client object <OBJECT_ID>
This will spit out all the metadata, owner info, and anything else the object is carrying.
If your object has dynamic fields (like a registry or a growing data structure), you can dig into those too:
sui client dynamic-field <DYNAMIC_FIELD_ID>
This is very handy feature you might use often during development.
Programmable Transaction Blocks (PTBs)
Sui is one of the few chains with native PTBs. Programmable Transaction Blocks let you bundle multiple operations into a single transaction—kinda like a mini-script that executes on-chain.
Say you need to call a Move function directly from your CLI. You’ll do that like this:
sui client ptb --move-call <PACKAGE>::<MODULE>::<FUNCTION> "<TYPE>" <ARGS>
Replace the package address, module name, and function you’re targeting. Then drop in the type and arguments as needed.
And if you want to transfer multiple objects to another wallet in one go, you can use PTBs as well:
sui client ptb --transfer-objects "[<OBJECT_ID>]" <ADDRESS>
Wrap the object IDs in brackets if you’re sending more than one, and finish it off with the recipient’s address.
Conclusion
Hopefully, this article suffices for introducting you to the Sui CLI tool. It’s more than a client, there’s a lot you can do with this tool.
If you ever need a quick refresher or you’re trying out a new command, make the Sui CLI Cheat Sheet your best friend. And when in doubt, the Sui Client CLI Docs have the full breakdown.
- Sui
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.

- ... SUIMeaning.Sui+22
- ... SUI0xduckmove+17
- ... SUIfomo on Sui+16
- ... SUIMoonBags+11
- ... SUIHaGiang+10
- ... SUI
- ... SUI
- Why does BCS require exact field order for deserialization when Move structs have named fields?53
- Multiple Source Verification Errors" in Sui Move Module Publications - Automated Error Resolution43
- Sui Transaction Failing: Objects Reserved for Another Transaction25
- How do ability constraints interact with dynamic fields in heterogeneous collections?05