-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
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
- 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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels