Documentation

NT-1 Fungible Token Standard

Norn supports protocol-level custom fungible tokens via the NT-1 standard. Tokens are consensus-level: definitions, mints, and burns are included in WeaveBlocks and propagate to all nodes via P2P gossip.

Token Operations

OperationWhoFeeEffect
CreateAnyone10 NORN (burned)Registers a new token with metadata; optionally mints initial supply to creator
MintToken creator onlyNoneCreates new tokens, credits to recipient
BurnAny holderNoneDestroys tokens from burner's balance

Token ID is deterministic: BLAKE3(creator ++ name ++ symbol ++ decimals ++ max_supply ++ timestamp).

Symbol uniqueness is enforced at the consensus level -- no two tokens can share the same ticker.

Token Rules

RuleConstraint
Name length1--64 printable ASCII characters
Symbol length1--12 uppercase alphanumeric characters
Decimals0--18
Max supply0 = unlimited, otherwise enforced on mint

CLI Usage

# Create a token
norn wallet create-token --name "Wrapped Bitcoin" --symbol WBTC \
  --decimals 8 --max-supply 21000000 --initial-supply 0
 
# Mint tokens to a recipient (creator only)
norn wallet mint-token --token WBTC --to 0x<ADDRESS> --amount 1000
 
# Transfer custom tokens
norn wallet transfer --to 0x<ADDRESS> --amount 100 --token WBTC
 
# Burn tokens from your own balance
norn wallet burn-token --token WBTC --amount 50
 
# Query token info (by symbol or hex token ID)
norn wallet token-info WBTC
 
# List all tokens on the network
norn wallet list-tokens
 
# View all non-zero token holdings for the active wallet
norn wallet token-balances

RPC Methods

MethodParametersReturnsAuth
norn_createTokenhex (hex-encoded borsh TokenDefinition)SubmitResultYes
norn_mintTokenhex (hex-encoded borsh TokenMint)SubmitResultYes
norn_burnTokenhex (hex-encoded borsh TokenBurn)SubmitResultYes
norn_getTokenInfotoken_id (hex)Option<TokenInfo>No
norn_getTokenBySymbolsymbolOption<TokenInfo>No
norn_listTokenslimit, offsetVec<TokenInfo>No