Skip to content

feat(bench): perp-exit-custody bench 123 - #1726

Merged
Flotapponnier merged 2 commits into
devfrom
feat/perp-exit-custody
Aug 3, 2026
Merged

feat(bench): perp-exit-custody bench 123#1726
Flotapponnier merged 2 commits into
devfrom
feat/perp-exit-custody

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Summary

  • Adds bench 123: perp-exit-custody — worst-case hours for a user to withdraw without operator/validator cooperation, across 7 perp DEX venues
  • Static scanner data for 4 EVM venues (gains, gmx-v2, ostium, vertex) in harnesses/permissions-scan/out/ with confidence tiers per field
  • Non-EVM venue data for Hyperliquid, Lighter, Aster from L2Beat + official docs
  • Live Prometheus metrics declared: perp_exit_settlement_age_hours{venue=ostium}, perp_exit_epoch_number{venue=gains}, perp_exit_bridge_balance_usd{venue=hyperliquid}

Key findings

  • Lighter: only venue with bounded worst-case exit — 336h (14-day Desert Mode, self-provable ZK proof)
  • Ostium: only EVM venue with permissionless fallback — tryNewSettlement() is public, 720h worst-case (3x 30-day intervals)
  • gains/GMX/Hyperliquid/Aster: no permissionless exit path (oracle/keeper/validator required)
  • Vertex: implementation contracts unverified on Arbiscan; exit architecture opaque
  • GMX finding: 2 of 4 TIMELOCK_ADMIN holders are plain EOAs (no multisig)

Test plan

  • Validate bench YAML passes SpecSchema (npx tsx validation confirmed locally: VALID)
  • Staging preview renders bench 123 page at /bench/perp-exit-custody
  • Live metrics require harness deployment (deferred; bench renders static data until harness is live)

🤖 Generated with Claude Code

@Flotapponnier
Flotapponnier merged commit c31d720 into dev Aug 3, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant