Home / Docs / Binary Encoding

Binary Encoding

Version 2 (0x02). Deterministic layout for hashing and signing.

Block Canonical Encoding

OffsetSizeField
01Version byte (0x02)
11Type byte
28Asset (left-aligned UTF-8, zero-padded)
1032Account (hex-decoded)
4232Previous (hex-decoded; "0" → 32 zero bytes)
748Balance (big-endian uint64)
828Timestamp (big-endian int64)
90+varType-specific tail
last32Representative (32 zero bytes if empty)

Type Bytes

Send=0x01, Receive=0x02, Claim=0x03, Lease=0x04, LeaseAccept=0x05, LeaseSettle=0x06, Genesis=0x07, MultisigOpen=0x08, MultisigUpdate=0x09, LeaseCancel=0x0A

Full Block Encoding

[canonical bytes] [8 bytes PoW nonce (little-endian uint64)]

Vote Encoding

OffsetSizeField
01Version (0x01)
132RepPubKey
3332BlockHash
6532ConflictAccount
9732ConflictPrev
1298Timestamp (big-endian)
1372Signature length
139NSignature bytes

PoW nonce = little-endian; all other numeric fields = big-endian.