Wallets monitored
0
Current account wallet count from /api/dashboard/stats.
0watch customer dashboard
This page is the post-signup customer surface. It reuses the API key issued by signup when available, falls back to manual key entry, and talks directly to the existing 0watch account endpoints.
Delivery history
The main reassurance surface for customers: whether alerts actually left the system, when they last landed, and what still needs replay.
Dead-letter queue
Failed deliveries stay retryable from the browser so first-time users can tell the difference between “nothing happened yet” and “something broke.”
Account info
Plan tier, billing state, account identity, and the masked API key currently driving the browser session.
Activation milestones
Show the account progression from signup to first confirmed delivery so first-time users can see what is complete and what still needs action.
Wallets monitored
0
Current account wallet count from /api/dashboard/stats.
API calls this period
0
Metered requests in the active billing window from /api/usage.
Alerts sent this week
0
Recent alert volume from /api/dashboard/stats.
Rate limit remaining
waiting
Remaining requests in the current rate-limit window.
Usage stats
Current billing period, recent metered requests, and the latest indexer sync markers for this account.
Billing manager
Create a fresh Base payment request for Developer or Team, verify the transfer, and review recent payment activity without leaving the customer dashboard.
USDC quotes can auto-detect matching transfers when you refresh. ETH quotes require the transaction hash for verification.
Manual downgrade path: stop renewing. Crypto-backed plans fall back to Free after the paid window and grace period expire.
Wallet handoff
Scan from a Base wallet or copy the deep link above. The quote is account-bound through its payment reference and expires automatically.
Recent payment activity
API key management
Issue an additional key, rotate the current session key, and revoke older keys without leaving the dashboard.
Newest issued key
This value only appears immediately after issuance or rotation. Store it before refreshing the page.
Webhook routes
Create, edit, test, and delete per-wallet alert routes using the existing webhook endpoints. Telegram needs a chat-linking step; Discord is just a pasted webhook URL.
Start the bot or add it to a group first, then paste a telegram:// route with the chat id and bot token.
telegram://123456789?token=bot-tokenCreate a channel webhook in Discord and paste the generated URL. The delivery path is channel-scoped from the start.
https://discord.com/api/webhooks/<id>/<token>Use your own HTTPS endpoint when you want the raw signed payload and control downstream routing yourself.
https://alerts.example.com/0watchWallet operations
Interactive target list table with route coverage, recent activity, and anomaly count from /api/wallets plus /api/wallets/:address/summary. Contract watchlist entries stay explicit here even though the backend route still uses wallet naming.
Customer checklist
Use the delivery history first, then confirm the underlying wallet, route, and alert-rule configuration without leaving the browser.
Alert rules
Build account-scoped rules on top of the new /api/alert-rules CRUD and dry-run endpoints without leaving the customer dashboard.
Wallet scope
Leave all-wallets on for account-wide coverage, or turn it off and target specific monitored wallets.
Notification channels
Reference existing webhook routes by id, add email recipients directly, or use both on the same rule.
Saved rules
Edit, enable or disable, dry-run, and remove rules already stored on the customer account. Each rule also shows recent trigger history from the saved dry-run endpoint.
Address setup
Guide the first monitored wallet or contract address from signup to the first tested alert using /api/wallets, /api/webhooks, and the webhook test endpoint.
Wallets and protocol contracts still register through the same watchlist API, but the operator workflow changes. Pick the target type here so the setup copy, defaults, and review table stay explicit.
Telegram needs a linked bot chat. Discord and custom webhooks only need a destination URL. The wizard sends a signed sample payload on activation so the browser can confirm the first delivery path immediately.
Use this when the ops team already lives in Telegram. Start the bot first, then bring the chat route back here.
Best for protocol ops rooms. Create a channel webhook in Discord and paste it directly.
Use your own service when you want to fan alerts into internal tooling after delivery.
Operator note
The setup wizard registers wallets and routes immediately. The wallet table, webhook panel, and delivery log above become the live state view once this flow completes.
Protocol TVL collector
Persisted protocol TVL snapshot history, backend alert thresholds, and stored evaluation windows load from /api/dashboard/protocol-tvl.
Anomaly feed
Filterable anomaly history by type from /api/wallets/:address/alerts, alongside the delivery history below.
Alert history
Recent account alert payloads with status, timestamp, and payload preview from /api/alerts/history.