BitPads Protocol · Version 2.0
Meta Bytes,
Wave &
Record Modes
A compact binary communication standard built on the Sumerian accounting token principle: a minimal mark plus a shared codebook produces maximum meaning per transmitted bit.
Philosophy & First Principles
BitPads v2.0 is built on two converging design principles that favour compression of shared knowledge over per-transmission verbosity.
A Sumerian accounting token carries no redundant description — its shape is its meaning, and the codebook lives in the minds of sender and receiver alike.
The Two Core Principles
Transmission bytes carry only the variant information. Invariant meaning — field positions, role definitions, value scales — is encoded once in the specification and shared by all conforming implementations. The wire carries the difference, not the definition.
System bytes (Meta 1, Meta 2, Layer 1) carry only logic that applies to every possible transmission. Everything else — value encoding, time fields, task blocks, note blocks — is a module activated by a presence flag. Absent modules cost zero bits.
Bit 1 of Meta Byte 1 selects the fundamental transmission mode. Wave mode (0) is optimised for real-time signals and status messages. Record mode (1) activates the extended component system for structured data transmission.
Every optional component has a corresponding presence bit. If the bit is 0, the component is entirely absent from the byte stream. The receiver never allocates parsing state for absent components.
Infrastructure vs Modules
BitPads v2.0 separates its byte space into fixed core infrastructure and optional modules:
Core Infrastructure
- Meta Byte 1 — Universal 8-bit header, always present
- Meta Byte 2 — Extended record context (Record mode only)
- Layer 1 — 64-bit session header with identity and CRC
- Layer 2 — Batch header (protocol-specific, e.g. BitLedger)
Optional Modules
- Signal Slot Presence Byte v2.0
- System Context Extension
- Setup Byte
- Value Block
- Time Field
- Task Block
- Note Block
- Extension Bytes
- C0 Enhancement Module
Meta Byte 1 — The Universal Header
Meta Byte 1 is present in every BitPad transmission without exception. It is always the first byte received and must be decoded before any further parsing can occur.
| Bit(s) | Field | Value 0 | Value 1 | Notes |
|---|---|---|---|---|
Bit 1 ▼ |
BitPad Mode | Wave | Record | |
Wave Mode (0)Optimised for real-time signals and status. Meta Byte 2 is absent. Layer 1 presence governed by Role B category code. Bits 2–8 carry Wave-specific role fields. Record Mode (1)Activates the full component system. Meta Byte 2 always follows Meta Byte 1. Layer 1 is always expected in Record mode. Bits 5–8 become Role C component expect flags. Decoder ActionThis is the first branch in the decoder tree. Read bit 1 before any other field. All subsequent field interpretations depend on this value. | ||||
Bit 2 ▼ |
ACK Request / SysCtx | No ACK / No SysCtx | ACK Req. (Wave) / SysCtx follows L1 (Record) | |
Dual RoleThis bit has different meanings depending on Bit 1. This is the primary example of the context-sensitive field design in BitPads v2.0. Wave ModeWhen bit 1 = 0: setting bit 2 = 1 requests an acknowledgement from the receiver. The receiver should reply with an ACK wave using the sender's session identity. Record ModeWhen bit 1 = 1: setting bit 2 = 1 signals that a System Context Extension block immediately follows Layer 1. The extension provides additional system routing and version context. | ||||
Bit 3 ▼ |
Continuation | Complete (final fragment) | Fragment — more follows | |
FragmentationWhen a payload exceeds channel capacity, the sender splits it into fragments. Each fragment has its own Meta Byte 1 with bit 3 = 1, except the final fragment which uses bit 3 = 0. Receiver BehaviourThe receiver accumulates all fragments in order. Reassembly begins only when a fragment arrives with bit 3 = 0. Fragment ordering relies on Layer 1 session context. NoteApplies in both Wave and Record modes. A single-fragment transmission always has bit 3 = 0. The complete/fragment distinction does not affect component presence parsing. | ||||
Bit 4 ▼ |
Treatment Switch | Basic Treatment (Role A) | Category Mode (Role B) | |
Wave OnlyBit 4 is meaningful only in Wave mode (bit 1 = 0). In Record mode (bit 1 = 1), bit 4 is part of the Role C component flags and carries no treatment-switch meaning. Role A (0)Bits 5–8 are individually assigned flags: Priority, Cipher Active, Extended Flags, Profile Defined. Each bit is independent. Role B (1)Bits 5–8 form a 4-bit category code (0000–1111). The code selects one of 16 wave categories, each with its own Layer 1 requirement and content structure. | ||||
Bits 5–8 ▼ |
Content Field | Role A flags / Role B category / Role C expect flags | ||
Three RolesThese four bits carry different structures depending on mode and treatment switch. The decoder must resolve bits 1 and 4 before interpreting bits 5–8. Role A (Wave Basic)Bit 5: Priority. Bit 6: Cipher Active (v2.0 corrected). Bit 7: Extended Flags. Bit 8: Profile Defined. Role B (Wave Category)4-bit unsigned integer 0–15 selecting one of 16 transmission categories. See §4 for the complete table. Role C (Record)Bit 5: Value Present. Bit 6: Time Present. Bit 7: Task Present. Bit 8: Note Present. Each flag directly controls component parsing. | ||||
Role A — Wave Basic Treatment
Active when bit 1 = 0 (Wave) and bit 4 = 0 (Basic). Bits 5–8 carry four independent boolean flags.
| Bit | Field | 0 Meaning | 1 Meaning | Notes |
|---|---|---|---|---|
5 | Priority | Normal priority | High priority — process before queued normals | Receiver scheduling hint |
6 | Cipher Active | Plaintext payload | Payload is encrypted per session cipher agreement | v2.0 Corrected from ACK in v1.x |
7 | Extended Flags | No extension byte | Additional flag byte follows after payload | Profile-specific flags overflow |
8 | Profile Defined | Standard wave | Profile-specific interpretation applies | Application layer controls meaning |
v2.0 Correction: Bit 6 in Role A previously served as a second ACK-related field in some v1.x documentation. In v2.0 this is formally assigned as Cipher Active. Any implementation treating bit 6 as an ACK flag in Role A is non-conformant.
Role B — Wave Categories
Active when bit 1 = 0 (Wave) and bit 4 = 1 (Category). Bits 5–8 form a 4-bit category code selecting one of 16 defined transmission categories.
| Code | Category | L1 Required | Description |
|---|---|---|---|
0000 ▼ |
Pure Signal / Heartbeat | No | Minimal presence signal, keepalive, or null transmission |
Bit Pattern0000 Content StructureNo payload required. Full byte: Use CasesConnection keepalive, session probe, acknowledgement-free presence check, channel quality test. Example── PURE SIGNAL ────────── Byte 0x10 Bits 0001 0000 L1 absent | |||
0001 ▼ |
Status Report | Optional | Device or system status broadcast |
Bit Pattern0001 ContentStatus payload follows. Format is profile-defined. May include a value byte encoding a numeric status code. Use CasesSensor reading, device health report, battery level, temperature broadcast, system state notification. | |||
0010 ▼ |
Command | Optional | Instruction directed at a receiver or device class |
Bit Pattern0010 ContentCommand byte follows. May include parameters in subsequent bytes. If Layer 1 is present, the command is directed at the specific sender ID. Use CasesActuator control, configuration push, mode change request, remote procedure invocation. | |||
0011 ▼ |
Query / Request | Optional | Request for data or status from a receiver |
Bit Pattern0011 ContentQuery parameters follow. Typically paired with bit 2 = 1 (ACK Request) to receive the response. The response will be a Status Report or Record wave. Use CasesSensor poll, configuration read, capability discovery, data pull request. | |||
0100 ▼ |
Alert / Alarm | Recommended | Time-sensitive alert requiring immediate attention |
Bit Pattern0100 ContentAlert code byte. Severity encoded in high nibble, type in low nibble. Layer 1 recommended so the alert source is authenticated. Use CasesThreshold breach, fault condition, emergency stop, intrusion detection, power failure warning. | |||
0101 ▼ |
Acknowledgement | Optional | Positive confirmation of a prior transmission |
Bit Pattern0101 ContentEcho of the session or sequence identifier from the original transmission. The receiver confirms receipt. May be combined with status data. | |||
0110 ▼ |
Negative Acknowledgement | Optional | Negative confirmation — reject, error, or retransmit request |
Bit Pattern0110 ContentError code byte. High nibble: error class. Low nibble: specific error. May request retransmission when combined with session sequence data. | |||
0111 ▼ |
Sync / Time Reference | Recommended | Clock synchronisation or time reference broadcast |
Bit Pattern0111 ContentTime reference payload in Tier 1 or Tier 2 format (see §12). Used to synchronise distributed receivers to a common time base. | |||
1000 ▼ |
Discovery / Broadcast | No | Presence broadcast for network discovery |
Bit Pattern1000 ContentDevice capability byte. Bits indicate supported protocol features. No Layer 1 required for a broadcast discovery. Layer 1 presence allows directed discovery response. | |||
1001 ▼ |
Data Transfer | Required | Structured data payload requiring identity context |
Bit Pattern1001 ContentArbitrary data payload. Layer 1 is required to attribute the transfer. This is the primary category for application data exchange in Wave mode. | |||
1010 ▼ |
Configuration | Required | System or device configuration push |
Bit Pattern1010 ContentConfiguration key-value payload. Layer 1 required for authentication of configuration authority. Receivers should validate sender permissions before applying. | |||
1011 ▼ |
Diagnostic | Optional | Diagnostic payload for system analysis or debugging |
Bit Pattern1011 ContentDiagnostic data in profile-defined format. May contain error logs, performance counters, or system state snapshots. Layer 1 optional but recommended for traceability. | |||
1100 ▼ |
Financial Signal v2.0 | Required | Financial data wave — formerly Mission Specific A |
Bit Pattern1100 v2.0 AssignmentPreviously labelled "Mission Specific A" as a placeholder. v2.0 formally assigns this category to financial wave signals, complementing the BitLedger protocol for lightweight value indication. ContentFinancial signal payload. Layer 1 required for attribution. Value encoding follows the BitPads value tier system. For full financial transaction records, use Record mode with BitLedger. | |||
1101 ▼ |
Identity Signal v2.0 | Required | Identity assertion or credential wave — formerly Mission Specific B |
Bit Pattern1101 v2.0 AssignmentFormally assigned in v2.0. Used for identity assertion waves — presenting credentials, session tokens, or public identity markers without a full Record structure. | |||
1110 ▼ |
Control Signal v2.0 | Optional | Protocol control and session management — formerly Mission Specific C |
Bit Pattern1110 v2.0 AssignmentFormally assigned for protocol-level control signals: session initiation, teardown, band change, protocol version negotiation. Analogous to the BitLedger Control Record concept in Wave mode. | |||
1111 ▼ |
Extended Category | Required | 8-bit extended category byte follows — 256 additional category codes |
Bit Pattern1111 Extension MechanicWhen bits 5–8 are all 1, the next byte is an Extended Category Byte providing 256 additional category codes (0x00–0xFF). This allows future expansion without breaking the core 4-bit space. Decoder ActionAfter reading bits 5–8 = 1111, read the next byte. That byte is the extended category code. Layer 1 must be present (always required for extended categories). Example── EXTENDED CATEGORY ──── Byte 1 0x1F (meta, cat=1111) Byte 2 0x42 (ext category 66) | |||
Role C — Record Component Flags
Active when bit 1 = 1 (Record mode). Bits 5–8 become individual component expect flags. Each flag set to 1 tells the decoder that the corresponding component will be present in the byte stream.
| Bit | Component | 0 | 1 | Position in Stream |
|---|---|---|---|---|
5 | Value Present | No value component | Value block follows (after Setup Byte if present) | Position 7 in component order |
6 | Time Present | No time component | Time field follows value block | Position 9 in component order |
7 | Task Present | No task component | Task block follows time field | Position 10 in component order |
8 | Note Present | No note component | Note block follows task block | Position 11 in component order |
Bit 4 in Record Mode: When bit 1 = 1, bit 4 is part of the component flag group and does not carry the Treatment Switch meaning. In practice, bit 4 in Record mode is reserved (must be 0) pending v2.x extension assignment.
The Pure Signal
A pure signal is a single-byte transmission — the theoretical minimum. It carries mode, category, and basic flags but no payload, no Layer 1, and no components. Two canonical examples:
0x40 — Broadcast Discovery
0x0F — Heartbeat
Meta Byte 2 — Extended Record Context
Present only in Record mode (bit 1 of Meta Byte 1 = 1). Always immediately follows Meta Byte 1. Provides archetype classification, time reference selection, and module presence signals.
Bits 1–4: Archetype / Extended Flags
These bits have a primary role and a secondary role depending on the wave category.
Primary Role (category 1001 — Data Transfer): The 4-bit value selects a record archetype — a named pattern of expected components that allows receivers to optimise their parsing path without reading every presence flag individually.
Secondary Role (all other categories): Acts as sub-type or extension flags for the category in use:
| Category | Bits 1–4 Meaning |
|---|---|
0100 Basic Record | Sub-type selector. 0000 = generic, 0001 = ledger, 0010 = identity, 0011–1111 = profile-defined |
0101 Transaction + Message | High nibble: transaction sub-type. Low bit: message appended flag |
0110 Multi-record | Record count hint (0000 = unknown, 0001–1111 = up to 15 records in batch) |
0111 Session Record | Session event type (0000=open, 0001=close, 0010=suspend, 0011=resume) |
1000 Extended Archetype | When bits 1–4 = 1111 in primary role, a second archetype byte follows |
Bits 5–6: Time Reference Selector
| Code | Mode | Description |
|---|---|---|
00 | None | No time reference in this record. Time field absent regardless of Role C bit 6. |
01 | Tier 1 Session Offset | 8-bit integer. Time expressed as offset from session-established epoch. Range 0–255 units. |
10 | Tier 1 External | 8-bit integer. Time expressed as offset from externally synchronised reference (e.g. last Sync wave). |
11 | Tier 2 Time Block | Full Tier 2 Time Block follows. See §12 for Time Block Header structure. |
Bit 7: Setup Byte Present
When set to 1, a Setup Byte follows Layer 1 (and System Context Extension if present). The Setup Byte controls value encoding parameters including tier, scaling factor, and decimal position.
Bit 8: Signal Slot Presence v2.0
When set to 1, a Signal Slot Presence Byte follows immediately after Meta Byte 2 and before Layer 1. This byte declares which of the five enhancement signal slots are active. In v1.x this bit was Reserved = 1.
Signal Slot Presence Byte
Present only when Meta Byte 2, bit 8 = 1. Inserted into the byte stream immediately after Meta Byte 2, before Layer 1. Declares which enhancement signal slots carry active data.
v2.0 Addition: The Signal Slot Presence Byte is new in v2.0. It was made possible by repurposing the previously Reserved = 1 bit (Meta Byte 2, bit 8) which had no functional role in v1.x.
| Bit | Signal Slot | 0 Meaning | 1 Meaning |
|---|---|---|---|
1 | P4 | Slot P4 inactive | P4 enhancement data present in stream |
2 | P5 | Slot P5 inactive | P5 enhancement data present in stream |
3 | P6 | Slot P6 inactive | P6 enhancement data present in stream |
4 | P7 | Slot P7 inactive | P7 enhancement data present in stream |
5 | P8 | Slot P8 inactive | P8 enhancement data present in stream |
6–8 | Reserved | Must be 111. A receiver detecting any other pattern should raise a protocol warning. | |
Layer 1 — Session Header
The 64-bit (8-byte) session identity block. Carries protocol version, permissions, sender identity, sub-entity, and a CRC-15 integrity check.
| Bits | Field | Description |
|---|---|---|
1 | SOH | Start of Header. Always 1. A receiver detecting SOH=0 treats the frame as corrupt. |
2 | Wire Format Version | 0 = v2.0 encoding. 1 = reserved for future wire format revision. |
3–4 | Domain | 00 = General. 01 = Financial (BitLedger). 10 = Control. 11 = Extended (domain byte follows). |
5–8 | Core Permissions | Four permission flags: Write, Delegate, Compound, Administrative. Each independently grantable. |
9 | Split Order Default | 0 = MSB first (big-endian split). 1 = LSB first. Applies to multi-byte value splits. |
10–11 | Sender ID Split Mode | Selects how the 32-bit Sender ID is logically partitioned. See §10. |
12 | Session Enhancement Flag | v2.0 When 1, a Session Configuration Extension Byte follows Layer 1 (displaced from earlier positions). Formerly Opposing Convention bit. |
13–44 | Sender ID | 32-bit primary identity. Interpretation controlled by Split Mode (bits 10–11). |
45–49 | Sub-Entity ID | 5-bit secondary identifier within the Sender ID space. 0 = no sub-entity. 1–31 = sub-entity index. |
50–64 | CRC-15 | 15-bit cyclic redundancy check over all preceding Layer 1 bits (1–49). Polynomial: x^15+x+1. |
Session Configuration Extension Byte v2.0
Present when Layer 1 bit 12 = 1. Follows immediately after Layer 1 (or after System Context Extension if also present).
| Bits | Field | Description |
|---|---|---|
1–2 | Nesting Level Code | 00 = flat, 01 = level 1 nested, 10 = level 2 nested, 11 = level 3 nested |
3 | Opposing Convention | 1 = opposing account convention active for this session (displaced from Layer 1 bit 12 in v1.x) |
4 | Compound Mode Active | 1 = compound transaction mode enabled for this session |
5 | BL Block Optional | 1 = BitLedger accounting block is optional (not required on every record) |
6–8 | Reserved | Must be 000 |
Layer 1 Requirement Matrix
| Scenario | L1 Required? | Reason |
|---|---|---|
| Record mode (bit 1 = 1) | Always | Record components require identity attribution |
| Wave, category 1001 (Data Transfer) | Always | Data payload requires authenticated source |
| Wave, category 1010 (Configuration) | Always | Configuration requires authority verification |
| Wave, category 1100/1101/1110 (v2.0) | Always | Financial, Identity, Control signals require attribution |
| Wave, category 1111 (Extended) | Always | Extended categories require full identity context |
| Wave, category 0100 (Alert) | Recommended | Alert source should be verifiable; allowed absent in latency-critical deployments |
| Wave, category 0111 (Sync) | Recommended | Time reference authority should be identified |
| Wave, category 0001 (Status) | Optional | Broadcast status may be anonymous |
| Wave, category 0010 (Command) | Optional | Broadcast commands valid; directed commands need L1 |
| Wave, category 0011 (Query) | Optional | Anonymous query permitted; response attribution via L1 |
| Wave, category 1000 (Discovery) | Optional | Broadcast discovery by nature is unauthenticated |
| Wave, category 0000 (Pure Signal) | Never | Pure signals carry no semantic payload requiring attribution |
Identity System
BitPads v2.0 uses a three-level coordinate system for sender identification: the 32-bit Sender ID, the 5-bit Sub-Entity ID, and an optional System Context Extension for additional routing context.
Split Mode Table (Layer 1 bits 10–11)
| Code | Mode | Bit Partition | Description |
|---|---|---|---|
00 | Flat 32-bit | 32 undivided | Single monolithic ID. Suitable for small networks with a flat addressing scheme. |
01 | 16 / 16 | 16 + 16 | High 16 bits: network/group ID. Low 16 bits: device ID within group. 65,536 groups × 65,536 devices. |
10 | 8 / 8 / 16 | 8 + 8 + 16 | Region (8) + Zone (8) + Device (16). Hierarchical three-tier addressing. |
11 | Custom | Profile-defined | The active protocol profile defines the partition. The System Context Extension may carry the partition descriptor. |
System Context Extension Block
Present when Meta Byte 1 bit 2 = 1 (Record mode). The extension always follows Layer 1. Its size depends on the context type declared in its first byte:
| Case | Size | Contents |
|---|---|---|
| Type 00 — Routing | 2 bytes | Byte 1: type + flags. Byte 2: routing context code. Used to add network-layer routing context to a session. |
| Type 01 — Extended Identity | 5 bytes | Byte 1: type + flags. Bytes 2–5: 32-bit extended identity or cross-system reference. Used when a 32-bit Sender ID is insufficient for cross-domain addressing. |
| Type 10 — Version Context | 4 bytes | Byte 1: type + flags. Bytes 2–4: protocol profile version triplet (major, minor, patch). Allows version negotiation within a session. |
Value Block & Setup Byte
The Value Block encodes a non-negative integer using the BitPads split formula. The Setup Byte (optional, announced by Meta Byte 2 bit 7) specifies encoding parameters.
Value Tiers
| Tier | Width | Max N | Description |
|---|---|---|---|
| Tier 1 | 8 bits | 255 | Micro values — status codes, small counts, short time offsets |
| Tier 2 | 16 bits | 65,535 | Small values — quantities, low-range financial, short identifiers |
| Tier 3 (DEFAULT) | 24 bits | 16,777,215 | Standard values — the default for all general-purpose records |
| Tier 4 | 32 bits | 4,294,967,295 | Large values — high-range financial, large quantities, timestamps |
Setup Byte Fields
| Bits | Field | Values |
|---|---|---|
1–2 | Value Tier | 00 = Tier 1, 01 = Tier 2, 10 = Tier 3 (default), 11 = Tier 4 |
3–4 | Scaling Factor | 00 = ×1, 01 = ×10, 10 = ×100, 11 = ×1000 (further scales via extended Setup) |
5–6 | Decimal Position | 00 = integer, 01 = 1 dp, 10 = 2 dp, 11 = 3 dp |
7 | Context Source | 0 = inline (this Setup Byte), 1 = inherit from session-level Setup |
8 | Rounding Convention | 0 = round half up, 1 = round half to even (banker's rounding) |
Value Encoding Formula
Time System
Time encoding tier is selected by bits 5–6 of Meta Byte 2. A time field is only present in the byte stream when Role C bit 6 = 1 AND Meta Byte 2 bits 5–6 ≠ 00.
Tier 1 — 8-bit Session Offset
A single byte (0–255) expressing time as an unsigned integer offset from the session epoch. The unit is profile-defined (commonly: seconds, minutes, or 100ms ticks). Maximum range at 1-second resolution: 4 minutes 15 seconds. At 1-minute resolution: 4 hours 15 minutes.
Tier 2 — Time Block
A full structured time block for when Tier 1 range is insufficient. The Time Block Header byte controls the size and format of the timestamp that follows.
| Bits | Field | Values |
|---|---|---|
1–2 | Timestamp Format | 00 = 16-bit offset, 01 = 32-bit Unix epoch, 10 = 48-bit extended, 11 = profile-defined |
3–4 | Resolution | 00 = seconds, 01 = milliseconds, 10 = microseconds, 11 = nanoseconds |
5 | Timezone Present | 1 = a timezone offset byte follows the timestamp |
6 | Duration Present | 1 = a duration field of the same format and resolution follows |
7–8 | Reserved | 00 |
Task & Note Components
Task Short Form (8 bits)
A single byte encoding a task instruction. Present when Role C bit 7 = 1.
| Code | Task Category | Code | Task Category |
|---|---|---|---|
0000 | Execute | 1000 | Approve |
0001 | Acknowledge | 1001 | Reject |
0010 | Request | 1010 | Transfer |
0011 | Cancel / Abort | 1011 | Hold |
0100 | Schedule | 1100 | Resume |
0101 | Delegate | 1101 | Close |
0110 | Monitor | 1110 | Correction |
0111 | Alert | 1111 | Extended (next byte) |
Priority (bits 5–6): 00 = Normal, 01 = Elevated, 10 = High, 11 = Critical.
Target Specified (bit 7): When 1, a target identity byte or bytes follow the task byte, specifying which sub-entity the task is directed at.
Timing Specified (bit 8): When 1, a Tier 1 time byte follows (after target if present) specifying when the task should execute.
Note Component
A variable-length text or binary note. Present when Role C bit 8 = 1. Always begins with a Note Header byte.
| Bits | Field | Values |
|---|---|---|
1–2 | Encoding Type | 00 = ASCII/UTF-8 text, 01 = Binary Pictography (nibble stream), 10 = Binary blob, 11 = Profile-defined |
3–4 | Language / Codebook | 00 = default/neutral, 01 = codebook A, 10 = codebook B, 11 = extended (codebook byte follows) |
5–8 | Length Field | 0000 = next byte is length, 0001–1110 = length in bytes (1–14), 1111 = extended length (2 bytes follow) |
Binary Pictography
A compact symbol encoding scheme using a 4-bit nibble per symbol. A codebook maps each 4-bit code (0000–1111) to a domain-specific glyph or status icon. Four symbols fit in 2 bytes.
Component Order & Decoder Tree
All BitPads v2.0 Record mode transmissions follow a strict component sequence. Decoders must parse in this order.
| Position | Component | Condition | Size |
|---|---|---|---|
| 1 | Meta Byte 1 | Always | 1 byte |
| 2 | Meta Byte 2 | Record mode (M1 bit 1 = 1) | 1 byte |
| 3 v2.0 | Signal Slot Presence Byte | M2 bit 8 = 1 | 1 byte |
| 4 | Layer 1 | Required per matrix (§9) | 8 bytes |
| 5 v2.0 | Session Config Extension | L1 bit 12 = 1 | 1 byte |
| 6 | System Context Extension | M1 bit 2 = 1 (Record) | 2, 4, or 5 bytes |
| 7 | Setup Byte | M2 bit 7 = 1 | 1 byte |
| 8 | Value Block | M1 bit 5 = 1 (Role C) | 1–4 bytes (tier) |
| 9 | Time Field | M1 bit 6 = 1 AND M2 bits 5–6 ≠ 00 | 1 byte (T1) or variable (T2) |
| 10 | Task Block | M1 bit 7 = 1 (Role C) | 1–3 bytes |
| 11 | Note Block | M1 bit 8 = 1 (Role C) | 1 + N bytes |
| 12 | Enhancement Module | Active signal slots per SSPB | Variable per slot |
| 13 | Extension Bytes | Profile-defined chain | Variable |
Decoder Decision Tree
Transmission Footprints
Baseline Footprints
Enhancement Overhead
| Addition | Overhead | Condition |
|---|---|---|
| Signal Slot Presence Byte | +1 byte | M2 bit 8 = 1 |
| Session Config Extension | +1 byte | L1 bit 12 = 1 |
| System Context Extension (Routing) | +2 bytes | M1 bit 2 = 1, type 00 |
| System Context Extension (Extended ID) | +5 bytes | M1 bit 2 = 1, type 01 |
| Tier 2 Time Block (32-bit Unix) | +5 bytes | M2 bits 5–6 = 11, format 01 |
| Task with Target + Timing | +3 bytes | Task byte, target byte, time byte |
| Note (short, 8 chars UTF-8) | +10 bytes | Note header + 8 content bytes + null |
v2.0 Change Summary
All changes from v1.x to v2.0. Breaking changes are marked. Additive changes are backward-compatible when the new bits were previously Reserved = 0.
| Change | Location | Type | Detail |
|---|---|---|---|
| Signal Slot Presence Byte added | Meta Byte 2 bit 8 | Additive | Previously Reserved=1. Now activates Signal Slot Presence Byte when set. Old receivers ignoring this bit are unaffected if they also ignore the new byte. |
| Session Config Extension added | Layer 1 bit 12 | Breaking (partial) | Bit 12 was Opposing Convention flag. Now triggers Session Config Extension Byte. Opposing Convention moved inside the extension byte (bit 3). |
| Opposing Convention displaced | L1 bit 12 → SCE bit 3 | Breaking | Implementations using L1 bit 12 directly as Opposing Convention must update to read SCE bit 3. |
| Compound Mode displaced | Various → SCE bit 4 | Breaking | Compound Mode Active now resides in Session Config Extension bit 4. |
| BL Block Optional displaced | Various → SCE bit 5 | Breaking | BitLedger Block Optional now resides in Session Config Extension bit 5. |
| BitLedger Context Ctrl removed | Formerly separate byte | Breaking | Replaced by Session Config Extension Byte. All three flags now share one byte. |
| Role A bit 6 corrected | Meta Byte 1 bit 6 (Role A) | Clarification | Formally assigned as Cipher Active. Previously documented as ACK in some v1.x references. No wire change — a correction to the specification text. |
| Categories 1100/1101/1110 assigned | Meta Byte 1 bits 5–8 (Role B) | Additive | Formerly "Mission Specific A/B/C" placeholders. Now formally: Financial Signal, Identity Signal, Control Signal. |
| Component ordering updated | Positions 3 and 5 | Additive | SSPB inserted at position 3. Session Config Extension inserted at position 5. All prior positions shifted accordingly. |
| Decoder tree updated | §14 | Additive | Two new branches: SSPB read on M2.bit8=1, SCE read on L1.bit12=1. |
| Footprints updated | §15 | Informational | New minimum footprints documented for all new optional bytes. |