Security
No owner. No setters. One Guardian.
Who holds a key
Only the Flap Guardian. Everything else is open to everyone on equal terms.
Flap Guardian0x76Fa…6950
- Owner: none
- Setters: none
- Platform payee fixed
- MeridxVaultFactory0xa0f5…228DNo authority
- MeridxVaultDeployer0x3529…6388No authority
- MeridxBeacon0x6600…0828Guardian
upgradeTotransferOwnershiprenounceOwnership - MeridxVault0x5b46…8a0DGuardian
emergencyWithdrawNativeemergencyWithdrawTokensetAutoForward - MeridxText0x374e…DA11No authority
Red gates
Each gate breaks one guard in the source. Its tests must fail.
64of 64 gates caught their break
Source
7020ce23852aaa19 matches this build- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
G01commission is revenue x 6 / 200G02a loan is at most 30% of the collateral valueG03outstanding principal stays under the pair capG04the first reference is no higher than the listing priceG05the reference rises at most 5% per daily closeG06a repaid loan releases its share of the 24-hour windowG07only the locked share of the pair countsG08the exit is measured behind pending tax and locked collateralG09defaults keep occupying the pair capG10settle only strictly after due + graceG11a same-block pump does not raise the valueG12vaultData must be emptyG13buy tax must be 200 bpsG14interest is charged by started hourG15repay stays open until the loan is settledG16only the Guardian can drain nativeG17the beacon belongs to the GuardianG18the listing price is lockedLP^2 / seeded^2G19reserves are oriented (token, quote)G20locked reserves are oriented (token, quote)G21a failed forward never reverts receive()G22borrow is non-reentrantG23only the Guardian can move tokensG24a quote rescue rebases the ledgers at onceG25a shortfall is shared in proportionG26BNB attached to repay is not revenueG27only a PancakeSwap V2 pair is pricedG28an overflowing listing price reads as unreadableG29interest is charged for at least a dayG30one open loan per addressG31a USDT vault refuses BNB on repayG32the excess over owed is refundedG33the window spans 24 clock hoursG34a view previews exactly what a poke would storeG35a launcher commission is shownG36quoteBorrow reads 0 below the minimum loanG37disarming the forward clears its targetG38only the VaultPortal creates vaultsG39one vault per tokenG40repay's schema input is msg.valueG41the implementation cannot be initializedG42USDT is a supported quoteG43a second default rebases what is leftG44the settler gets 1% of the collateralG45the commission goes to the platformG46the schema text states the constantsG47no dividend leg at launchG48a tax-free token is valued without sell taxG49the beacon refuses unsupported chainsG50owedAt charges by started hour from the startG51only the trigger service may call trigger()G52only the pending request id is acceptedG53the pending id is cleared before any workG54a dispatch needs at least the minimum loan of taxG55a sync for revenue needs at least the minimum loan waitingG56the daily close is due only 24 hours after the anchorG57a vault whose pair is not live is not synced for its clockG58the lap keeps the schedule reserve in handG59the cursor resumes where the lap stoppedG60an incomplete lap comes back at the active cadenceG61kick waits for a pending request unless it is staleG62an unfunded tick goes idle instead of revertingG63the fee is read from the service at each slotG64a failed leg's reason is truncated
Self-check
Three independent review passes, then the authors' checklist.
Checklist
25 pass
2 not applicable, 1 with disclosure
Findings resolved
19
3 high, 6 medium, 10 low
Tests
204 unit
34 on a BNB Chain fork, 31 of them for the trigger
Open questions
4
for Flap; 6 points kept as designed
High 3
Medium 6
Low 10
- Inheritance
- receive()
- ERC-20 quote accounting (rule 010)
- description(), schemas and factory
- Guardian and fairness
- Errors and oracles
- Emergency controls
- Tests
Not audited
Read the code before you trust it with money.
These contracts have not been audited. The self-check is by the authors. It is not an audit.