counterpartyMarker property
The app's opaque marker for the counterparty of this channel (bead libspiffy-bps1, spv-understanding.md "Core Data Management" requirement 5): it is stamped on the wallet transactions the channel records — the funding it pays out and the settlement or refund that comes back. Opaque and app-chosen, exactly as on every other payment; libspiffy never interprets it.
Null means "the app supplied none", and the channel then falls back to the counterparty's peer id, which is a fact it knows rather than one it invents. Deliberately NOT context, which is address-derivation and labelling metadata: one field cannot carry two meanings.
Implementation
final String? counterpartyMarker;