Skip to content
All docs

Build state and gap matrix

Historical snapshot (2026-10-08). Kept as a dated record. For the current state see VERIFICATION.md, ENVIRONMENT_MATRIX.md and the live /status page; items marked pending here may have changed since.

Updated 2026-10-08 (light-only frontend, session persistence, deploy readiness). "Done" means evidenced, not merely coded. Severity: P0 blocks the core claim, P1 blocks a strong submission, P2 is polish or optional.

Deployment (preserved, not redeployed)

ContractAddress (Monad testnet 10143)Evidence
ImprestPool0x85fFff6B1e8e62d2cE8ACA45B69AE530C6FbF457proof/receipts/deployments/testnet-ImprestPool.json
DeskFactory0x1569EE4A7210e226db932B5B7633E63d3AC8c544proof/receipts/deployments/testnet-DeskFactory.json

The frontend redesign and the mobile client required no contract change, so the deployment and every receipt remain valid.

Gap matrix

AreaCurrent stateDesired stateSevWorkVerificationStatus
PROTOCOLDeployed, bytecode verified, operator/treasury separatedsameP0nonesync-deployment, owner() on 2nd RPCDONE
TRADINGReal 0.001 BTC trade opened/closed through a desk on Perpl testnetsameP0nonetestnet receiptsDONE
RISKDirect 6x order reverted LeverageExceeded on testnet; 28 policy testssameP0nonetestnet receipt + forgeDONE
ACCOUNTINGSolidity, TS and Python agree (26/26); waterfall fuzzedsameP0nonereference modelDONE
CLAIMSImplemented and tested locally; desk now funded (tier 1); claim needs realized profit above 502.29 AUSD HWMreal claimP0genuine profit on the funded desktestnet receiptPENDING (market)
GRADUATIONDesk earned +2% over two closed relayed trades; keeper called graduate(); pool funded 400 AUSDsameP0nonegraduation-attempt/05 receipt, second RPCDONE (TESTNET VERIFIED)
FRONTENDOne design system, light theme only, black primary buttons; hero simplified; session persists across reload, tabs and direct URLssameP0nonePlaywright suite + screenshotsDONE
RESPONSIVENESSOverflow sweep 320-1920 px on 12 pages, plus 320-1440 px with a funded desk loaded; phone layouts use cards and a bottom barsameP0nonePlaywrightDONE
MOBILEExpo app on shared core; npm run mobile serves manifest + Android bundle; Expo Go steps documentedruns on a physical phoneP1owner scans the QR; passkeys need a domain + dev buildtypecheck, tests, Metro bundlePARTIAL (not opened on a physical phone)
WALLETMera passkey: create, sign in, persistence, lock and unlock, cancel, explicit sign-out (virtual authenticator)same + phoneP1phone needs a domainPlaywright passkey suiteDONE (web); PENDING (phone)
BACKENDRelayer and keeper running against testnet; relayed trades and a keeper graduate() verifiedsameP1nonereceipts 01-05DONE (TESTNET VERIFIED)
INDEXEREnvio 3.14 running in WSL with Docker Postgres/Hasura; status page shows LIVE/SYNCING and laghostedP1host it (owner)GraphQL query of canonical eventsDONE LOCALLY
TESTING120 forge, 44 TS, 3 mobile, Playwright suitesameP0nonerunssee FINAL_AUDIT
ACCESSIBILITYaxe-core WCAG 2.2 A/AA scan: 0 violations on 14 pages; keyboard-focusable scroll regions; contrast tokens raisedmanual screen-reader passP2manual checkweb/e2e/a11y.spec.tsDONE (automated)
PERFORMANCEChart lazy-loaded; parallel cohort reads; bounded pollingmeasured budgetP2Lighthouse runnone yetPENDING
DOCUMENTATIONFull set incl. SPONSOR_MATRIX, MOBILE, FINAL_AUDITmatches realityP1keep updatedreviewDONE
EVIDENCE33 generated claims, validator passes on-chainsameP0nonevalidate-evidence --onchainDONE
SPONSOR INTEGRATIONSPerpl, AUSD, Mera, Monad used; Envio built not run; Aurora/Kuru not builtper matrixP2see SPONSOR_MATRIXmatrixPARTIAL
SECURITYInternal automated review (Slither, lint, dependency audits) with fixes; red-team suite passesindependent auditP1external audit (owner/budget)SECURITY_REVIEW.mdINTERNAL REVIEW COMPLETE; AUDIT NOT PERFORMED
OBSERVABILITYRelayer/keeper JSON logs with operation_id; /status live checkssame + dashboardsP2none/statusPARTIAL
HOSTINGFresh clone builds and serves every page; Vercel settings and env vars in DEPLOY_VERCEL.mdpublic URLP1owner deploys on Vercel (free tier)clean-clone buildREADY (owner deploys)
MAINNETNot deployedoptionalP2real capital, owner decisionnoneNOT STARTED

Summary

Verified:

  • testnet deployment;
  • contract-level risk rejection (6x order reverted LeverageExceeded);
  • real Perpl trades;
  • contract settlement;
  • relayed (gasless) trades;
  • keeper action;
  • graduation: a real +2% over two closed trades on desk 0xfc65…FCC6, executed by the keeper, with 400 AUSD of pool credit funded. Premature graduation was separately shown to revert;
  • web frontend, session persistence, responsive layout and the browser suite.

Pending:

  • qualifying profit claim (two real attempts lost money; nothing above the 502.29 AUSD high-water mark);
  • independent security audit (an internal automated review only);
  • mainnet;
  • phone passkeys (need a domain);
  • physical-phone test of the Expo app;
  • public hosting (ready, owner deploys);
  • indexer hosting (runs locally in WSL only).