Skip to main content

Reference

Token ledger IDs, dfx commands, and Node.js engine setup. Consult as needed — not required reading.


Token Ledgers

TokenLedgerDecimalsFee
ICPryjl3-tyaaa-aaaaa-aaaba-cai810,000 (0.0001 ICP)
ckUSDTcngnf-vqaaa-aaaar-qag4q-cai610,000 (0.01 USDT)
ckUSDCxevnm-gaaaa-aaaar-qafnq-cai610,000 (0.01 USDC)
ckBTCmxzaz-hqaaa-aaaar-qaada-cai810 (0.0000001 BTC)
ckETHss2fx-dyaaa-aaaar-qacoq-cai182,000,000,000,000 (0.000002 ETH)

Check any token balance:

PRINCIPAL=$(dfx identity get-principal)

dfx canister call --ic <ledger_canister_id> icrc1_balance_of \
"(record { owner = principal \"$PRINCIPAL\"; subaccount = null })"

dfx Quick Reference

CommandWhat it does
dfx identity whoamiCurrent identity name
dfx identity get-principalCurrent principal (your address)
dfx identity listAll identities
dfx identity new <name>Create identity
dfx identity use <name>Switch identity
dfx canister call --ic <id> <method> '(<args>)'Call any canister

CLI Examples

# Queries (free)
dfx canister call --ic $SPOT get_user '()'
dfx canister call --ic $SPOT get_routing_state '()'
dfx canister call --ic $SPOT get_versions '()'
dfx canister call --ic $SPOT quote_order '(<args>)'

# Mutations (cost operation fees)
dfx canister call --ic $SPOT create_orders '(<args>)'
dfx canister call --ic $SPOT cancel_orders '(vec { <order_ids> })'
dfx canister call --ic $SPOT withdraw '(#base, <amount>)'

Candid argument encoding can be verbose. For complex calls (batched orders, LP operations), use @dfinity/agent with Node.js. See Overview for the agent loop pattern.