@epoch-sui/cli
v0.1.0
Published
Epoch vesting CLI — deploy and manage vesting vaults on SUI from the terminal
Maintainers
Readme
Epoch CLI
Command-line tool to deploy and inspect vesting vaults on SUI via Epoch.
Installation
npm install -g @epoch-sui/cliOr run locally from this folder:
npm install
npm run build
node dist/index.js --helpSetup
Export your SUI private key (bech32 format, starts with suiprivkey):
export SUI_PRIVATE_KEY=suiprivkey...To find your private key: open your SUI wallet → Settings → Export Private Key.
Check which wallet address is loaded:
epoch walletCommands
epoch info <vaultId>
Display vault details without needing a private key.
epoch info 0xVAULT_ID
epoch info 0xVAULT_ID --network testnetOutput example:
Vault 0x2de31ef0… Multi Cliff
Token 0x3087d2::ept::EPT
Total locked 1.0000B
Creator 0x4ac248…
Beneficiaries 3 wallets
Claimed 333.3000M (33.33%)
Cliff May 6, 2026, 3:32 PM (100%)
Explorer https://suivision.xyz/object/0xVAULT_ID
Epoch https://epochsui.com/vault/0xVAULT_IDepoch create — Single beneficiary vault
Linear — gradual unlock from start to end
epoch create \
--token 0x2::sui::SUI \
--amount 1000 \
--beneficiary 0xABC... \
--start 2026-01-01 \
--end 2027-01-01Cliff — 100% unlocks at a single date
epoch create \
--token 0xPKG::module::TOKEN \
--amount 500000 \
--beneficiary 0xABC... \
--cliff-date 2027-06-01 \
--cliff-pct 100Hybrid — percentage at cliff, then linear until end
epoch create \
--token 0xPKG::module::TOKEN \
--amount 1000000 \
--beneficiary 0xABC... \
--cliff-date 2026-06-01 \
--cliff-pct 30 \
--start 2026-06-01 \
--end 2027-06-0130% unlocks on June 1 2026, then the remaining 70% unlocks linearly until June 1 2027.
All options:
| Option | Required | Description |
|---|---|---|
| --token <type> | ✅ | Coin type (e.g. 0x2::sui::SUI) |
| --amount <n> | ✅ | Amount in token units (e.g. 1000) |
| --beneficiary <addr> | ✅ | Recipient SUI address |
| --end <date> | ✅ | Vesting end date (ISO format) |
| --cliff-date <date> | — | Cliff unlock date |
| --cliff-pct <0-100> | — | % unlocked at cliff (default: 0) |
| --start <date> | — | Linear start date (default: cliff date) |
| --network <net> | — | mainnet or testnet (default: mainnet) |
epoch create-multi — Multi-beneficiary vault
All beneficiaries share the same vesting schedule. Percentages must sum to 100.
Linear
epoch create-multi \
--token 0xPKG::module::TOKEN \
--amount 1000000 \
--beneficiaries '[{"address":"0xABC","pct":50},{"address":"0xDEF","pct":50}]' \
--start 2026-01-01 \
--end 2027-01-01Cliff
epoch create-multi \
--token 0xPKG::module::TOKEN \
--amount 1000000 \
--beneficiaries '[{"address":"0xABC","pct":50},{"address":"0xDEF","pct":30},{"address":"0xGHI","pct":20}]' \
--cliff-date 2027-06-01 \
--cliff-pct 100Hybrid — percentage at cliff, then linear
epoch create-multi \
--token 0xPKG::module::TOKEN \
--amount 1000000 \
--beneficiaries '[{"address":"0xABC","pct":50},{"address":"0xDEF","pct":30},{"address":"0xGHI","pct":20}]' \
--cliff-date 2026-06-01 \
--cliff-pct 25 \
--start 2026-06-01 \
--end 2027-06-0125% unlocks for all beneficiaries on June 1 2026 (split 50/30/20), then the remaining 75% unlocks linearly until June 1 2027.
All options:
| Option | Required | Description |
|---|---|---|
| --token <type> | ✅ | Coin type |
| --amount <n> | ✅ | Total amount to lock |
| --beneficiaries <json> | ✅ | JSON array of {address, pct} — must sum to 100 |
| --end <date> | ✅ | Vesting end date (ISO format) |
| --cliff-date <date> | — | Cliff unlock date |
| --cliff-pct <0-100> | — | % unlocked at cliff (default: 0) |
| --start <date> | — | Linear start date |
| --network <net> | — | mainnet or testnet (default: mainnet) |
Testnet
Add --network testnet to any command to use testnet instead of mainnet:
epoch create --network testnet --token 0x2::sui::SUI --amount 1 --beneficiary 0xABC... --end 2027-01-01
epoch info 0xVAULT_ID --network testnetTestnet deploy fee: 0.1 SUI Mainnet deploy fee: 10 SUI
How it works
- Loads your keypair from
SUI_PRIVATE_KEY - Fetches your coin balance from the SUI RPC
- Builds and signs the transaction locally
- Submits it to the Epoch smart contract on-chain
- Returns the vault ID and direct links to SuiVision and Epoch
No backend involved — everything goes directly to the SUI blockchain.
