# Section C — Deterministic System Flows

**Version:** v1.0

### Deterministic system flows

This section defines deterministic execution flows for the LSteak protocol and all LSaaS subsystems.

All behavior here is subordinate to the immutable invariants defined in [Section B — Immutable Protocol Invariants](/lsteak-protocol-docs/technical-appendix/section-b-immutable-protocol-invariants.md).

No step in this section is discretionary.

Previous: [Section B — Immutable Protocol Invariants](/lsteak-protocol-docs/technical-appendix/section-b-immutable-protocol-invariants.md)\
Next: [Section D — Parameter Registry](/lsteak-protocol-docs/technical-appendix/section-d-parameter-registry.md)

### Contents

* [C.0 Global definitions & constants](#c0-global-definitions--constants)
* [C.1 External entry flow — user deposits into LSteak](#c1-external-entry-flow--user-deposits-into-lsteak)
* [C.2 Internal protocol action flow (no treasury cut)](#c2-internal-protocol-action-flow-no-treasury-cut)
* [C.3 Yield processing flow (LSteak Yield Engine)](#c3-yield-processing-flow-lsteak-yield-engine)
* [C.4 xl-LSTEAK redemption flow (contract-only)](#c4-xl-lsteak-redemption-flow-contract-only)
* [C.5 LSaaS entry pipeline (partner token → xl-Partner)](#c5-lsaas-entry-pipeline-partner-token--xl-partner)
* [C.6 LSaaS partner exit / failure resolution](#c6-lsaas-partner-exit--failure-resolution)
* [C.7 Emergency pause & liquidation](#c7-emergency-pause--liquidation)
* [C.8 Determinism guarantees](#c8-determinism-guarantees)

### C.0 Global definitions & constants

* **BPT (Backing Per Token)**: `Backing / Effective supply`
* **Treasury rate**: fixed, immutable `5%` wherever defined.
* **Price bands** (relative to BPT):
  * **Deadband**: market price within `±1%` of BPT
  * **Premium**: market price `> +1%` above BPT
  * **Discount**: market price `< −1%` below BPT

**Mint ordering (Invariant B.1)**

* Mint calculations reference the current BPT.
* Backing updates occur after mint.
* New BPT is then computed.

### C.1 External entry flow — user deposits into LSteak

{% stepper %}
{% step %}

### Input

User deposits value X.
{% endstep %}

{% step %}

### Treasury Allocation

* Treasury = 5% × X
* `Net_Input = 95% × X`

Treasury is removed before any allocation or minting logic.
{% endstep %}

{% step %}

### Mandatory allocation of `Net_Input`

`Net_Input` must be fully allocated and sum to 100% (of `Net_Input`).

Let:

* Bond allocation (`B_net`): `B_net ∈ [80%, 90%]` of `Net_Input`
* Hedge allocation (`H_net`): `H_net ∈ [5%, 15%]` of `Net_Input`
* Residual (`R_net`): `R_net = 100% − B_net − H_net`

Constraint: `B_net + H_net + R_net = 100%` (of `Net_Input`). Residual may be zero.
{% endstep %}

{% step %}

### Market Band Determination

Observe current market price P(LSTEAK) and compare to BPT.
{% endstep %}

{% step %}

### Deterministic Routing by Band

Deadband (±1%) — Action: Mint

* `Mint_Out = Net_Input / BPT`
* Transfer `Mint_Out` to user.

Premium (> +1%) — Action: Mint

* `Mint_Out = Net_Input / BPT`
* Transfer `Mint_Out` to user.

Discount (< −1%)

1. Use `Net_Input` to market-buy LSTEAK until price is restored as close as possible to BPT without overshooting into premium.
2. If `Net_Input` remains after buys:
   * Mint remainder at BPT:
     * `Mint_Out = Remaining / BPT`
3. User receives: `Buy_Out + Mint_Out`

Constraint: market buys may never overshoot parity.
{% endstep %}
{% endstepper %}

### C.2 Internal protocol action flow (no treasury cut)

{% stepper %}
{% step %}

### Input

Protocol spends value X (internal action).
{% endstep %}

{% step %}

### No Treasury Allocation

* `Net_X = X`

Treasury is not applied to internal protocol actions.
{% endstep %}

{% step %}

### Allocation Normalisation

Where allocations are defined on a 100% basis that includes a 5% treasury cut, allocations are renormalised to 95% for internal execution.

Given original parameters:

* Bonds = B%
* Hedge = H%
* Treasury = 5%

Net-basis weights are derived by dividing by the non-treasury basis (`95%`).

Effective execution weights:

* B′ = B / 95%
* H′ = H / 95%
* R′ = (100% − 5% − B − H) / 95%

Allocation bounds remain:

* Bonds: 80%–90% (basis-100%)
* Hedge: 5%–15% (basis-100%)
  {% endstep %}

{% step %}

### Band-Based Routing

Routing follows the same deadband / premium / discount logic as C.1, using `Net_X`.

Internal routing additionally applies:

* premium capture
* POL growth
* burn handling

exactly as defined in the invariant-compatible routing rules.
{% endstep %}
{% endstepper %}

### C.3 Yield processing flow (LSteak Yield Engine)

{% stepper %}
{% step %}

### Input

Realised yield Y.
{% endstep %}

{% step %}

### Treasury Allocation (Where Defined)

If the yield stream defines a treasury cut:

* Treasury = 5% × Y
* `Net_Y = 95% × Y`

Else:

* `Net_Y = Y`
  {% endstep %}

{% step %}

### Deterministic Allocation

`Net_Y` is allocated according to the locked slider ranges into:

* backing (BPT growth)
* xl-LSTEAK RR increase
* POL
* burns

All burns are irreversible.
{% endstep %}

{% step %}

### Backing Update

Backing is updated after allocation. BPT is recomputed.
{% endstep %}
{% endstepper %}

### C.4 xl-LSTEAK redemption flow (contract-only)

{% stepper %}
{% step %}

### Input

User redeems `xl_amount`.
{% endstep %}

{% step %}

### Compute output

* `Out = xl_amount × RR`
  {% endstep %}

{% step %}

### Burn

Burn `xl_amount`.
{% endstep %}

{% step %}

### Transfer

Transfer `Out` LSTEAK to the user.

RR may only decrease in liquidation scenarios.
{% endstep %}
{% endstepper %}

### C.5 LSaaS entry pipeline (partner token → xl-Partner)

{% stepper %}
{% step %}

### Input

Partner deposits `X` partner tokens.
{% endstep %}

{% step %}

### Compute RR (pre-deposit)

Compute partner RR using on-chain balances:

* `RR_pre = (Q + B) / S`
* `Q` = partner tokens in the VTL Queue
* `B` = partner tokens in xl backing
* `S` = total `xl-*` supply
  {% endstep %}

{% step %}

### Attempt VTL under immutable guardrails

Attempt to process some or all of `X` through the Value Transfer Loop (VTL).

VTL may execute only if:

* `LSTEAK_price >= 0.98 × BPT`
* the execution does not cause RR drawdown greater than `0.5%`

VTL execution is pre-simulated and atomic.

If constraints fail, the attempted VTL portion reverts.
{% endstep %}

{% step %}

### Queue any unprocessed portion

Any portion that cannot be processed through the VTL is deposited into the VTL Queue.

This deposit is not rejected due to guardrails.
{% endstep %}

{% step %}

### Deposit VTL output into xl backing

If a VTL executes, its resulting partner tokens are deposited into xl backing.
{% endstep %}

{% step %}

### Mint `xl-*` at `RR_pre`

Mint uses `RR_pre` and counts both:

* `X_backing` partner tokens added to xl backing via VTL, and
* `Q_added` partner tokens added to the Queue

Formula:

`xl_minted = (X_backing + Q_added) / RR_pre`
{% endstep %}
{% endstepper %}

#### Queue drip (LSaaS)

Every 10 minutes, the system attempts a VTL using tokens from the Queue.

Queue drip moves value from `Q → B` and does not mint `xl-*`.

`Q + B` stays constant, so RR stays unchanged.

### C.6 LSaaS partner exit / failure resolution

{% stepper %}
{% step %}

### Pause

Partner subsystem pauses.
{% endstep %}

{% step %}

### Resolution

* New partner deposits stop.
* Redemptions remain contract-only and deterministic.
* Redemption sources Queue first, then xl backing.
* No action may consume LSteak backing in normal operation.
  {% endstep %}
  {% endstepper %}

### C.7 Emergency pause & liquidation

{% stepper %}
{% step %}

### Emergency Pause

* Initial pause: ≤ 72 hours.
* Extensions: require elevated multisignature approval and occur in increments of ≤ 72 hours.
* Emergency pause halts all transactions.
* Purpose: assessment and liquidation only.
  {% endstep %}

{% step %}

### Liquidation

* Backing is liquidated deterministically.
* Distribution is pro-rata.
* No discretionary intervention.
* LSaaS liquidates via partner-exit mechanics.
  {% endstep %}
  {% endstepper %}

### C.8 Determinism guarantees

Across all flows:

* Treasury cuts are fixed at 5% wherever defined.
* Burns are irreversible.
* BPT and RR govern all decisions.
* Governance cannot override routing, ordering, or limits.

### Section C lock statement

“These flows define how the protocol executes. If behavior diverges from this section, the implementation is incorrect.”

***

Previous: [Section B — Immutable Protocol Invariants](/lsteak-protocol-docs/technical-appendix/section-b-immutable-protocol-invariants.md)\
Next: [Section D — Parameter Registry](/lsteak-protocol-docs/technical-appendix/section-d-parameter-registry.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://lsteak-protocol.gitbook.io/lsteak-protocol-docs/technical-appendix/section-c-deterministic-system-flows.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
