You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the control center for Track 1 (Onchain Permits). Users managing DeFi bots need to see which contracts are whitelisted, what permits have been signed, and what got denied. Crypto-native users will judge the entire product by this page.
Scope
Signer status card
Status indicator: Active (green) / Inactive (red) / Not configured (gray)
Signer mode display: "Secure Enclave" or "Keyfile"
Signer address (truncated with copy button): 0x1a2b...9f0e
Active chain IDs: e.g., "Base (8453), Arbitrum (42161)"
Contract whitelist editor
Table: contract address, label (user-editable nickname), allowed function selectors
Each row expandable to show selector list with human-readable function names
Add contract: input for address + selectors (one-per-line)
Remove contract with confirmation
Edit selectors: inline edit on expanded row
Changes write back via PUT /api/policies
Prominent "DEFAULT DENY" badge — everything not listed is blocked
Permit history table
Columns: timestamp, target contract (truncated + label), function called, value (USD), chain, status (signed / denied), permit hash
Color coding: green for signed, red for denied
Denied rows show reason on expand (e.g., "contract not in whitelist", "spend cap exceeded")
Pagination (25 per page)
Filter: by contract, by status, by date range
Policy limits display (read-only summary)
Max tx value, daily spend cap, cooldown, max slippage
"Edit in Policies" link → navigates to policy editor
API Dependencies
GET /api/signer/status → { mode, address, chain_ids, active }
GET /api/audit?intent_type=onchain_tx&page=1 → permit history
GET /api/policies → onchain whitelist + limits
PUT /api/policies → save whitelist changes
Design Notes
Contract addresses in monospace font
Consider blockie/identicon next to each contract address
The "DEFAULT DENY" badge is a trust signal — visible, not buried
This page will appear in demo videos — it needs to look sharp
Context
This is the control center for Track 1 (Onchain Permits). Users managing DeFi bots need to see which contracts are whitelisted, what permits have been signed, and what got denied. Crypto-native users will judge the entire product by this page.
Scope
Signer status card
0x1a2b...9f0eContract whitelist editor
PUT /api/policiesPermit history table
Policy limits display (read-only summary)
API Dependencies
Design Notes