Work in progress

Work in progress: we are building this site ahead of MainNet. Details will change.

This site is still being built

ZooBC is building in the open. What you see here is current and honest, but it is not finished: read it as where we are today, not as a final statement.

Between now and MainNet, things will change: wording, structure, images, and figures. Some pages are placeholders.

The wider ZooBC ecosystem arrives in stages. The wallet, the explorer, and the community channels each come online as MainNet approaches, and this site grows alongside them.

If something reads wrong, looks broken, or seems misleading, tell us. Feedback now is worth more to us than a polished launch later.

ZOOBC / MANUAL

ZooBC CLI Manual

zoobc-cli, one binary, every transaction

One command-line tool that builds, signs, and submits every ZooBC transaction, 50 commands from a plain send-zbc to multisig, node registration, the exchange, on-chain storage, and governance. Machine-friendly by default (JSON in, JSON out) with an interactive mode for humans.

01Get it

Download the Linux x86_64 build, unpack, and run. No install, no dependencies.

⬇ Download zoobc-cli (Linux x86_64)

# unpack and put it on your PATH
tar xzf zoobc-cli-linux-x86_64.tar.gz
sudo mv zoobc-cli /usr/local/bin/

# point it at any node or gateway (default: http://localhost:8080)
# https://zoobc.network is the public TestNet gateway, not MainNet
zoobc-cli list --api https://zoobc.network

Other platforms are coming; for now the build is Ubuntu / Linux x86_64.

02Three ways to run it

Default, JSON in, JSON out

Pass params as positional arguments; get a JSON result back. This is the mode other apps and scripts call. The first parameter is always the sender private key.

zoobc-cli send-zbc <privkey> ZBC_4HFG43GR_… 100000000 --api $API
→ {"transaction_hash":"a5f1…","amount":100000000, …}

Interactive, --verbose

Prompts you for each field one at a time, then prints a human-readable result. Great for one-offs.

zoobc-cli issue-token --verbose --api $API
Sender private key: … · Symbol: … · Name: … · Decimals: …

Piped JSON, --json-input

Read the parameters as a JSON object on stdin, the keys are exactly what help <cmd> lists.

echo '{"sender_privkey":"…","recipient":"ZBC_…","amount":"100000000"}' \
  | zoobc-cli send-zbc --json-input --api $API

03Discover what to send

Two built-ins tell you everything, no need to read source.

zoobc-cli list              # every command, grouped by category
zoobc-cli help multisig     # the JSON fields for ONE command

help <cmd> prints each field's key, whether it's required, its default, and a ready-to-edit sample JSON object:

multisig, N-of-M multisig SendZBC (inner tx + participant signatures)  (tx type 5)
  sender_privkey    (required) Sender private key (64 hex)
  participants      (required) comma-separated participant ZBC addresses
  min_signatures    (required) required signatures (N of M)
  nonce             (optional) multisig account nonce  [default: 0]
  signer_privkeys   (required) participant keys that sign now
  recipient         (required) inner SendZBC recipient address
  amount            (required) inner SendZBC amount (atomic units)
  inner_fee         (optional) inner SendZBC fee (atomic)  [default: 10000000]
Sample: {"sender_privkey":"…","participants":"…", …}

04Common flags & conventions

--api <url>Node or gateway endpoint. Default http://localhost:8080. Point it at https://zoobc.network for the public TestNet. That is the live test network, not MainNet.
--fee <n>Override the transaction fee (atomic ZBC). Omit to use the default / size-aware minimum.
--verboseInteractive prompts + human-readable output (see mode 2).
--json-inputRead params as a JSON object on stdin (mode 3).

All amounts and prices are atomic integers (ZBC ×1e8; token amounts ×10^decimals; order prices ×1e8). Addresses may be a full ZBC_… string or hex. The tool never crashes on bad input, it returns a JSON error object (or a text error in --verbose).

05Worked examples

# transfer a colored token
zoobc-cli transfer-token $KEY ZBC_6FINNB6J_… <token_id> 500 --api $API

# register a validator node (owner signs; node key supplies the pubkey; PoOwnership is built for you)
zoobc-cli register-node $OWNER_KEY $NODE_KEY 100000000000 --api $API

# open an N-of-M multisig and sign with your key (others co-sign later)
zoobc-cli multisig $KEY "ZBC_A…,ZBC_B…,ZBC_C…" 2 0 "$KEY" ZBC_A… 100000000 5000000 --api $API

# schedule a vesting/recurring payment: 1 ZBC per fire, 12 fires, monthly
zoobc-cli scheduled-transfer $KEY ZBC_… 0 100000000 2592000 12 0 0 0 0 --api $API

06All 50 commands

Byte-exact body layouts for every transaction are in the Transaction Manual. Run zoobc-cli help <cmd> for a command's fields.

Value & tokens
send-zbcSend ZBC to an address
liquid-paymentStream ZBC over time (vesting)
liquid-payment-stopStop a liquid payment (settle pro-rata)
transfer-tokenTransfer a held colored token
issue-tokenIssue a colored-coin token
mint-tokenMint more of a mintable token
burn-tokenBurn a token (redeem backing if redeemable)
finance-tokenTop up a token's survival financing
Exchange & marketplace
market-createOpen a (base,quote) order-book market
order-placePlace a limit/market order
order-cancelCancel a resting order
swap-createCreate an atomic swap offer
swap-acceptAccept (fill) a swap offer
swap-cancelCancel an open swap offer
Apps
app-createCreate an app (2-player or solo-vs-house)
app-joinJoin an open app
app-moveSubmit a move
app-resignResign an app
app-claimClaim a timed-out app
app-settleSettle a state-channel app (replay vouchers)
Storage & data
store-fileAnchor a decentralized-storage file (manifest + rent)
add-prepaid-storageFund an account's storage rent
setup-datasetSet an account-dataset property→value
remove-datasetRemove an account-dataset property
delete-datasetDelete a dataset object (refunds its deposit)
set-dataset-policySet a dataset object's manage policy
transfer-datasetPropose transfer of a dataset object
accept-datasetAccept a pending dataset transfer
Account: escrow · scheduler · triggers · multisig · voting
multisigN-of-M multisig SendZBC (inner tx + signatures)
escrow-requestCreate a recipient-initiated escrow request
approve-escrowApprove / reject / expire an escrow
scheduled-transferVesting / recurring transfers on a timer
cancel-scheduleCancel a pending scheduled transfer
reassign-scheduleRedirect a schedule to a new recipient
create-triggerSchedule a future SendZBC (keeper/oracle)
cancel-triggerCancel a pending trigger (refund)
attest-eventAttest an external event (oracle node)
fee-vote-commitCommit phase of the fee-scale vote
fee-vote-revealReveal phase of the fee-scale vote
Node operator
register-nodeRegister a validator node (owner signs; builds ProofOfOwnership)
update-nodeUpdate a node's locked balance / registration
remove-nodeRemove a node from the validator set
claim-nodeClaim a previously-removed registration
Gateway operator
register-gatewayRegister a gateway (key + domain + url, locks stake)
unregister-gatewayWithdraw a gateway; refund the stake
gateway-heartbeatProve a gateway is alive, signed by the GATEWAY key, but any sender may relay it
Governance (release authority)
register-releasePublish a signed binary release
revoke-releaseRevoke a published release
release-authority-proposePropose a new release authority
release-authority-acceptAccept a release-authority handover
Part of the ZooBC Manuals. See the Transaction Manual for byte layouts · open the wallet or explorer · back to the gateway home.