TW / Independent
← Research audits

DeFi Audit / 2026-10-06

Bitflow: accounting and reserve loss assessed separately

Low/Medium for the historical accounting observation; a separate Critical candidate was rejected. The report keeps the two dispositions separate.

Scope
Clarity accounting and actual value flows
Method
Retrospective research audit
Evidence
Pinned source and independent model controls
Finding

Accounting bounded. Critical candidate rejected.

The reviewed hypothesis did not support a confirmed Critical.

Assessment at the snapshotLow / MediumApplies to the snapshot described here.
Historical snapshot / 2026-10-06

Accounting bounded. Critical candidate rejected.

Low/Medium for the historical accounting observation; a separate Critical candidate was rejected. The report keeps the two dispositions separate.

High / Finding status

Not confirmed

No ordinary-user High asset loss confirmed.

Critical / Finding status

Rejected — not validated

A separately examined Critical candidate was falsified.

Findings and counterchecks

The list also includes rejected candidates and counterchecks.

2 entries
LowAccounting discrepancyBFL-01 / Conditional / verify assumptions
Observation
Historical counterreview classifies the accounting observation Low/Medium, depending on assessment rules and impact.
Impact
Bounded accounting discrepancy, not blanket third-party asset loss.
Evidence
Source review, historical read-only evidence and independent models.
Limit
Not a fixed Medium rating under all conditions.
Next review step
Reconcile asset flows and accounting separately.
CriticalSeparate Critical candidateBFL-02 / Rejected — not validated
Observation
The candidate did not withstand independent counterreview.
Impact
The alleged higher loss classification was not confirmed.
Evidence
Falsification with a separate countercheck.
Limit
High confidence in rejection is not High severity.
Next review step
Do not count a rejected candidate as a finding.

Clarity sources and review date

Documentation of 6 October 2026 mapped deployed Clarity code on Stacks separately from historical repository content. Independent counterreview examined a bounded slice, not the whole Bitflow offering.

Who benefits from the difference?

Economic review considered the direction and beneficiary of the accounting difference. A different result alone did not establish loss of third-party reserves. Accounting effect and alleged asset loss required separate evidence.

Gross and net

The example separates a fee assumption from a net amount using subtraction. Its values are invented and it is not a Bitflow formula. It illustrates why comparing two numbers requires their calculation assumptions.

pythonDistinguish gross from net · illustrative defensive model, not vendor codeDefensive model
def net_amount(gross, fee):
    assert 0 <= fee <= gross
    return gross - fee

assert net_amount(100, 2) == 98
assert net_amount(100, 0) == 100
Read the code

Interactive review model

Balance model

Invented integer units, not token balances.

Local example model. No connection to a protocol, sample or live service.

Countercheck for reserve loss

The second fixture changes allocation while preserving the total. Within the model it rejects the inference that every differing net amount necessarily means reserve loss. Historical counterreview examined actual artifacts; this example does not reproduce the private mechanism.

pythonCountercheck instead of an automatic loss label · illustrative defensive model, not vendor codeDefensive model
expected = {"user": 98, "beneficiary": 2}
observed = {"user": 100, "beneficiary": 0}
assert sum(expected.values()) == sum(observed.values())
assert expected != observed
# Allocation changed; a reserve-loss claim needs separate evidence.
Read the code

Interactive review model

Gross versus net

Simplified countercheck with fictional fees.

Starting value 100. Two modelled steps. No real market prices or execution costs.

Local example model. No connection to a protocol, sample or live service.

Different source families

Source mapping kept deployed variants distinct. The hash comparison illustrates that principle without asserting a real contract count. A repository name did not replace mapping the code actually reviewed.

pythonKeep source families distinct · illustrative defensive model, not vendor codeDefensive model
import hashlib
artifacts = [b"fixture-a", b"fixture-a", b"fixture-b"]
family_ids = {hashlib.sha256(x).hexdigest() for x in artifacts}
assert len(family_ids) == 2
Read the code

Interactive review model

Check source binding

Different revisions do not support an identical conclusion.

Local example model. No connection to a protocol, sample or live service.

Two separate dispositions

The historical accounting observation received a conditional Low/Medium classification. A separate candidate for Critical reserve loss was rejected. Those dispositions must not be combined into a confirmed High or Critical finding.

Assessment remains scope-specific

Fresh economic assessment requires current sources and state assumptions. These results concern the historical examined slices. This report did not assess subsequent remediation or current security of other Bitflow components.

Findings at a glance

  • Who benefits from the difference?
  • Gross and net
  • Countercheck for reserve loss

Review limits

  • As of 6 October 2026. Two separate counterreviews, not review of every Bitflow product.

References

The links provide project context. The judgment rests on the evidence described in the audit. Review models and actual tool excerpts are labelled separately.

Bitflow · Documentation ↗Bitflow · GitHub ↗
Final assessment

Conclusion

Conclusion: Low/Medium, Critical candidate rejected

The historical accounting observation received a conditional Low/Medium rating. The separate Critical candidate was rejected. This does not establish High/Critical reserve loss.

Next steps

  • Document the accounting assessment separately from the rejected candidate.
  • Refresh sources and state assumptions before reassessment.
Basis of this judgmentAssessment of the documented state dated 2026-10-06. No fresh validation.
Clarity accounting and actual value flows
← All research audits

Start a conversation

Discuss your project.

Start a conversation