⚖️ Variants
A commitment is not always just about how much value is bonded.
Sometimes the position itself matters.
Examples:
- long vs short
- for vs against
- yes vs no
- positive vs negative
- bullish vs bearish
These are called Variants.
Variants allow the same commitment system to represent different economic meanings without changing the commitment engine itself.
🧠 The Core Idea
A normal commitment looks like this:
Commitment = asset + reason + digest
A commitment with variants becomes:
Commitment = asset + reason + digest + variant
The new part is:
Variant = position
It tells the system:
what side of the commitment the proprietor is taking
🎯 Why Variants Exist
Without variants, every commitment to the same digest would mean the same thing.
But many protocols require opposite positions on the same target.
Example:
Same digest:
Election Result
Different positions:
YES
NO
Both users commit to the same digest. But their economic meaning is completely different.
That difference is carried by the Variant.
🆔 Example: Trading
Imagine this:
Digest = BTC Price Movement
Reason = Market Position
Now two users commit:
Alice
Variant = Long
Bob
Variant = Short
Same digest, same reason, but different economic position.
That is exactly what variants solve.
🪺 Variants Live Inside Digests
Variants do not create separate commitments.
They create separate positions inside the same digest.
Think of it like this:
Example:
Validator A
|-- Positive
|-- Negative
or
Prediction Market
|-- YES
|-- NO
The digest remains the shared object.
Variants separate internal economic positions.
🔄 Why This Matters
Variants make it possible to support:
- prediction markets
- directional trading
- governance voting
- hedged commitments
- opposing financial positions
without creating separate commitment systems.
🧭 Mental Model
Reason = what kind of commitment
Digest = what it belongs to
Variant = which side of that commitment
That is the complete semantic model.
📌 In One Sentence
Variant defines the proprietor's position inside a shared digest.
It adds meaning to the commitment without changing the commitment structure.
🚀 Next Step
The Commitment engine intentionally separates ownership from financial accounting.
The next section introduces the Lazy Balance architecture, where commit-receipt tracking and delayed lazy settlements semantics can all be replaced by custom accounting models.
👉 Concepts -> Lazy Balance Plugin