SOST
Proof of Irreversible Convergence
ConvergenceX • PoPC • Metals Reserve (tokenized precious metals — Phase 1: gold-first)
Technical Whitepaper v4.0
Living Document Notice: This whitepaper reflects the genesis design of SOST. SOST is a
dynamic project under continuous development, with ongoing improvements in narrative, DeFi mechanics,
and security. Operational parameters (non-consensus) may be updated or adapted over time. Any changes
will be made in the interest of the project's long-term health and the benefit of all SOST holders.
Consensus rules (Section 10) remain immutable at genesis. Updated versions will be published with
full errata documentation.
SOST is a Proof-of-Work protocol where each mined block allocates 25% of issuance to an on-chain Gold Funding Vault (Phase 1: gold-first, tokenized XAUt/PAXG) by consensus. Conversions to XAUT/PAXG are operational actions executed with public attestations and auditable trails. Purchased precious-metal tokens are deposited into a separate Heritage Reserve on Ethereum mainnet. The Heritage Reserve is sealed by default. Reserve assets are intended to remain perpetual and untouched while SOST exists. During Phase I (before block 10,000), SOST developer executes reserve operations operationally. After V6 activation (block 10,000), reserve custody transitions to SOST itself under the 5-defense Gold Vault model, requiring ≥95% miner supermajority signaling and satisfying all five constitutional defenses for any non-routine reserve movement.
A mathematically grounded Proof-of-Work based on verifiable dynamical-system certificates.
No ICO • No Premine • No VCs • No Ongoing Parameter Governance
SOST is permissionless by design. Third-party exchanges, custodians, or issuers may apply their own KYC/AML requirements.
Genesis Block: March 15, 2026 — 18:00:00 UTC
Table of Contents
Abstract
The Problem
ConvergenceX: Proof of Irreversible Convergence
Monetary Policy
Metals Reserve
Proof of Personal Custody (PoPC)
Governance Model
Economic Model
Security Analysis
The Constitution
Roadmap
Technical Specifications
Sovereign Value Stack
Conclusion
Legal Disclaimer
Appendix A — Canonical Constants (Normative)
Appendix B — Serialization (Normative)
Appendix C — PRNG Specification (Normative)
Appendix D — Test Vectors (Normative)
Appendix G — Emergency Reserve Authorization (V6 5-Defense Model) (Normative)
SOST is a Proof-of-Work cryptocurrency built on ConvergenceX, a consensus mechanism that replaces brute-force hash guessing with a mandatory sequential convergence process. Each mining attempt requires ~8 GB RAM (4 GB dataset + 4 GB scratchpad), 100,000 strictly sequential rounds of integer-only gradient descent over a deterministic random linear system, memory-hard scratchpad reads at every round, and a stability basin verification that produces a deterministic certificate. Node validation requires only ~500 MB RAM — no dataset or scratchpad is needed to verify blocks.
Every block splits the coinbase reward by consensus:
(blocks 0–24,999) 50% + remainder to the miner,
25% to a Gold Funding Vault,
25% to a PoPC Pool powering Proof of Personal Custody.
Purchased precious-metal tokens are held on Ethereum mainnet in a Heritage Reserve (sealed by default). During Phase I (before block 10,000), SOST developer may adjust future purchase execution (including the default 50/50 XAUt/PAXG split) operationally. After V6 activation (block 10,000), all reserve adjustments require consensus-level governance under the 5-defense Gold Vault model. Previously purchased reserve assets are intended to remain perpetual and cannot be moved except under Emergency Catastrophe authorization (≥95% miner supermajority + all five constitutional defenses satisfied).
PoPC audit randomness derives exclusively from ConvergenceX block entropy: (block_id, commit, checkpoints_root). No external oracle is required for consensus-critical validation; off-chain data is used only for operational PoPC policy and settlement.
No ongoing parameter governance exists. Monetary rules, emission schedules, coinbase splits, and constitutional constraints are immutable at genesis. Only narrow emergency authorization signaling exists, requiring ≥95% miner supermajority under the V6 5-defense Gold Vault model. During Phase I (before block 10,000), operational actions (vault execution, reporting, emergency rotations) are executed by SOST developer, constitutionally constrained, and publicly auditable. After V6 activation, these functions transition to automated on-chain governance.
2.1 Proof-of-Work: A Standard Worth Studying
Bitcoin's SHA-256 Proof-of-Work (2009) remains an engineering landmark: minimal, rigorous, and resilient under real adversarial pressure. Its design established the core insight that verifiable computation can secure decentralized consensus at global scale.
At the same time, the dominant pattern across PoW systems remains a lottery-style threshold check:
nonce → hash → compare to target
This structure—brilliant in its simplicity—also enables:
massive parallelization (benefiting specialized pipelines),
rapid hardware specialization,
mining centralization driven by economies of scale.
SOST does not attempt to "replace" Bitcoin's virtues. It explores a different design space: structured work that produces verifiable certificates and public entropy as a byproduct.
2.2 Memory-Hard Alternatives
RandomX and Ethash advanced ASIC-resistance via memory-hardness and reduced specialized advantage. Yet the proof object remains primarily a hash threshold. Computation is structured, but it does not yield a convergence certificate nor a reusable entropy artifact beyond the block hash.
2.3 Crypto Has Limited Structural Reserves
Many systems discuss reserves or backing, but few embed structural accumulation as a constitutional side effect of mining. SOST implements a consensus-enforced allocation to an on-chain vault (Gold Funding Vault), with an operational conversion pipeline into a separate Heritage sealed Heritage Reserve on Ethereum mainnet, with an emergency catastrophe procedure for exceptional circumstances.
3.0 Design Roots (Motivation)
Before any technical specification, it is worth stating the principle that ConvergenceX encodes into consensus: trial and error — the oldest and most universal method of progress known to humanity. Since the first tool was shaped by hand, every meaningful advance has followed the same pattern: attempt, fail, measure the failure, correct, attempt again. This iterative refinement is not merely a technique; it is the only known path toward anything resembling perfection — a destination that, by its nature, can be approached but never reached.
This asymptotic quality is not a defect. It is a structural feature of the universe itself. The cosmic microwave background — the residual radiation from the Big Bang — is not perfectly uniform. It contains tiny anisotropies, density fluctuations of roughly one part in 100,000. These imperfections were not errors in the universe's initial conditions; they were the seeds of all structure. Without those minute deviations from uniformity, matter would never have clumped into galaxies, stars would never have ignited, planets would never have formed, and life would never have emerged. The universe required imperfection to produce complexity. A perfectly smooth cosmos would be a perfectly sterile one.
The same principle operates at every scale. Biological evolution depends on imperfect DNA replication — mutations are errors, yet they are the sole engine of adaptation. Scientific knowledge advances through falsification: every disproven hypothesis narrows the residual error and brings the model closer to reality, but never arrives at a final truth. Engineering iterates through prototypes, each one correcting the failures of its predecessor.
ConvergenceX translates this universal principle into a consensus mechanism. A miner does not guess randomly until lucky. A miner begins with an approximate solution, measures the error (the residual), applies a correction (gradient descent), and repeats — 100,000 times, sequentially, each round depending on the one before it. The proof-of-work is not a lottery ticket. It is a recorded journey of iterative refinement: a trajectory from disorder toward convergence, verified by a mathematical certificate that proves the solution reached a genuine basin of attraction — stable, reproducible, and irreversible. The block is valid not because the miner was fortunate, but because the miner demonstrated disciplined, sequential improvement under strict deterministic rules. In this sense, ConvergenceX is not an invention. It is a formalization of the oldest principle in nature: progress through corrected error.
ConvergenceX is born from a very concrete observation: over the last decade, computing has rediscovered that solving linear systems and performing matrix–vector multiplications is not only "computation," but dynamics—a convergence process that can be verified. Modern analog computing (especially the in-memory computing line using resistive memories / RRAM) shows that a matrix can be represented as a physical structure and that certain operations can emerge almost "by the laws of the circuit," while precision is recovered through iterative refinement, bit-slicing techniques, and block partitioning for scalability. ConvergenceX carries that intuition into consensus: it replaces the "pure randomness" of the hash lottery with a mandatory sequential trajectory (deterministic iterations), where each round depends on the previous one, memory is mixed in (scratchpad) to penalize shortcuts, and the final result is accompanied by a verifiable certificate (checkpoints + stability-basin proof). In essence, it is a PoW inspired by the idea that the hardest work to counterfeit is not "getting lucky," but demonstrating convergence under strict rules, reproducibly and identically on any machine (integer-only arithmetic, no floating point)—a reinterpretation of the spirit of the Antikythera Mechanism, but with modern standards of verifiability and adversarial consensus.
A simple mental model is an arrows-to-a-target process. Imagine a target board (the true solution) and an archer that is extremely fast but not perfectly precise. The first volley lands "somewhere near" the center — not exact, but close. Then the archer looks at the error (how far the arrows are from the bullseye) and fires corrected volleys that progressively shrink that distance. After a few rounds, the arrows cluster tightly around the bullseye. That is the essence of iterative refinement: quick approximate step → measure error → correct → repeat. In RRAM systems, the "fast volley" is the analog in-memory matrix operation, and the "correction rounds" are deterministic refinement loops that drive the residual down until the desired precision is reached.
ConvergenceX transfers this intuition into consensus. Instead of a pure hash lottery, a miner must execute a mandatory, strictly sequential convergence journey: derive a deterministic per-tip problem, run fixed rounds of integer-only updates with memory-hard mixing, commit intermediate checkpoints, and finally prove the result lies in a stable basin of attraction (a verifiable "this really converges" certificate). In the same arrows analogy, the block is valid only if the miner can show not just one lucky arrow, but an entire trajectory of corrections that consistently drives the solution toward the target — under rules that every node can reproduce bit-for-bit. The goal is not to claim "analog hardware inside the chain," but to adopt the convergence principle: work that is hardest to fake is not random guessing, but demonstrating irreversible convergence under strict, deterministic constraints.
3.1 Core Concept
Instead of "guessing until the hash is small enough", a miner must complete a deterministic convergence journey:
generate a per-tip deterministic problem (block_key),
execute 100,000 sequential rounds with memory-hard mixing,
commit checkpoints into a Merkle root,
verify stability basin constraints,
then compare a single commitment hash to the difficulty target.
You cannot win without completing the journey. Round r+1 depends on round r. Intra-attempt parallelism is structurally eliminated.
3.2 Algorithm — Detailed Specification (Consensus-Critical)
All arithmetic is integer-only (32-bit signed clamping where needed). No floating point exists in consensus paths.
Phase 1: Problem Generation (per tip)
block_key = SHA256(prev_hash || "BLOCK_KEY")
Matrix M (32×32):
raw = PRNG(SHA256(MAGIC || "M" || block_key), 32*32 bytes)
M[i][j] = (raw[k] % 255) - 127
Vector b (32):
raw = PRNG(SHA256(MAGIC || "B" || block_key), 32*4 bytes)
b[i] = int32_le(raw[i*4..i*4+3])
A(x) = M^T(Mx) + λx with λ = 100
block_key depends only on prev_hash (reduces grinding surface). Header fields remain bound via header_core inside seed and commit.
Phase 2: Iterative Convergence (100,000 rounds)
header_core = prev_hash||merkle_root||timestamp(u32 LE)||powDiffQ(u32 LE)
seed = SHA256(MAGIC||"SEED"||header_core||block_key||nonce||extra_nonce)
x0 = PRNG(SHA256(MAGIC||"X0"||seed), 32*4 bytes)
x0[i] = asr_i32(int32_le(x0[i]), 4)
state = SHA256(MAGIC||"ST"||seed)
for r=1..100000:
Phase 3: Checkpoint Merkle Tree (16 leaves)
Each leaf binds {state_hash, x_hash, round, residual(L1)} into checkpoints_root.
Phase 4: Stability Basin Verification (certificate)
Deterministic perturbation probes (k) and refinement steps (steps) enforce:
local non-explosion, and
global contraction for sufficiently large perturbations.
The cASERT equalizer adaptively selects (k, steps, scale) for liveness, with a bidirectional policy: it hardens (H1–H35) when the chain is ahead of schedule (emission protection) and eases down to E7 (liveness support: anti-stall after 60 min without a block, V12 triangular cascade within the current block). The Equalizer changes only the structural work profile; numeric difficulty is bitsQ.
Phase 5: Commitment & Target Check
COMMITMENT (binds all proof components):
commit = SHA256(
MAGIC || "COMMIT" ||
header_core || // binds to all header fields (anti-grinding)
seed || // binds to nonce + block context
state || // binds to full 100k-round computation
x_bytes || // binds to final solution vector
checkpoints_root || // binds to convergence trajectory
stability_metric_u64_le // binds to basin verification
)
VALID iff commit <= target(powDiffQ)
// Direct comparison (big-endian, 32 bytes).
// No second hash: commit already binds the full proof via SHA256.
The commitment hash is a single SHA-256 that binds together every component of the proof: the initial conditions (seed), the full computation trace (state), the final solution (x_bytes), the convergence trajectory (checkpoints_root), and the stability certificate (stability_metric). Any modification to any component changes the commitment, invalidating the proof.
3.3 Stability Basin Verification — Mathematical Certificate
The stability basin check is what transforms ConvergenceX from "structured computation" into a "mathematical certificate." It answers the question: is this solution a genuine attractor, or did the algorithm land here by accident?
Concept
A stability basin (or basin of attraction) is a region of the solution space where all nearby starting points converge to the same solution under the dynamics of the system. If x_final is in a stability basin, then small perturbations to the starting conditions will still lead to the same (or very nearby) solution after additional refinement steps.
ConvergenceX tests this by launching k deterministic perturbation probes around the final solution and verifying two independent criteria:
Criterion 1: Local Non-Explosion
LOCAL NON-EXPLOSION (per probe, per step):
For each probe i = 0..k-1:
delta[i] = deterministic perturbation vector (scale ∈ [-S, +S])
x_ref = x_final
x_pert = x_final + delta[i]
d_prev = L1_distance(x_ref, x_pert) // = d0
For step t = 1..g (gradient refinement):
x_ref = gradient_step(x_ref, M, b, λ, stability_lr_shift)
x_pert = gradient_step(x_pert, M, b, λ, stability_lr_shift)
d_now = L1_distance(x_ref, x_pert)
REJECT if d_now > d_prev + margin_eff
// Distance must never grow faster than allowed margin
d_prev = d_now
This ensures that the perturbed trajectory does not diverge from the reference trajectory at any step. If it does, the solution is near an unstable region and the proof is invalid.
Criterion 2: Global Contraction
GLOBAL CONTRACTION (for large perturbations only):
d0 = initial L1 distance between x_ref and x_pert
d_final = L1 distance after g refinement steps
IF d0 > large_threshold:
REJECT if d_final * c_den > d0 * c_num + margin_eff
Where:
large_threshold = (n * scale) / 2
c_num = 7, c_den = 10 // contraction ratio 0.7
margin_eff = margin * m_num / m_den
For perturbations that are large enough to meaningfully test the basin structure, the final distance must be strictly smaller than the initial distance (with a contraction factor of 0.7). This proves that the dynamics are contractive — nearby points get pulled toward the solution, which is the mathematical definition of a stable attractor.
Why Two Criteria
Local non-explosion catches solutions near saddle points or ridges where small perturbations in specific directions cause rapid divergence. Global contraction catches solutions in flat regions where the dynamics neither converge nor diverge — technically stable but not in a genuine basin.
Together, they provide a rigorous certificate that x_final is a true attractor of the regularized linear system.
Deterministic Perturbation Probes
PERTURBATION GENERATION (consensus-critical, miner-unbiasable):
stctx = SHA256(MAGIC || "STCTX" || header_core || seed || checkpoints_root)
For probe i:
raw = PRNG(SHA256(MAGIC || "PERT" || stctx || i || n), n bytes)
delta[j] = (raw[j] % (2*scale + 1)) - scale
Properties:
- Deterministic: same block → same perturbations
- Unbiasable: stctx depends on full proof, not just nonce
- Uniform: perturbation components in [-scale, +scale]
The stability context stctx is derived from header_core, seed, and checkpoints_root. This means the perturbation vectors depend on the entire proof trajectory — a miner cannot choose a nonce that produces "easy" perturbations without first completing the full 100,000-round convergence.
cASERT Equalizer Stability Parameters
The intensity of perturbation probes adapts to network conditions through the cASERT
equalizer (Section 3.12). The equalizer uses a bidirectional block-lag signal: it compares
the actual number of blocks mined against the ideal schedule (genesis + height × 600s)
and increases computational cost when the chain is running ahead of schedule (H1–H35), or decreases it (down to E7) on stalls and slow blocks (anti-stall, V12 cascade).
CURRENT MAINNET RULE (direct lag map, since block 5,323):
lag = (h - 1) - floor((prev.time - GENESIS_TIME) / 600) // positive = chain AHEAD of schedule
target profile = B0 if lag ≤ 0, else min(lag, ceiling) // ceiling H35 since block 12,000
hardening (up): immediate · easing (down): at most max(1, elapsed/600) levels/block · lag ≤ 0 → at most B0
anti-stall (60 min without a block) and V12 triangular cascade can ease further, floor E7
One Proof of Work, two dials: ConvergenceX + bitsQ + Equalizer
SOST keeps blocks at about 600 seconds with two independent controls acting on the same Proof of Work. One decides how rare a winning result must be; the other decides how demanding each attempt is. Every node recomputes both and rejects a block that declares anything else.
commit ≤ target(bitsQ). Blocks too fast → bitsQ up, target down, harder. Too slow → bitsQ down, target up, easier. Q16.16 fixed point, integer-only.bitsQ — the exact current rule (block 5,270+)
Equalizer — the exact current rule (direct lag map, block 5,323+)
Worked example
Historical designs — the five-signal PID/EWMA equalizer used before block 5,323, the H13/H20 ceilings of earlier versions, and the pre-genesis "L1–L6" level concept — are not current rules. They are kept for reference in the historical appendix only.
Mainnet profile parameters (all 43 active since block 12,000):
Mainnet profiles: E7(-7) through H35(+35), 43 total
B0 (baseline): scale=1, k=4, steps=4, margin=165
H35 (maximum): scale=2, k=20, steps=20, margin=115
E7 (deepest): scale=1, k=1, steps=1, margin=200
Current mainnet anti-stall: activates after 3,600 s (60 min) without a block; first drop immediate, then one level per 600 / 900 / 1,200 s for H≥7 / H4–H6 / H1–H3; after a further 6 h at B0, −1 level per 1,800 s down to E7. The 7,200 s activation was HISTORICAL (before block 4,300).
The pre-genesis level design (L1–L6+, its decay anti-stall and worked examples) was never implemented on mainnet. It is preserved in Appendix N — Historical cASERT designs.
3.4 Anti-Grinding and Proof Binding
ConvergenceX implements multiple layers of anti-grinding protection to prevent miners from exploiting degrees of freedom in block construction.
Block Key Derivation
BLOCK KEY (per-tip, anti-grinding):
block_key = SHA256(prev_hash || "BLOCK_KEY")
This determines:
- Matrix M (32×32 random integers)
- Target vector b (32 random integers)
- Scratchpad access pattern (via state evolution)
- Stability perturbation vectors (via stctx)
The block key depends only on prev_hash. This means that all attempts for a given chain tip share the same linear system — the problem is stable and predictable once the tip is known. Changing the nonce changes the initial state x0 and the convergence path, but the problem itself (M, b) remains the same.
This is a deliberate design to minimize grinding surface. If block_key included merkle_root, timestamp, or powDiffQ, miners could iterate over header field combinations to search for a problem with a "favorable" convergence landscape — effectively multiplying the search space in a way that benefits sophisticated miners disproportionately. With prev_hash only, the problem is fixed per tip and cannot be manipulated without chain reorganization.
Full header binding is achieved by injecting header_core into the attempt seed and the final commit, so any change to merkle_root, timestamp, or powDiffQ forces a full recomputation. This is a deliberate design choice to minimize problem grinding. Header field grinding is neutralized because header_core is bound into seed and commit:
HEADER CORE (binds all header fields into the proof): header_core = prev_hash(32) || merkle_root(32) || timestamp(u32 LE) || powDiffQ(u32 LE) // Total: 72 bytes, canonical little-endian serialization header_core is passed to ConvergenceX as an input parameter. It is mixed into the commitment hash, ensuring that any change to merkle_root, timestamp, or powDiffQ invalidates the proof — even though the problem (M, b) remains the same.
To get a different problem, the miner must change prev_hash — which requires reorganizing the chain. The other header fields are consensus-constrained:
merkle_root: determined by transaction selection (changes invalidate commit, not problem)timestamp: constrained by MTP and future drift rulespowDiffQ: determined by cASERT bitsQStability Context Binding
STABILITY CONTEXT (anti proof-reuse):
stctx = SHA256(MAGIC || "STCTX" || header_core || seed || checkpoints_root)
This binds the stability verification to:
- The specific block being mined (header_core)
- The specific nonce being tried (seed)
- The full convergence trajectory (checkpoints_root)
A miner cannot reuse a stability proof from one block/nonce combination on another. The perturbation vectors are different for every attempt, making each stability certificate unique to the exact proof it certifies.
Seed Derivation
SEED (per-attempt uniqueness):
seed = SHA256(MAGIC || "SEED" || header_core || block_key || nonce || extra_nonce)
Derived values:
x0 = initial solution vector
All downstream computation depends on seed
The seed combines header_core (binding all header fields), the block key (shared across attempts), and the nonce/extra_nonce (unique per attempt). This ensures that each attempt starts from a different initial condition and traverses a different convergence path through the shared problem landscape. Any change to merkle_root, timestamp, or powDiffQ changes the seed and forces a full recomputation.
3.5 Checkpoint Merkle Tree — Structure and SPV Applications
Tree Structure
ConvergenceX produces 16 checkpoints during the 100,000-round convergence loop, one every 6,250 rounds (100,000 / 6,250 = 16 exactly). Each checkpoint captures a snapshot of the computation state:
CHECKPOINT SCHEMA:
checkpoint = {
round: uint32, // round number (6250, 12500, ..., 100000)
state_hash: bytes32, // SHA256 chain of all state updates to this point
x_hash: bytes32, // SHA256 of solution vector x at this round
residual: uint64 // ||A(x) - b||₁ (convergence quality metric)
}
LEAF CONSTRUCTION:
leaf = SHA256("CP" || state_hash || x_hash || round_u32_le || residual_u64_le)
TREE PROPERTIES:
- 16 leaves → 4 levels → root in 15 hash operations
- Proof for any single checkpoint: 4 sibling hashes (128 bytes)
- Odd leaf count: last leaf duplicated (standard Merkle padding)
SPV Verification Use Cases
Light client block validation: A node in BASIC sync mode can verify the checkpoints_root without recomputing any gradient steps. It trusts the root (validated by full nodes at chain tip) and can spot-check individual checkpoints when operating in ADAPTIVE mode.
Convergence quality audit: By requesting checkpoints at rounds 6,250 and 100,000 from a full node, a light client can verify that the residual decreased — confirming genuine convergence occurred. The Merkle proof ensures the checkpoint data is authentic.
Entropy verification: The checkpoints_root is one of three components in the PoPC entropy triple. A PoPC verifier can confirm that the entropy source is authentic by validating the Merkle root against the block header, without needing to recompute the full proof.
3.6 Integer-Only Consensus Arithmetic
Every computation in the ConvergenceX consensus-critical path uses integer arithmetic exclusively. No floating-point operations exist in any consensus code path. This is a deliberate design decision with concrete implications.
Why Zero Floating-Point
IEEE 754 floating-point arithmetic is not deterministic across all hardware. Different CPU architectures, compiler optimizations, FPU modes, and instruction orderings can produce slightly different results for the same computation. In a consensus system, even a single bit of divergence causes a chain split.
Bitcoin avoids this by using integer arithmetic for difficulty adjustments and emission calculations. ConvergenceX extends this principle to the entire proof-of-work computation, which includes matrix-vector multiplication, gradient descent, residual computation, and stability verification — operations that traditionally use floating-point.
Implementation
INTEGER ARITHMETIC PRIMITIVES (consensus-critical):
clamp_i32(x):
return max(-2^31, min(2^31 - 1, x))
u32(x): return x & 0xFFFFFFFF
u64(x): return x & 0xFFFFFFFFFFFFFFFF
sat_u64_add(a, b):
return min(a + b, 2^64 - 1)
safe_residual_l1(Ax, b, n):
acc = 0
For i in 0..n-1:
acc += abs(clamp_i32(Ax[i] - b[i]))
if acc > 2^63 - 1: return 2^63 - 1
return acc
l1_dist_sat_u64(a, b):
acc = 0
For i in 0..n-1:
d = abs(clamp_i32(a[i]) - clamp_i32(b[i]))
acc = sat_u64_add(acc, d)
if acc == U64_MAX: return U64_MAX
return acc
asr_i32(x, s):
if s >= 31: return (x < 0) ? -1 : 0
ux = uint32(x)
shifted = ux >> s
if x < 0:
mask = 0xFFFFFFFF << (32 - s)
shifted |= mask
return int32(shifted)
Emission Schedule (Integer-Only Exponentiation)
The emission decay uses fixed-point arithmetic with explicit floor division:
FIXED-POINT EMISSION (consensus-critical):
Q_NUM = 7,788,007,830,714,049
Q_DEN = 10,000,000,000,000,000
_qmul_floor(a, b):
return (a * b) // Q_DEN
_qpow_floor(base, exp):
result = Q_DEN
x = base
while exp > 0:
if exp & 1: result = _qmul_floor(result, x)
x = _qmul_floor(x, x)
exp >>= 1
return result
subsidy(height):
epoch = height // 131,553
qpow = _qpow_floor(Q_NUM, epoch)
return (R0 * qpow) // Q_DEN
This produces bit-identical results on any hardware, any language, any platform — the fundamental requirement for consensus arithmetic.
3.7 ASIC Resistance — Design and Analysis
The Memory-Hard Foundation
Each ConvergenceX attempt performs 100,000 rounds, each reading 4 pseudo-random 32-bit words from a 4 GB scratchpad. The access indices are derived from the evolving state hash, which changes every round. This creates 400,000 pseudo-random reads across 1,073,741,824 possible 4-byte positions per attempt.
MEMORY ACCESS ANALYSIS (per attempt):
Scratchpad size: 4,096 MB = 4,294,967,296 bytes
Addressable words: 1,073,741,824 (32-bit words)
Reads per round: 4
Rounds per attempt: 100,000
Total reads: 400,000
Access pattern: Pseudo-random, state-dependent
Predictability: Zero — each index depends on state from prior round
Locality: None — uniform distribution across 4 GB
Required bandwidth: 400,000 × 4 bytes = 1.6 MB read per attempt
Working set: The access pattern is state-dependent and unpredictable;
the design targets a high penalty for time-memory tradeoffs
and requires practical residency of the full scratchpad for
competitive mining. A dedicated TMTO analysis is planned.
Why Sequential Dependency Defeats ASICs
The critical constraint is not the memory reads themselves — it is the sequential dependency chain:
SEQUENTIAL DEPENDENCY (unbreakable):
Round r produces:
state[r] = SHA256(state[r-1] || scratchpad_data || solution_data || r)
Round r+1 needs:
state[r] to derive scratchpad indices idx0..idx3
x[r] to compute gradient step
Therefore:
Round r+1 CANNOT BEGIN until round r COMPLETES.
Intra-attempt parallelism is eliminated by state dependency.
Specialized hardware may still improve energy per attempt,
which is addressed via memory-hardness and sequential verification.
An ASIC for SHA-256 can compute billions of independent hashes in parallel because each hash is stateless. An ASIC for ConvergenceX can only execute one round at a time per attempt, because each round reads from the solution of the previous round. The only parallelism available is running multiple independent attempts (different nonces) simultaneously — which is exactly what a CPU with multiple cores already does.
ASIC advantage estimate: A custom ASIC could potentially optimize the SHA-256 operations within each round and achieve tighter memory bus timing. The design is intended to minimize ASIC advantage; preliminary estimates suggest low multiples over modern CPUs, compared to >1000× advantage for SHA-256 ASICs. Formal, reproducible benchmarks will be published separately (methodology, hardware baselines, energy per attempt, and RAM latency profiles).
Scratchpad Construction
The scratchpad is deterministic, epoch-specific, and constructed via a sequential SHA-256 chain:
SCRATCHPAD CONSTRUCTION (deterministic):
epoch_key(epoch=0):
SHA256(MAGIC || "EPOCH" || epoch_u32)
epoch_key(epoch>0):
SHA256(MAGIC || "EPOCH" || epoch_u32 || anchor_block_id)
build(seed_key, size_mb):
h = SHA256(MAGIC || "SCR" || seed_key)
counter = 0
For each 32-byte position in scratchpad:
h = SHA256(h || counter_u32)
write h to scratchpad
counter += 1
Properties:
- Deterministic: same epoch → same scratchpad on all nodes
- Sequential: each 32-byte chunk depends on the previous one
- Epoch-specific: new epoch → new scratchpad → new access patterns
- Anchor-dependent (epoch>0): scratchpad for epoch N depends on
the block that ended epoch N-1, which is unknown until that block is mined
Epoch anchor innovation: For epoch > 0, the scratchpad key depends on the block_id of the last block of the previous epoch. Since block_id commits to the full header (including timestamp), it is sufficient for uniqueness without separately including anchor_timestamp — which would create a timestamp-grinding vector. This means the scratchpad for a new epoch cannot be pre-computed — miners must wait for the epoch transition block to be mined before building the new scratchpad.
3.8 ConvergenceX as Entropy Engine
Every valid block produces a unique, unpredictable, publicly verifiable entropy triple:
ENTROPY TRIPLE (per block):
E = (block_id, commit, checkpoints_root)
full_header = MAGIC(10) || "HDR2"(4) || header_core(72) ||
checkpoints_root(32) || nonce(u32 LE) || extra_nonce(u32 LE)
- Does NOT include commit (commit is appended separately in block_id)
block_id = SHA256(full_header || "ID" || commit)
- Depends on: all header fields + full ConvergenceX proof
- commit is NOT part of full_header; it is concatenated after "ID"
commit = SHA256(MAGIC || "COMMIT" || header_core || seed || state || x || cp_root || metric)
- Depends on: all 100,000 rounds of computation
checkpoints_root = Merkle root of 16 checkpoint leaves
- Depends on: state evolution at 16 intermediate points
PROPERTIES:
- Unpredictable: no party can know any component before the block is mined
- Unbiasable: choosing a different nonce changes all three values
- Publicly verifiable: any node can validate against the block header
- Information-rich: three independent 32-byte values per block
This entropy powers the PoPC audit system (Section 6.3). The same proof-of-work that secures the chain produces the randomness that governs custody audits — no external oracle, no trusted randomness beacon, and no additional computation required.
3.9 Comparative Analysis: ConvergenceX vs SHA-256 vs RandomX vs Ethash
Bitcoin's SHA-256 remains the canonical PoW baseline—simple, robust, and historically proven. SOST targets different properties: structured work + certificate + entropy triple + memory-hardness.
| Dimension | ||||
| Year introduced | 2009 | 2019 | 2015 (PoS migration 2022) | 2026 |
| Proof nature | Hash below target | Hash below target | Hash below target | Convergence certificate + hash below target |
| Core operation | Double SHA-256 | Random VM program execution | DAG read + Keccak hash | Gradient descent + scratchpad + stability check |
| RAM required (mining) | ~0 MB | 2,048 MB (2 GB) | 1-4 GB (growing DAG) | ~8,192 MB (4 GB dataset + 4 GB scratchpad) |
| RAM required (node) | ~0 MB | ~256 MB | ~256 MB | ~500 MB (no dataset/scratchpad) |
| ASIC advantage | >1,000× | ~3-5× estimated | ~2-5× (Ethash ASICs exist) | Designed for low multiples (hypothesis; formal benchmark pending) |
| Difficulty adjustment | Every 2,016 blocks (~2 weeks) | Every block (simple ratio) | Every block (bomb + ratio) | Every block (cASERT bitsQ Q16.16, avg288-based since block 5,175, dynamic cap since 5,270) |
| Mathematical certificate | None | None | None | Stability basin proof (k probes × g steps) |
| Useful entropy output | Block hash only | Block hash only | Block hash only | Entropy triple (block_id + commit + cp_root) |
| Consensus arithmetic | Integer (nBits, subsidy) | Integer + float (VM) | Integer | 100% integer (zero floating-point) |
3.10 Consensus Parameters
Parameter Value
RAM (mining total) ~8,192 MB (4,096 MB scratchpad + 4,096 MB dataset)
RAM (node validation) ~500 MB (no scratchpad/dataset needed)
Rounds per attempt 100,000 sequential
State dimension 32
Learning rate shift 18
Regularization λ 100
Checkpoint interval 6,250 (16 checkpoints)
Difficulty encoding SOSTCompact Q16.16
Difficulty algorithm cASERT bitsQ, avg288-based (block 5,175+), dynamic cap (block 5,270+)
Per-block delta cap Dynamic (5,270+): dead band ±15 s (0%), then 0.5%/1.0%/2.0%/≈3.03% (HISTORICAL: 12.5% V2, blocks 1,450–5,174)
cASERT equalizer signal Block lag vs ideal schedule (bidirectional)
Equalizer profiles E7(-7) through H35(+35), 43 total
Stability baseline scale=1, k=4, margin=165, steps=4, stab_shift=20
Block target spacing 600s
3.11 cASERT bitsQ Difficulty Adjustment (Consensus-Critical)
cASERT bitsQ compares observed timing to expected schedule and adjusts powDiffQ deterministically.
slow chain → decrease powDiffQ → larger target → easier
fast chain → increase powDiffQ → smaller target → harder
Per-block delta cap bounds the response:
CURRENT MAINNET RULE (block 5,270+): target 600 s; bitsQ is Q16.16 and recomputed every block; avg = mean of clamped intervals over the last 288 blocks, dev = avg − 600; dead band ±15 s (no change); per-block step 0.5% for |dev| in (15,60] s, 1.0% for (60,120] s, 2.0% for (120,240] s, ≈3.03% (prev/33) above 240 s. Slow chain → easier, fast chain → harder; clamped to [1.0, 255.0]. Slingshot relief (V12, block 7,350+) on the current block’s elapsed time: >1,200 s −6.5%, >1,800 s −12.5%, >3,600 s −25%, >7,200 s −37.5%, >10,800 s −50%.
HISTORICAL: <5,175 anchor exponential (half-life 48 h, cap 6.25% before 1,450; half-life 24 h, cap 12.5% for 1,450–5,174); 5,175–5,259 avg288 with ±30 s dead band and flat 12.5% cap; 5,260–5,269 ±30 s dead band with median288 override, steps 0.5%/1.5%/2.5%/3.0%.
3.12 cASERT Equalizer — Consensus-Critical Structural Correction
IMPORTANT: cASERT is the unified consensus-critical block-rate control system. Both the bitsQ primary controller and the equalizer profile are deterministic and consensus-critical. The equalizer adjusts ConvergenceX stability parameters according to the block-lag level, and validators enforce the correct equalizer profile for each block.
The cASERT equalizer does not change numerical difficulty. It adjusts stability verification
intensity based on block lag — the difference between the expected number of
blocks since genesis and the actual chain height. The equalizer is bidirectional: it
increases computational cost when the chain is ahead of schedule (H1–H35, emission
protection) and decreases it on slow blocks (V12 cascade, from 540 s) and stalls (anti-stall, from 60 min),
down to E7 (liveness support). A negative lag alone never selects an E profile. cASERT bitsQ handles numerical difficulty in both directions.
CONVERGENCEX DIFFICULTY CONTROL = bitsQ + Equalizer. bitsQ regulates the numeric difficulty of the target; the Equalizer regulates the structural cost profile of each ConvergenceX attempt under the cASERT rules. Both are recomputed and verified by every node. They are two independent controls of one consensus.
CURRENT MAINNET RULE (Equalizer):
lag = (h - 1) - floor((prev.time - GENESIS_TIME) / 600) // positive = chain AHEAD of schedule
target profile = B0 if lag ≤ 0, else min(lag, ceiling) // direct lag map since block 5,323
43 profiles E7(-7)…B0…H35(+35), table since block 5,750; ceiling H35 since block 12,000
hardening (up): immediate · easing (down): at most max(1, elapsed/600) levels per block · lag ≤ 0 → at most B0
anti-stall: 3,600 s (60 min) without a block → first drop immediate, then 1 level per
600 / 900 / 1,200 s for H≥7 / H4–H6 / H1–H3; after 6 h, −1 level per 1,800 s down to E7
V12 triangular cascade (block 7,350+): elapsed ≥ 540 s → n = min(1+(elapsed−540)/60, 7),
drop = n(n+1)/2 = 1,3,6,10,15,21,28 levels at 540…≥900 s, floor E7
The validator recomputes the profile; the declared profile_index must equal it.
The Equalizer changes only stab_scale / stab_steps / stab_k / stab_margin, never bitsQ.
Why an Equalizer at all. bitsQ moves by at most ≈3.03% per block. A sudden influx of hashrate can therefore outrun it for many blocks and emit coins ahead of schedule. The Equalizer watches the cumulative schedule (block lag since genesis) and, when the chain is ahead, makes every ConvergenceX attempt structurally more expensive at once — without touching the target. When blocks are slow it never hardens (lag ≤ 0 → at most B0), and the cascade and anti-stall ease the attempt so the chain keeps moving. Lag is computed from the previous block’s timestamp (bounded by MTP and the 30 s future-drift limit), so every validator reaches the same profile.
compute_cost = scale × k × steps (B0: 1 × 4 × 4; all parameters per profile in the cASERT Specification)
The pre-genesis signal convention (expected − actual, wall-clock time), the L1–L6+ level table and the earlier sliding-window rationale are preserved in Appendix N. They are not mainnet rules.
3.13 Node Synchronization and Verification Policy
FULL: recompute full ConvergenceX proof for each block.
ADAPTIVE (default): FULL on recent tail + sampling; BASIC deep history.
BASIC: header/difficulty/time/target checks only; MUST NOT accept tip blocks.
3.13.1 Fast Sync — Hard Checkpoints and Assumevalid Anchor
New nodes joining the network can skip expensive ConvergenceX recomputation for trusted historical blocks. Structural, semantic, and economic validation always runs — only the expensive CX recompute is conditionally skipped.
Trust model (two independent mechanisms):
1. Hard checkpoints: A block is trusted ONLY if its height AND block hash match a hardcoded checkpoint exactly. Lower height alone is never sufficient to grant trust.
2. Assumevalid anchor: Similar to Bitcoin Core’s -assumevalid flag. If a known block hash exists on the active chain, ancestors of that branch can skip expensive CX recomputation. If the anchor is not on the active chain (e.g. during a chain split), no fast trust is granted.
Verification always performed (all blocks, all modes):
- Header structure and magic bytes
- Timestamp validation (MTP monotonicity + future drift)
- cASERT bitsQ difficulty compliance
- SOSTCompact target threshold (commit <= target)
- Coinbase split correctness (50/25/25 to #24,999; 50/50 miner/DTD since #25,000)
- Constitutional address verification
- Transaction structure and semantic rules
- UTXO set updates (ConnectBlock)
Verification skipped (trusted historical blocks only):
- Full 100,000-round gradient descent recomputation
- 4GB scratchpad + 4GB dataset reconstruction (miner-only memory)
- Stability basin re-verification
Any node operator can force full verification with --full-verify. Checkpoints and the assumevalid anchor are committed in source code, reviewed by the development team, and updated with each release. A block must have been fully verified by at least one trusted node before being added as a checkpoint or set as the assumevalid anchor.
This mechanism does not change consensus rules. A block that passes fast sync verification would also pass full verification.
3.14 Worked Example — How a Block Is Mined and Verified (ConvergenceX + cASERT)
This section provides a technical but simple walkthrough of how a SOST block is constructed and validated, using real-looking values as an example.
3.14.1 Inputs (example)
prev_hash: 32 bytes
merkle_root: 32 bytes
timestamp ts = 1,771,700,109
MedianTimePast MTP = 1,771,697,922
powDiffQ = 350,629 → powDiffQ / 65,536 ≈ 5.35 bits
cASERT equalizer selected stability parameters:
scale=1, k=4, margin=165, steps=4, stab_shift=20
3.14.2 Timestamp Rules (MTP + Future Drift)
Rule A: ts > MTP
Here: 1,771,700,109 > 1,771,697,922 → OK (difference 2,187s).
Rule B: ts <= now + future-drift limit → prevents "future blocks". Current: 30 s (block 12,000+); HISTORICAL: 60 s (6,550–11,999), 600 s (before 6,550).
3.14.3 cASERT bitsQ Difficulty (powDiffQ → target)
Difficulty is encoded as Q16.16 log-space:
bits ≈ powDiffQ / 65,536 ≈ 5.35
Validity requires:
commit <= target(powDiffQ) (big-endian integer comparison)
cASERT bitsQ update intuition:
if blocks slow → reduce powDiffQ → easier
if blocks fast → increase powDiffQ → harder
then clamp per-block change and global bounds.
3.14.4 cASERT Equalizer — What the stability parameters mean
scale=1: each perturbation component in [-1, +1] ("how far we poke")
k=4: number of probes (more probes = stronger certificate)
steps=4: refinement steps per probe
margin=165: tolerated bounded growth in local distance (B0)
stab_shift=20: conservative refinement step size (smaller updates)
3.14.5 One mining attempt (simple pipeline)
header_core = prev_hash || merkle_root || ts || powDiffQ
block_key = SHA256(prev_hash || "BLOCK_KEY")
seed = SHA256(MAGIC||"SEED"||header_core||block_key||nonce||extra_nonce)
run 100k sequential rounds + scratch mixing + checkpoints
compute checkpoints_root
stability basin verification using cASERT equalizer params
commit = SHA256(... all bound components ...)
accept iff commit <= target(powDiffQ)
block_id = SHA256(full_header || "ID" || commit)
3.14.6 What a validator does
BASIC: checks time, cASERT bitsQ powDiffQ, commit<=target, and linkage.
FULL: recomputes ConvergenceX proof and compares commit/cp_root/metric/block_id.
3.15 SOST vs Bitcoin vs Ethereum — Security and Incentives
SOST vs Bitcoin vs Ethereum: who secures the chain, and how are they paid?
Two different questions are mixed up all the time: how a protocol is designed, and how decentralized its real network is. Bitcoin and Ethereum are remarkable not only for their design but because thousands of independent people and organisations run them, verify them and have real money at stake, year after year. SOST shares the design principles of permissionless consensus; it does not yet have that maturity.
The same day, three ways — worked examples
Side by side
| Bitcoin | Ethereum | SOST | |
|---|---|---|---|
| Security | Proof of Work (SHA-256d) | Proof of Stake | Proof of Work (ConvergenceX) |
| What you commit | ASICs + energy | 32 ETH (solo validator) | CPU + RAM + energy; no deposit |
| Block producer | whoever finds the PoW | validator selected per slot | whoever finds the PoW |
| Votes / attestations | no | yes | no |
| Slashing | no | yes | no |
| Direct reward | 100% subsidy + fees to the finder | issuance; proposer also gets fees/MEV | 50% of subsidy + fees to the finder |
| Extra reward | — | occasional block proposal | DTD every block · Jackpot every 288 blocks |
| Are nodes paid? | no | only as validators | no — a bound node is a Jackpot condition, never a multiplier |
| Sybil resistance | hashrate | staked ETH | real PoW blocks (SbPoW-signed identities) |
| Coins locked to take part | no | yes | no |
| Finality | probabilistic (more blocks = safer) | explicit, after ~2 epochs (~13 min) | probabilistic |
| Difficulty adjustment | every 2,016 blocks | n/a | every block: bitsQ + Equalizer |
| Long-term security budget | fees after the last halving | issuance + fees | fees only after the cap (no tail emission); under current rules half of fees also go to DTD |
Why SOST does not pay nodes simply for existing
Paying every node invites a Sybil attack: one person rents 10,000 cheap servers and claims 10,000 rewards. The Internet cannot tell 100 IPs that are 100 people from 100 IPs that are one person. Jackpot V2 therefore uses the node only as a door, and real PoW as the weight:
Normal DTD today: an address must have mined in the last 288 blocks; addresses that mined any of the previous 6 blocks are skipped (with a fallback if that would leave nobody); the draw is uniform among the eligible, not proportional to hashrate. An anti-dominance rule (an address with ≥10% of the last 288 blocks is skipped) exists but switches on only when at least 11 distinct miners are active — so with today's small miner set it is not in effect. Jackpot V2 has no cooldown and no anti-dominance.
The honest test of decentralization: what can you switch off?
| Property | Bitcoin | Ethereum | SOST (goal, if reached) |
|---|---|---|---|
| Permissionless consensus | yes | yes | yes (today too) |
| Your own node verifies all rules | yes | yes | yes (today too) |
| Home hardware competitive in block production | no (ASICs) | node yes; validating needs 32 ETH | the design goal — not yet proven under adversaries |
| Client diversity | moderate | very high | one implementation today |
| Independent operators | enormous | enormous | must grow a lot |
| Years under attack | ~17 | ~11 | months |
| Dependence on the creator | none | very low | goal: none |
3.16 Research Horizon — SOST Automated Bridge (C701), Gold Access Key, Gold Reserve V2 and Governance (design in development · not active)
SOST Atomic Bridge (Atomic Reserve Vault), Gold Access Key, Gold Reserve V2 and governance (#40,000 research horizon)
The target architecture of the bridge is the SOST Atomic Bridge (3.16.1). C701 replaced the previous federated design with automated verification; its lock/mint model is now the conventional reference (3.16.2). The bridge, wSOST and Gold Reserve V2 exist only as development contracts, a verification-engine prototype and tests on a local development chain. Nothing is deployed on any public chain, no contract is live, no funds exist and there is no launch date; real operations are blocked by design until the open blockers below are closed, and any future activation is subject to security work, an external audit and legal/regulatory review. Current consensus (50% miner / 50% DTD) is unchanged; #40,000 is a research horizon, not an activation commitment. Public explanation and DEMO: wSOST & Gold Vault.
Two services only
3.16.1 Target architecture — SOST Atomic Bridge (Atomic Reserve Vault)
On 2026-10-26 SOST fixed one target architecture for the bridge: the SOST Atomic Bridge, an Atomic Reserve Vault (ARV). SOST does not intend to mint a new wSOST for every bridge operation. The target uses a preissued, immobilized wSOST reserve on Ethereum and bidirectional atomic swaps; native SOST received by the bridge forms the corresponding reserve. The conventional lock/mint design of 3.16.2 (C701/C703) is kept as the reference model and as the prototype whose components are reused; it is not a second product.
Premint accounting:
Native SOST is never burned. Returned wSOST goes back to the inventory: no burn is required. A large inventory is itself a target; it would be sized to the exposure caps and topped up in tranches (the 1,000,000 figure is illustrative).
Entry (SOST → wSOST, 1,000) with the native HTLC active since #16,000 and an Ethereum HTLC with the same sha256 hashlock:
Step 4 must not happen for a SOST lock that does not exist, so the entry still needs a verifier: today the engine's authorization (a threshold of keys is possible), later possibly a SOST light client on Ethereum. Mint authority becomes release-from-inventory authority, bounded by the inventory and the caps, not removed.
Exit (wSOST → SOST, 500):
Failure and refund: the side that moves first gets the longer deadline. If the vault never releases, the user refunds the SOST; if the user never claims, the vault HTLC returns to the inventory and the user refunds; the XAUT escrow returns on expiry; secrets and swap ids are single-use. Two risks stay open: (a) if the user claims wSOST and the reserve fails to claim the SOST before the user's deadline, the user could refund and keep the wSOST (only the claim key can claim a SOST HTLC, so watchtowers cannot help); (b) a reorg of the SOST lock after the vault released is bounded only by the 30-confirmation depth. The Gold Access Key is escrowed before the claim because a secret revealed in a reverted claim would otherwise let the reserve take the SOST while the user received nothing.
The central problem — who controls the native SOST reserve? An atomic swap coordinates the exchange; it does not decide who controls the SOST afterwards. The native HTLC has single-key claim and refund keys. V17 native multisig (OUT_MULTISIG, M-of-N <= 15, no script engine) may fund an HTLC and receive an HTLC claim, but cannot be an HTLC claimant or refund key, and has no timelocked recovery path. A 3-of-5 reserve reduces single-key risk; three signers can still move the whole reserve, and they decide off-chain when to fund an exit. With current and V17 primitives, arbitrary withdrawal by the reserve signers is NOT impossible. Missing primitives (research only, none authorized, consensus unchanged):
Cross-chain proofs keep a role, no longer for every exchange: the entry release, public reserve verification, settlement checks, reorg detection and recovery. ConvergenceX has a compact transcript proof (about 10-20 ms natively, no 4 GB dataset), so a SOST light client on Ethereum is not ruled out; its EVM cost with the cASERT rules is unmeasured and expected to be high.
Comparison (official documentation, 2026-10): Atomiq verifies Bitcoin PoW with an on-chain light client and releases LP liquidity from UTXO-controlled vaults; THORChain uses a bonded validator set, TSS vaults and liquidity pools; Chainflip uses 150 validators and an aggregate key with FROST 100-of-150 signing. The SOST design aims to avoid a separate validator network and a pool; it is not claimed to be more secure, more advanced or novel. Neither model A (lock/mint) nor model B (ARV) is automatically trustless.
Proof of concept (testnet / devnet only, NOT STARTED): 100 fictitious preminted wSOST; entry, exit, counterparty disappears, deadline ordering, engine stops, secret replay, concurrent swaps, reserve insufficient, reorg, attempted reserve theft; decisive test 500 SOST → 500 wSOST → 500 SOST with 1:1 kept and no operator permission. The theft test is expected to fail with today's primitives. Until all of it is shown, the Atomic Reserve Vault is RESEARCH ONLY.
C705 feasibility result — a keyless native reserve
A reserve that nobody holds a key to can only react to events its own chain can verify. Hashlocks alone cannot protect it: with no deciding counterparty, anyone could make it lock SOST under a secret of their own choosing. The keyless form of the Atomic Bridge therefore replaces "who signs" with "what is proven", in both directions: the Ethereum vault releases inventory only against a proof of a confirmed SOST deposit, and SOST pays from the reserve only against a proof of a finalized Ethereum return. HTLCs remain only as an optional fast path for market makers swapping their own funds. Minimum new SOST primitives (research only, none authorized, consensus unchanged):
Every action is permissionless: amount and destination are fixed by the deposit or the Ethereum event, so execution is open and ownership does not exist. A bounded model check (research/arv/arv_model.py) explores every order of events with users, relayers and an attacker who holds funds: a key or M-of-N reserve can be taken (DESIGN FAIL); the keyless rules lose or duplicate nothing and every user can finish or cancel alone; a SOST reorg deeper than the confirmation depth breaks the backing. Evidence, not a formal proof. Remaining trust: SOST PoW majority (weak while mining is concentrated, so amounts must be capped), more than 2/3 of Ethereum's 512-member sync committee, code correctness, one honest relayer, bootstrap checkpoints; every Ethereum hard fork needs a SOST release first, or the reserve waits frozen. Both rules are a hard fork: NOT in V17 (#40,000); better as V18, after a devnet PoC of N1 + N2 and an external review. No bridge is 100% trustless; the aim is no custodian, no admin key, no multisig and no human approval.
3.16.2 Conventional reference model — lock / mint (C701/C703 prototype)
Invariants and backing (conventional reference)
The XAUT contribution (Gold Access Key) is NOT backing of SOST or wSOST, NOT a peg, NOT a price floor, NOT a price guarantee, NOT a redemption promise and NOT 1:1 gold backing. Gold held by Gold Reserve V2 gives no individual redemption right.
Five accounts, never combined
Flow of the conventional reference prototype (lock/mint)
Gold Access Key
The cap was revised from 50 EUR to 250 EUR on 2026-10-26: at 1,000,000 EUR the effective rate is 0.025%, against 0.005% with a 50 EUR cap. Fees of other bridges price capital, relayers and gas and are not directly comparable to this contribution.
How it differs from most bridges
Most bridges pay their fee to liquidity providers, relayers, a treasury or token holders, and many depend on an outside key set or a pool (Ronin 2022: 5 of 9 validator keys; Harmony Horizon 2022: 2 of 5 multisig keys; Wormhole 2022: a signature-verification bug minted 120,000 wrapped ETH). The SOST design has no pool (always exactly 1:1), no outside federation, no fee on the return, and its fee builds a public gold reserve. It is not trustless: in its first version the engine is a single central point of trust, which is why it is not active. No bridge model is universally better.
State machine
Custody target with V17 (#40,000) native multisig: a 3-of-5 Bridge Vault, with spending keys separate from the Ethereum mint-authorization key. Status: not audited; contracts and engine are development prototypes. Full explanation, state names, comparison and worked examples: wSOST & Gold Vault.
SOST/EUR has no approved methodology: while it is absent the contract refuses every mint and the engine every request. The informational gold reference (0.8886707657 mg per SOST) is not a market price and is never used for fees.
Trust — stated plainly
Ethereum cannot read SOST, so in the current prototype backing is asserted by the operator's authorizer keys: a central point of trust. A compromised authorizer key could issue unbacked wSOST up to the per-mint, daily and exposure caps until reconciliation (BALANCED / PENDING / CRITICAL) pauses minting — this is why the design is not ready for production. Native SOST multisig is not active (planned for V17), so today the Bridge Vault could only be a single cold key with offline releases. A refund requires a final on-chain revoke and the expiry of every issued authorization, so nobody can keep both. Stronger options under study: SOST header relay with Merkle inclusion proofs, succinct validity proofs, delay/veto windows for large mints, threshold signing and native multisig.
MINTED_WSOST <= VERIFIED_CONFIRMED_NATIVE_SOST_LOCKED, and the system must fail closed (no mint) whenever it cannot be demonstrated. The current prototype does not meet this yet.Open blockers (public)
Gold Reserve V2 powers
SOST is not individually gold-backed: the reserve is restricted external ecosystem wealth with no individual right of redemption, parity, yield or guarantee.
Governance constitution
SOST votes do not execute Ethereum state: guardians do. Ignoring a valid vote would be publicly provable, not technically impossible — hence four layers: guardians, vote, timelock and destination-restricted contract. SOST and wSOST are never described as gold-backed, pegged, floored or redeemable.
HISTORICAL / SUPERSEDED DESIGN (kept for the record, never operational): the Gold → wSOST desk (selling existing treasury wSOST for XAUT at auction/TWAP prices), funding Gold Reserve V2 through that sale, 2-of-3 federated observer attestations with a relayer paying the mint gas, and the WSOST:0x… deposit capsule. It is not operational and is no longer the target architecture.
4. Monetary Policy
4.1 Feigenbaum Emission Schedule (Consensus-Critical)
Epoch-constant subsidy with exponential decay:
TARGET_SPACING = 600 seconds
BLOCKS_PER_EPOCH = 131,553
Decay factor q = exp(-1/4) implemented as fixed-point:
Q_NUM = 7,788,007,830,714,049
Q_DEN = 10,000,000,000,000,000
Initial reward:
R0_STOCKS = 785,100,863 (7.85100863 SOST)
Consensus rule:
epoch = height // BLOCKS_PER_EPOCH
reward = floor(R0 * q^epoch) // fixed-point exponentiation by squaring
4.1.1 Hard Cap by Construction (Consensus-Critical)
SOST enforces a maximum supply by construction, not by tracking cumulative supply on-chain.
Let B = BLOCKS_PER_EPOCH and 0<q<1. Since floor(x) ≤ x:
TotalIssued ≤ B Σ_{e≥0}(R0 q^e) = B * R0 / (1 - q) ≤ SUPPLY_MAX_STOCKS
because R0 is chosen from SUPPLY_MAX_STOCKS and q exactly as defined.
No other minting path exists. Any block that mints more than subsidy(height) is invalid.
Any shortfall due to flooring remains permanently unissued.
Hard cap: 4,669,201 SOST enforced at consensus level. Subsidy drops to zero when cap is reached; miners earn fees only.
4.2 Coinbase Split — Constitutional Rule (Consensus-Critical)
q = reward // 4
gold = q
popc = q
miner = reward - gold - popc
Invariant: miner + gold + popc == reward
4.3 Coinbase Transaction Format (Normative)
Exactly 3 outputs in canonical order:
miner
FUNDING_VAULT_ADDR
POPC_POOL_ADDR
Amounts must match the split exactly. Any deviation → invalid block.
4.4 Supply Projections
VAULT ACCUMULATION (PoPC Pool & Gold Funding Vault each receive 25%):
Epoch 0 (years 0-2.502): 258,210 SOST per vault
Year 1 alone: 103,160 SOST per vault
TOTAL SUPPLY BREAKDOWN:
Miners: 2,334,600 SOST (50%)
Gold Funding Vault: 1,167,300 SOST (25%)
PoPC Pool: 1,167,300 SOST (25%)
Maximum: 4,669,201 SOST (hard cap)
~95% of total supply mined in ~12 epochs (~30 years)
4.5 Comparison: SOST Emission vs Bitcoin Emission (Respectful)
| Property | ||
| Max supply | 21,000,000 BTC | 4,669,201 SOST |
| Initial reward | 50 BTC/block | 7.851 SOST/block |
| Decay method | Halving every 210,000 blocks | Smooth 9.03% annual decay |
| Decay events | Discrete cliff (reward drops 50% overnight) | Continuous (no cliff events) |
| Mining allocation | 100% to miner | 50% miner, 25% gold, 25% PoPC |
| Smallest unit | 1 satoshi (10⁻⁸ BTC) | 1 stock (10⁻⁸ SOST) |
| ~95% emission | ~2036 (year 28) | ~2056 (year 30) |
| Supply cap enforcement | Consensus rule | Subsidy-by-height only (upper-bounded by construction) |
5. Metals Reserve
5.1 How It Works — Two-Vault Architecture
SOST uses a two-vault architecture to separate operational liquidity from permanent reserve storage.
TWO-VAULT ARCHITECTURE
FUNDING VAULT (operational, on SOST chain):
via publicly auditable operational execution (Section 5.3).
HERITAGE RESERVE (Heritage, Ethereum mainnet):
precious-metal tokens (default: XAUt and PAXG).
except under the Emergency Catastrophe procedure (Section 5.2 + Appendix G).
FLOW:
Block reward (coinbase) →
[Gold Funding Vault (SOST)] → sell SOST (TWAP) → buy XAUT/PAXG →
[Heritage Reserve (XAUT/PAXG)] → HERITAGE / SEALED — Perpetual by default;
movable only via Emergency Catastrophe.
WHY TWO VAULTS:
ASSET POLICY:
Default split: The conversion pipeline targets 50/50 acquisition of XAUt and PAXG
by default. During Phase I (before block 10,000), SOST developer may adjust this split operationally;
after V6 activation, adjustments require consensus-level governance. All adjustments apply only to future purchases and must be disclosed in batch reports.
Previously purchased reserve assets are not rebalanced except under Emergency Catastrophe.
5.2 Constitutional Rules — Metals Reserve
The following rules are constitutional (project-level commitments) and are enforced either by SOST consensus (Gold Funding Vault inflow) or by immutable smart contracts and public auditability (Heritage Reserve behavior and reporting).
Metals Reserve Constitution (immutable at genesis)
G1 (Consensus Allocation) — HISTORICAL (blocks 0–24,999): every valid block had to pay the Gold Funding Vault exactly q = reward // 4. Since V15 (#25,000) the vault receives 0 and its balance is frozen for the DTD Jackpot.
Any block that fails to do so is invalid.
G2 (Two-Vault Separation): Gold Funding Vault is operational; Heritage Reserve is sealed storage.
All purchased XAUT/PAXG MUST be deposited into the Heritage Reserve.
G3 (Heritage Reserve): The Heritage Reserve is deployed on Ethereum mainnet and is sealed by default.
No outbound transfers occur in normal operation. Reserve assets are intended to remain perpetual
and untouched while SOST exists, except under Emergency Catastrophe authorization.
G4 (Purchase Start Delay + Market Readiness): Purchases begin no earlier than 8 months after public launch
and only once market readiness is met. Market readiness requires at least one verifiable execution
venue capable of selling SOST and acquiring XAUt/PAXG under the TWAP policy with bounded slippage.
A venue may be a CEX, OTC desk, or a DEX with demonstrated liquidity, provided execution produces
a publicly auditable batch trail.
G5 (Batching / Anti-Momentum): Purchases are executed in batches and MUST follow a
rule-based TWAP execution policy (Section 5.3.1), not discretionary market-timing.
G6 (Allowlist + Staging Assets): Reserve assets are limited to allowlisted precious-metal tokens
(default: XAUt and/or PAXG). USDC and USDT may be used strictly as temporary staging assets during
execution (≤72 hours) and are not Reserve assets.
G7 (Default 50/50; Future Purchases Only): Default acquisition targets 50/50 XAUt/PAXG.
During Phase I (before block 10,000), SOST developer may adjust the split operationally; after V6 activation,
adjustments require consensus-level governance. Adjustments apply only to future
purchases and must be disclosed in batch reports. Previously purchased reserve assets are not
rebalanced except under Emergency Catastrophe.
G8 (Issuer Risk Policy): During Phase I, SOST developer may redirect future purchases away from a threatened issuer
without consensus. After V6 activation (block 10,000), redirection requires consensus-level governance. Previously purchased reserve assets remain sealed unless Emergency Catastrophe
is authorized.
G9 (Emergency Catastrophe — V6 5-Defense Gold Vault Model):
The Gold Vault must be able to change form, but not purpose. Reserve movements are permitted only under a narrowly defined catastrophe procedure intended for issuer failure/migration events or existential reserve-safety events. After V6 activation (block 10,000), emergency reserve operations require ALL five constitutional defenses to be satisfied simultaneously:
Defense 1 (Purpose Restriction): Vault funds may only be used for reserve operations
(rotation, migration, or redistribution). No general-purpose spending.
Defense 2 (Dual Destination Whitelist): Outbound transfers are restricted to constitutional
addresses only. Adding a new valid destination requires a hard fork, not a vote.
Defense 3 (Hard Per-Spend Cap): No single transaction may move more than 2% of vault balance.
Defense 4 (Asymmetric Rate Limiting): GV1 (routine rotation): max 5% of balance per 30-day
window. GV3 (non-routine migration): 30-day cooldown between operations.
Defense 5 (95% Supermajority): Non-routine reserve migration (GV3) requires ≥95% miner
signaling in a defined activation window, recorded on-chain as
EmergencyApproved(proposalId, paramsHash, startHeight, endHeight).
GV2 (operational small spend ≤10%) is eliminated. Vault SOST is never burned.
Signaling window (default): Approval is measured over a window of 24 hours, equivalent to
W = 144 blocks with a target of 600s per block (10 minutes).
Supermajority (95%): The emergency shall be considered approved if, within that window,
at least 95% of blocks include the support signal (YES ≥ ceil(0.95 × W)). With the default
value W = 144, this requires YES ≥ 137 signaled blocks.
Emergency actions are limited to exactly two action types:
(E1) ROTATE: rotate reserve holdings to other allowlisted precious-metal tokens (including XAUt↔PAXG).
(E2) LIQUIDATE→BUY→REDISTRIBUTE: liquidate precious-metal tokens to acquire SOST and redistribute it,
with a fully auditable trail.
During Phase I (before block 10,000), SOST developer may pause purchases or adjust future purchase policy operationally without consensus,
disclosed via batch reports. After V6 activation, such adjustments require consensus-level governance.
G10 (Transparency): Both vault addresses, all batch reports, and all relevant transaction proofs
MUST be publicly published in a reproducible format.
5.3 Automated Vault Execution Architecture
The Gold Funding Vault conversion pipeline is designed to be operationally automated and fully auditable, without requiring a cross-chain bridge or wrapped SOST (wSOST). No trustless cross-chain mechanism is used; instead, automation is achieved through a deterministic execution stack with public attestations at every stage.
VAULT EXECUTION PIPELINE (no bridge, no wSOST)
WATCHER (SOST chain):
Monitors the Gold Funding Vault balance continuously.
Detects when accumulated SOST exceeds a batch threshold.
BATCHER:
Creates a signed execution order when threshold is met.
EXECUTOR (CEX / OTC / DEX where feasible):
Sells SOST in TWAP clips per policy (Section 5.3.1).
Purchases XAUT and/or PAXG with proceeds.
Deposits purchased tokens into the Heritage Reserve (sealed).
ATTESTOR:
Publishes a public batch record.
TRUST MODEL:
Consensus-level allocation to the Gold Funding Vault: trustless (hardcoded by validation rules).
Conversions and purchases are operational and auditable. During Phase I (before block 10,000),
SOST developer may adjust execution parameters (including the default 50/50 split)
and may pause purchases. After V6 activation, adjustments require consensus-level governance.
Movements of previously purchased reserve assets require Emergency Catastrophe
authorization (Appendix G).
No bridge, no wSOST, no smart contract dependency between chains beyond the Heritage Reserve itself.
(Subject to progressive decentralization per C16.)
5.3.1 Execution Policy: TWAP Batch Sales (Operational, Non-Consensus)
SOST's Gold Funding Vault accumulates SOST by consensus (25% of coinbase). Conversions from SOST into tokenized gold exposure (XAUT/PAXG) are operational actions executed by SOST developer (Phase I) or the automated execution stack (post-V6), with the explicit goal of minimizing market impact while maximizing auditability and predictability. The Foundation reserves the right to allocate up to 50% of the vault's accumulated SOST exclusively to fund future centralized-exchange (CEX) listings; the remaining SOST funds gold reserves.
TWAP (Time-Weighted Average Price) means executing a daily sell budget as many small, evenly spaced limit orders over time (e.g., across 24 hours), so the realized execution price approximates the market's average price over that window and minimizes market impact.
Objective. Convert a portion of the Gold Funding Vault's SOST into XAUT/PAXG with:
TWAP Policy (WP-friendly)
Recommended starting parameters (tunable operationally)
DailySell = min(VaultBalance × 0.25%, DailyVolume × 2%)reduce the sell budget (e.g., cut in half) or pause execution for 24 hours.
Anti-crash layer (liquidity-aware throttling)
to volume and vault-balance limits.
Simple example (illustrative)
"Today the exchange reports 500,000 SOST of daily volume. Our policy allows selling at most 2% of daily volume: 10,000 SOST. Instead of selling 10,000 SOST at once, the executor sells 100 clips of 100 SOST distributed throughout the day using limit orders, enforcing a 1% max slippage rule per clip."
Audit and transparency (mandatory)
Each batch record MUST include:
This framework exists to prevent the common criticism that a project "dumps whenever it wants."
Execution is rate-limited, rule-based, and publicly auditable.
5.4 Heritage Reserve and Dissolution
Heritage (default state, perpetual)
The Heritage Reserve remains sealed by default. No outbound transfers occur in normal operation.
The gold tokens remain a permanent, publicly verifiable reserve record.
"Decades of collective work — converted to gold exposure — preserved."
Dissolution (network lifecycle only)
Trigger: 90 consecutive days with zero blocks (dead-man switch).
A 60-day public notice window begins.
The chain is declared terminated operationally ("project wind-down").
Reserve assets may only be accessed under:
Dissolution enables access to the reserve for orderly wind-down. During Phase I, SOST developer is responsible for distributing reserve assets transparently after the 60-day public notice window expires. After V6 activation, distribution is executed via SOST's automated governance mechanism.
5.4.1 Liveness Monitoring and Dissolution Process (Operational, Non-Consensus)
SOST distinguishes between consensus rules (immutable) and operational procedures (auditable). The "dead-man switch" is an operational process designed to provide transparency and an orderly wind-down if the chain becomes inactive.
Definitions
State-based timeline
(debugging, client releases, miner outreach, incident reporting). No liquidation actions occur.
(root cause, repository state, known vulnerabilities, recovery attempts). No liquidation actions occur.
60-day public notice window.
operational steps for wind-down.
Illustrative example
Important constraint
Dissolution enables orderly access to reserve assets for wind-down and distribution. If the chain dies, the 90-day dead-man switch triggers, followed by a 60-day public notice period. During Phase I, SOST developer declares Formal Dissolution and executes the wind-down. After V6 activation (block 10,000), dissolution and reserve distribution are governed by SOST's automated mechanisms.
5.5 Reserve Evolution Path
Phase 1 — Tokenized Reserve (Genesis - Year 3):
┌─────────────────────────────────────────┐
│ Heritage Reserve holds XAUT/PAXG tokens │
│ on Ethereum mainnet. │
│ │
│ Advantages: │
│ • No infrastructure needed │
│ • Liquid, auditable, immediate │
│ │
│ Risks: │
│ • Issuer dependency (Tether, Paxos) │
│ • Counterparty risk │
└─────────────────────────────────────────┘
Phase 2 — Physical Transition (Year 3-5):
┌─────────────────────────────────────────┐
│ When Reserve exceeds 500 oz equivalent: │
│ │
│ 1. SOST developer establishes legal │
│ entity (Swiss/Liechtenstein) │
│ 2. Contract with LBMA-approved vault │
│ 3. Redeem XAUT/PAXG → physical delivery │
│ 4. Transfer to protocol-controlled vault│
│ 5. Independent quarterly audits │
└─────────────────────────────────────────┘
Phase 3 — Sovereign Reserve & Multi-Metal Platform (Year 3-5+):
┌─────────────────────────────────────────┐
│ SOST Precious Metals Reserve: │
│ │
│ • Physical Gold, Platinum, Palladium, │
│ Rhodium, Iridium, Ruthenium, Osmium, │
│ Rhenium, silver (allocation TBD) │
│ • Zero intermediaries │
│ • Protocol-governed vault custody │
│ • Public serial numbers + audit reports │
│ • 100% independent of token issuers │
│ │
│ Heritage rules apply equally to │
│ physical metals as to tokenized metals. │
│ │
│ MULTI-METAL TOKENIZATION VISION: │
│ │
│ Long-term objective: SOST blockchain │
│ becomes an infrastructure for the │
│ tokenization, storage, and exchange of │
│ multiple essential precious metals — │
│ each token always backed 1:1 by its │
│ physical counterpart stored in │
│ auditable vaults (LBMA-approved or │
│ equivalent), with independent proof │
│ of reserves published on a regular │
│ schedule. │
│ │
│ Target metals: Gold, Silver, Platinum, │
│ Palladium, Rhodium. │
│ │
│ This transforms SOST from a single │
│ gold-reserve chain into a multi-asset │
│ precious metals exchange layer — where │
│ every gram tokenized is demonstrably │
│ backed by physical metal that exists, │
│ is audited, and is independently │
│ verifiable. │
└─────────────────────────────────────────┘
6. Proof of Personal Custody (PoPC)
No consensus changes. All PoPC logic remains operational/application-layer except that the PoPC Pool receives 25% coinbase by consensus.
Activation: consensus-scheduled after block 10,000, subject to network readiness (see §6.13).
6.0 Redesigned PoPC — One Native Bond, Gold as Boost
PoPC is now a single, SOST-native protocol. The former two-model split — Model A (native SOST bond) and Model B (gold-vault escrow) — is unified into one design: there is one bond, posted in SOST, and gold becomes a moderate reward boost, never collateral and never slashable. The dual-model text in §6.4–§6.9 below is kept for historical reference; where it conflicts with this notice, this notice prevails.
Why the redesign. Security that can be slashed must live where SOST can slash it. When the bond lived as gold on an external chain (Ethereum), enforcing a penalty required an off-chain watcher, oracle or signing key — a trusted intermediary that contradicts the exact property PoPC is meant to guarantee: native, automatic, judge-free enforcement. Anchoring the bond in SOST removes that dependency. The result is threefold: (1) no external chain as the root of security; (2) maximum decentralization — no operator holds a key that can release or seize anyone's bond; and (3) maximum automation — the full lifecycle (lock → audit → reward → slash) runs under SOST consensus with no human or off-chain component in the trust path.
The unified model. Every participant posts a single bond in native SOST — this is the only collateral and the only thing that can be slashed. Gold (XAUT/PAXG held in the user's own wallet) is optional: when present and verified it pays an extra reward on top of the base, funded from a dedicated reserve so it never dilutes the base reward. Gold is never seized: if a participant withdraws their gold, or verification is temporarily unavailable, they simply revert to the base reward — no penalty, no slash.
Base reward (native SOST bond), by lock duration:
| Lock duration | 1 month | 3 months | 6 months | 9 months | 12 months |
| Base reward | 1% | 4% | 9% | 14% | 20% |
Gold Boost — applied on top of the base reward, scaling with the time gold has been continuously verified:
| Gold verified for | 0–30 days | 31–90 days | 91+ days |
| Boost on base reward | +0% | +10% | +20% |
Eligibility. The Gold Boost requires tokenized gold worth at least the greater of 25% of the SOST bond value or 0.25 PAXG/XAUT (≈ 0.25 troy oz), maintained continuously for the verified period. A dust holding (e.g. 0.001 PAXG) never qualifies, and larger bonds require proportionally more gold.
The boost is capped at +20% operationally, with a +25% technical maximum reserved for future governance. It is a multiplier on the base reward, not on the bond. Recommended minimum lock: 90 days.
Worked example. A 12-month native bond earns 20% base. With gold verified for 91+ days, the boost is +20%, so the total is 20% × 1.20 = 24%. The same bond without gold simply earns its 20% base.
Funding. The Gold Boost is funded from the PoPC Pool and capped so it cannot dilute the base PoPC reward. The Metals Reserve (§5) remains untouched. The coinbase split is unchanged:
| Recipient | Share |
| Miner | 50% |
| Metals Reserve (Gold Vault, §5) | 25% |
| PoPC Pool (base reward + optional Gold Boost) | 25% |
Protection. The base reward is the mandatory payment and has absolute priority; the Gold Boost is an optional extra paid only from PoPC Pool surplus once the base is covered. It can never reduce the base reward, and if surplus is insufficient the boost is scaled down or paid as zero.
The draft implementation is scheduled behind a height-gate (tied to V15) and stays inactive until activated; before that height, behaviour is unchanged. The Gold Boost is gated separately and remains deferred until gold verification is mature (see §6.13).
6.1 What PoPC Is — And Is Not
PoPC is not a tokenization of gold. It does not promise yield, stability, or redeemability. It is a voluntary time-bound commitment protocol with automatic economic consequences. A participant promises to maintain custody of precious metals for a defined period, backs that promise with a SOST bond, and is rewarded if they keep their word. If they break it, their bond is slashed automatically — no human judge involved.
6.2 Why It Is Unique
| Protocol | What it actually does |
| MakerDAO | Deposit ETH (volatile crypto) → receive DAI. Collateral is crypto. Goal: price stability. |
| Compound/Aave | Deposit crypto → borrow crypto. All digital. No physical world connection. |
| Any staking protocol | Lock token X → earn token X. Circular. No external asset backing. |
| SOST PoPC | Lock SOST bond → prove custody of real gold (XAUT/PAXG). Audited by PoW entropy. No custodian. No bridge. |
6.3 ConvergenceX Entropy for Audits
No party — not SOST, not any server — decides when a user gets audited. The schedule is derived deterministically from ConvergenceX block entropy:
AUDIT SEED (per block):
seed = SHA256(block_id || commit || checkpoints_root)
This uses the full entropy triple from the ConvergenceX proof.
All three components depend on the complete 100,000-round computation.
AUDIT TRIGGER (per contract, per period):
r = PRF(seed, contractId, periodIndex)
if r < p(reputation_stars):
AUDIT REQUIRED
AUDIT PROBABILITY BY REPUTATION:
0 stars (new): p = 0.30 (30% of periods audited)
1 star: p = 0.20
3 stars: p = 0.10
5 stars (veteran): p = 0.05 (5% of periods audited)
VERIFICATION (script, no humans):
1. User signs message with Ethereum wallet
2. ecrecover() confirms control of the declared wallet (no trust needed)
3. Verifier uses multiple independent RPC endpoints with a
deterministic retry schedule; results are logged and attested:
token.balanceOf(user_wallet) >= committed_amount
4. EOA VERIFICATION: the declared wallet MUST be an Externally Owned
Account (extcodesize == 0). Smart contract wallets, multisig wallets,
and proxy contracts are not eligible for Model A. EOA status is
verified at contract creation AND at every subsequent audit. If code
is detected at the wallet address during any audit (e.g., via CREATE2
deployment after commitment), the contract is automatically slashed.
5. CONTINUOUS CUSTODY CHECK: the audit verifies not only the balance at
the audit block, but also samples historical balances at deterministic
checkpoints (derived from ConvergenceX entropy) across the period since
the last audit. If the balance dropped below the committed amount at
any sampled checkpoint, this constitutes a custody violation and
triggers a slash — even if the balance was restored before the audit.
6. If all checks pass: checkpoint passed
7. If any check fails: SLASH
6. If no response within 48h: 48h GRACE period is the sole window.
No additional grace periods beyond 48h. Slash only if non-response
persists and RPC availability is confirmed by multiple independent
endpoints.
6.4 Model A — Commitment with SOST Bond (Autocustody)
Model A: For crypto natives, miners, traders 1. User buys SOST on CEX 2. Declares Ethereum wallet holding XAUT/PAXG 3. Locks SOST bond (dynamic, based on ratio SOST/gold) 4. Commits to maintain custody for 1/3/6/9/12 months 5. ConvergenceX entropy schedules random audits 6. Script verifies XAUT/PAXG balance via Ethereum RPC 7. On completion: recovers bond + reward from PoPC Pool 8. On failure: bond slashed automatically In Model A, the gold NEVER leaves the user's wallet. Your gold never leaves your wallet. Only the posted SOST bond is at risk. SOST has no access to, custody of, or control over the user's gold tokens. Trust required: MEDIUM (keeps gold in own wallet, only SOST bond at risk)
6.5 Dynamic Bond — Model A
All fiat-denominated values use USD as the reference currency for documentation. SOST is currency-agnostic — bond sizing depends on the SOST/gold ratio, not on any specific fiat currency. The bond is always denominated in fiat value, converted to SOST at market price (7-day TWAP). As SOST appreciates relative to gold, the bond percentage increases gradually to maintain deterrence. The bond is designed to create deterrence and alignment, not to fully collateralize the committed asset. Sub-collateralization is intentional and compensated by layered deterrence (bond + reputation + blacklist + size limits).
DYNAMIC BOND CALCULATION:
ratio = sost_price / gold_oz_price
ratio < 0.0001 → bond = 12% of gold value
0.0001 <= ratio < 0.001 → bond = 15%
0.001 <= ratio < 0.01 → bond = 20%
0.01 <= ratio < 0.1 → bond = 25%
0.1 <= ratio < 0.2 → bond = 26%
0.2 <= ratio < 0.3 → bond = 27%
0.3 <= ratio < 0.4 → bond = 28%
0.4 <= ratio < 0.5 → bond = 29%
ratio >= 0.5 → bond = 30% (maximum)
bond_sost = bond_fiat / sost_price_TWAP_7d
RATIO THRESHOLDS (price-independent):
The system uses RATIOS, not fixed prices. The ratio automatically
adjusts to any gold or SOST price. Examples:
┌────────────────────┬────────────────────┬─────────┬─────────┐
│ Gold price │ SOST price │ Ratio │ Bond % │
├────────────────────┼────────────────────┼─────────┼─────────┤
│ $2,700 │ $1 │ 0.00037 │ 15% │
│ $2,700 │ $100 │ 0.037 │ 25% │
│ $2,700 │ $1,350 │ 0.50 │ 30% │
│ $5,000 │ $185 │ 0.037 │ 25% │
│ $5,000 │ $2,500 │ 0.50 │ 30% │
└────────────────────┴────────────────────┴─────────┴─────────┘
Note: The ratio determines the bond %, regardless of currency or
absolute prices. If gold doubles in price, the SOST threshold for
each bond tier also doubles proportionally.
EXAMPLES (assuming 1oz gold = $2,700 at time of contract):
Example 1: SOST = $1 (early stage)
ratio = $1 / $2,700 = 0.00037
0.00037 < 0.001 → bond = 15%
bond_usd = 15% × $2,700 = $405
bond_sost = $405 / $1 = 405 SOST
Example 2: SOST = $100 (growth stage)
ratio = $100 / $2,700 = 0.037
0.037 < 0.1 → bond = 25%
bond_usd = 25% × $2,700 = $675
bond_sost = $675 / $100 = 6.75 SOST
Example 3: SOST = $500 (mature stage)
ratio = $500 / $2,700 = 0.185
0.185 < 0.2 → bond = 26%
bond_usd = 26% × $2,700 = $702
bond_sost = $702 / $500 = 1.40 SOST
Example 4: SOST = $1,000 (high value)
ratio = $1,000 / $2,700 = 0.37
0.37 < 0.4 → bond = 28%
bond_usd = 28% × $2,700 = $756
bond_sost = $756 / $1,000 = 0.756 SOST
Example 5: SOST = $2,000 (premium)
ratio = $2,000 / $2,700 = 0.74
0.74 >= 0.5 → bond = 30%
bond_usd = 30% × $2,700 = $810
bond_sost = $810 / $2,000 = 0.405 SOST
DESIGN RATIONALE:
- Gradual scale (25% → 26% → 27% → 28% → 29% → 30%) avoids sudden jumps
- Maximum bond (30%) only reached when ratio >= 0.5 (SOST worth half an oz)
- The "pain" of losing the bond remains proportional at any price level
- Low SOST price → many SOST deposited (but low fiat value)
- High SOST price → few SOST deposited (but high fiat value)
- System is RATIO-based, not price-based: works at any gold/SOST price
- All examples use USD; the system is ratio-based and currency-agnostic
REPUTATION TIERS:
┌──────────────────────┬──────────┬──────────┬───────────────────────┐
│ Tier │ Max oz │ Audit % │ Progression │
├──────────────────────┼──────────┼──────────┼───────────────────────┤
│ 0 stars (new) │ 0.5 oz │ 30% │ entry level │
│ 1 star (established) │ 1 oz │ 20% │ after 1 successful │
│ 3 stars (trusted) │ 3 oz │ 10% │ after 3 cumulative │
│ 5 stars (veteran) │ 10 oz │ 5% │ after 5 cumulative │
└──────────────────────┴──────────┴──────────┴───────────────────────┘
Progression: 0→1 after 1 successful contract, 1→3 after 3 cumulative
successful contracts, 3→5 after 5 cumulative successful contracts.
Slash resets reputation to 0 stars.
REPUTATION SCOPE:
Reputation is wallet-level. Each completed contract contributes to the
wallet's reputation score. Stars represent the wallet's cumulative track
record, not individual contract performance.
6.6 Price Bulletin and Bond Consent (Normative)
Bond sizing requires a market reference for SOST and gold prices. To avoid on-chain oracle dependency and discretionary pricing, PoPC uses a Price Bulletin model with explicit user consent:
PRICE BULLETIN (off-chain, publicly auditable):
Published daily by SOST developer (Phase I) / automated oracle (post-V6):
bulletin = {
day: YYYY-MM-DD,
sost_usd_twap_7d: P_sost,
gold_usd_twap_7d: P_gold,
sources: [exchange feeds / API references — includes all
exchanges where SOST has verifiable liquidity at
publication time, with public API endpoints. No
fixed minimum or maximum number of exchanges;
the list adapts as SOST is listed on or delisted
from trading venues. Each source must use a
publicly accessible and reproducible API],
method: "TWAP_7d",
bulletin_hash: SHA256(canonical_json(bulletin)),
developer_sig: EIP-712_sign(developer_key, bulletin_typed_data)
}
Publication: website + GitHub + IPFS mirror (redundant, immutable).
The bulletin is informational. It does not directly control any contract.
BOND TERMS (client-side calculation + user consent):
Given user commitment (gold_amt, duration, model):
gold_value_fiat = gold_amt × P_gold
ratio = P_sost / P_gold
bond_pct = constitutional_table(ratio)
bond_fiat = bond_pct × gold_value_fiat
bond_sost = bond_fiat / P_sost
The client constructs a Bond Terms package:
terms = {
model, user_wallet, gold_token, gold_amt, duration,
bulletin_hash, P_sost, P_gold, ratio, bond_pct, bond_sost,
nonce, expiry
}
terms_hash = keccak256(encode(terms))
user_sig = ECDSA_sign(user_key, terms_hash)
ON-CHAIN FINALIZATION (no oracle, no daily updates):
The PoPC contract accepts (terms + developer_sig + user_sig) and verifies:
1. EIP-712_recover(developer_sig, terms_typed_data) == developer_key
2. ecrecover(user_sig, terms_hash) == user_wallet
3. terms.expiry >= block.timestamp (freshness / anti-replay)
4. bond_pct matches constitutional table for provided ratio
5. bond_sost transferred from user and locked
Once accepted:
- Contract stores bond_sost and commitment parameters.
- Contract does NOT store live prices.
- Contract does NOT support price updates.
- No consensus action required after finalization.
PRICE VOLATILITY DURING CONTRACT:
Prices are FROZEN at contract creation (bulletin of entry day).
Multi-month price oscillation is absorbed by design:
- Model A: bond is locked SOST; gold stays in user wallet.
Volatility does not affect the contract mechanics.
- Model B: SOST payout is calculated and delivered upfront
at entry price. No repricing during the term.
This eliminates oracle risk and discretionary pricing entirely.
DEVELOPER SIGNATURE (EIP-712 typed data — Phase I):
Terms (including P_sost, P_gold, bond_pct, and reward) are signed by an
authorized developer key using EIP-712 typed data signatures. The smart
contract verifies the developer signature before accepting any commitment.
Users cannot submit self-signed terms. After V6 activation (block 10,000),
this signing role transitions to an automated oracle with on-chain verification.
SECURITY PROPERTIES:
- No on-chain oracle: pricing is not consensus-critical.
- No discretionary pricing: SOST developer cannot set a user's bond.
- Dual consent: every contract requires both a developer EIP-712 signature
on the terms and a user signature. Neither party can act unilaterally.
- Auditability: any party can reproduce bond sizing from bulletin + terms.
- Permissionless verification: bulletin data + sources are public.
- Developer-attested (Phase I): the PoPC contract verifies the developer's EIP-712
signature on terms before accepting any commitment. Independent parties
may audit bulletin data, but on-chain terms require developer attestation.
Post-V6, attestation transitions to automated oracle.
- Malicious bulletin protection: because both the developer must sign the
terms and the user must explicitly co-sign, neither party can impose
pricing unilaterally. A malicious or incorrect bulletin simply results in
participants refusing to co-sign contracts based on it. No funds are at
risk from a bad bulletin.
(Subject to progressive decentralization per C16.)
6.7 Model A Rewards
Rewards are denominated in SOST (percentage of bond). This ensures the PoPC Pool can always pay regardless of SOST price. Longer commitments receive proportionally higher APR to incentivize long-term participation. Bond is fully recoverable upon successful completion.
| Duration | Reward (% of bond) | Equivalent APR |
| 1 month | 1% of bond in SOST | 12% annualized |
| 3 months | 4% of bond in SOST | 16% annualized |
| 6 months | 9% of bond in SOST | 18% annualized |
| 9 months | 14% of bond in SOST | 18.7% annualized |
| 12 months | 20% of bond in SOST | 20% annualized |
Dynamic Participation Tiers — rates decrease as active contracts grow:
| Tier | Contracts | Multiplier | A 12mo | B 12mo |
| EARLY ADOPTER | 0–25 | 100% | 20% | 8% |
| GROWTH | 26–50 | 75% | 15% | 6% |
| ESTABLISHED | 51–100 | 50% | 10% | 4% |
| MATURE | 101–200 | 30% | 6% | 2.4% |
| SCALE | 201–500 | 15% | 3% | 1.2% |
| MASS | 501–1,000 | 8% | 1.6% | 0.64% |
Hard Caps: 1,000 SOST max per contract · 1,000 active contracts max · 200 oz anti-whale cap · 10/5 SOST reward floor (A/B) · 3% fee (Model A) / 8% fee (Model B) · PUR (1-PUR)² pool protection
EXAMPLE: Model A — 12 month commitment
Assumptions at contract creation:
- Gold price: $2,700/oz (from Price Bulletin)
- SOST price: $100 (from Price Bulletin)
- User commits: 1 oz XAUT in their own wallet
STEP 1: Calculate ratio and bond
ratio = $100 / $2,700 = 0.037
0.037 < 0.1 → bond = 25%
bond_usd = 25% × $2,700 = $675
bond_sost = $675 / $100 = 6.75 SOST
STEP 2: User deposits 6.75 SOST as bond
STEP 3: User maintains gold custody for 12 months
- Random audits verify XAUT balance
- Gold NEVER leaves user's wallet
STEP 4: On successful completion
- Recovers: 6.75 SOST (original bond — 100% returned)
- Reward: 22% × 6.75 = 1.485 SOST
- TOTAL: 8.235 SOST
PROFIT (at original prices):
- Deposited: 6.75 SOST
- Received: 8.235 SOST
- Net gain: 1.485 SOST (20% return on bond)
- Gold: Still owns 1 oz XAUT
EXAMPLE: Model A — Slash (failure)
Same setup as above, but user sells their XAUT during contract.
Audit detects: balanceOf(user_wallet) < 1 oz
SLASH TRIGGERED:
- User loses: 6.75 SOST (entire bond)
- Distribution:
• 3.375 SOST → PoPC Pool (funds future rewards)
• 3.375 SOST → Gold Funding Vault (buys more gold)
- User's reputation: destroyed
- User's address: blacklisted
### 6.7.1 Network Fee — Model A
A consensus fee of 3% (Model A) or 8% (Model B) is calculated at commitment creation and locked; disbursement
occurs at successful completion. The fee is deducted from the calculated reward;
the user's bond is returned in full regardless.
base_reward = bond_sost × reward_table[duration]
protocol_fee = base_reward × 0.03
user_reward = base_reward - protocol_fee
Fee is locked at creation (immutable for the contract's lifetime).
Disbursement at completion (single atomic operation):
user receives: bond_sost + user_reward
network fee address receives: protocol_fee
EXAMPLE (12-month, same assumptions as Section 6.7):
Base reward (22%): 6.75 × 0.22 = 1.485 SOST fee (3%): 1.485 × 0.03 = 0.045 SOST
User receives: 6.75 + 1.440 = 8.190 SOST fee address: 0.045 SOST
User effective APR: 20.9% (vs 22% nominal)
Fee destination: network fee address (publicly auditable).
Fee purpose: infrastructure, watcher operation, bulletin publication,
exchange execution, security audits, development.
Fee changes require 30-day advance public notice and apply only to
NEW contracts. Existing contracts retain the fee rate locked at creation.
### 6.8 Model B — Timelocked Escrow, No Audits