or
Dashboard Overview
⬡ ADMIN
Checking status…
Total Users
—
Paying Users
—
Free Users
—
Est. MRR
—
based on tier counts
Selector Signatures
—
—
4byte.directory · openchain-selectors-sync
Contract Registry
—
—
—
Registry Sources
Loading…
Plan Distribution
Loading…
Recent Signups
Loading…
Supported Chains
Loading…
DeFi Protocol Library
Loading…
Total Classifications
—
Cache-Eligible (5+ hits)
—
Known Contracts
—
Graph Classifications
—
Pending Rules
—
Data Sources
—
loading…
Engine Vitals
CANARY
—
REVIEW QUEUE
—
pending + needs review
RULES ADDED 7D
—
by source below
CLASSIFICATIONS 24H
—
rows written
Flywheel Health
Pending Candidates
—
demand-driven queue
Armed for Adjudication
—
evidence sample attached
Awaiting Sample
—
sourcing bot fetches these
Promoted (14d)
—
— demoted
Txs Sourced
—
— targets enabled
Loading bot activity…
Rule Library Pipeline
Sources
Primary · EVM enrichment · Subgraphs · AI adjudicator
Threshold
≥90% agreement · 2+ sources · 5+ samples
Approved
—
SourcePendingApprovedRejectedDemoted
Loading...
Bot Fleet Status
BotSchedulePurposeLast ActivityStatus
Loading...
Investor Stats
Live metrics for investor demos. Tier counts are live; MRR uses current list prices (Pro $249 · Firm $199).
Lifetime Classifications
—
multi-source consensus
Approved Rules
—
active classification_rules
Claude-Audit Coverage
—
active rules Claude-verified
Paying Customers
—
Pro + Firm tiers
Est. MRR
—
based on tier counts
Classifications · 30d
—
distinct user_id
Supported Chains
—
EVM + non-EVM
Cumulative Approved Rules last 90 days
Loading…
Sources: tx_classifications · classification_rules · auth.users · api_usage. Cross-source agreement rate maintained in docs/PUBLIC_METRICS.md (single source of truth, reviewed weekly).
Usage
EmailPlanExplorer/Ext txBy surfaceAPI keysAPI tx (all-time)
Loading usage…
All Customers
EmailPlanBillingFirm GrantTX LimitJoinedLast Sign InActions
Loading customers…
MRR
—
Pro $249 · Platform $999 · Firm $199 ($99 founder to 9/3)
Est. ARR
—
MRR × 12
Paying Users
—
Comped Firm
—
manual 30-day grants, not in MRR
Actual revenue by month (cash, from Stripe ledger)
drill down in Finances › P&L
Loading…
Revenue by Plan
Stripe Dashboard ↗
Loading…
✓ Live data: Revenue metrics are pulled directly from Stripe. Includes active subscriptions, balance, and recent charges. Falls back to Supabase tier estimates if Stripe is unavailable.
Engine Health
LAST FIRE
—
TODAY
—
promotions
THIS WEEK
—
promotions
PENDING BACKLOG
—
high/med/low
CASCADE 24H: — classified • 0 D-complex • 0 D-simple • 0 needs-review (0%) MCP 24h: 0
SKIP REASONS — LAST 7 DAYS
Loading...
STUCK CANDIDATES (top 20, pending with high samples × agreement)
Loading...
CRON RUN HISTORY (last 20 fires)
Loading...
Auto-Approve Activity
TODAY
—
THIS WEEK
—
TOTAL RULES
—
LIVE
— total
— last hour
— today
Total Classifications
—
Contracts Known
—
Approval Rate
—
Pending Review
—
Resolved
—
Triage Queue
Deduplicated by contract + function + chain. Each row = one pattern affecting N transactions.
TierProtocolContractSelectorChainTypeKoinlyHitsAgreement%ConfidenceFeedbackSourcesActions
Loading...
AI Recommendations
▸
Click one of the analysis buttons above to generate AI recommendations.
Recent Classifications Feed
▸
TimeContractChainTypeKoinlyTax CatProtocolConfSource
Expand to load...
—
Contract Registry
— contracts ▸
— chains | — labeled
AddressChainLabelProtocolCategoryMethodsSourceUpdated
Expand to load...
—
Rules Library
▸
ContractSelectorChainTypeKoinlyTaxProtocolConfStatusSourceActions
Click a filter to load rules
Feedback Details
▸
Correction Patterns
Original Type→Corrected ToProtocolCountAvg ConfidenceAction
Expand to load
Performance & Corrections
Worst Performers
Loading...
Top Corrections
Loading...
Accuracy by TX Type
Loading...
Accuracy by Koinly Action
Loading...
Recent Feedback
VoteTX HashChainTypeCorrectionKoinlyConfidenceTierTimeReview
Expand to load
Most Active Users
UserTierVotesUpDownAlignmentKB Adds
Loading...
AI TX Review
Click "Run Batch Review" to have the AI adjudicator independently review disputed transactions.
Total Rules
—
all statuses
Approved
—
active=true
Pending Review
—
awaiting promotion
Demoted / Rejected
—
post-review
—
Contract Selector Chain Protocol Category Koinly Tax Conf Approved Hits Status
Loading rules…
Graph Classifications
—
seeded from The Graph
Pending Rules
—
awaiting admin review
Approved Rules
—
ready for activation
Validation Flags
—
disagreements found
Cache Coverage
—
of total classifications
Supported Protocols
Loading...
Pipeline Breakdown
Classifications by protocol and chain from The Graph
ProtocolCategoryChainsClassificationsPending RulesApprovedRejectedConfidence
Loading...
Triage Queue
▸
ProtocolChainContractTypeKoinlyTaxConfSample TXReasoningActions
Loading...
Validation Disagreements
▸
ProtocolChainCTE TypeReasoningStatusActions
No validation disagreements
How Graph Pipeline Works
▸
1. Background Discovery

The Graph Seeder queries 15 DeFi protocol subgraphs across multiple EVM chains via The Graph's decentralized network. It discovers new contracts, maps on-chain events (Swap, Mint, Burn, Supply, Borrow, etc.) to CTE classification types, and resolves function selectors via Etherscan.

2. Classification Seeding

Discovered events are mapped to compound keys (contract:selector:chain) and inserted into tx_classifications with source thegraph. Each entry includes protocol, event type, Koinly action, and tax category with confidence scores (80-95%).

3. Bidirectional Validation

Graph → CTE: Samples Graph-seeded tx hashes, verifies via Etherscan that stored function selectors match actual on-chain data.

CTE → Graph: Cross-references existing CTE cache entries against Graph event mappings. Disagreements auto-proposed as pending rules.

4. Admin Review

All rules proposed as pending — never auto-approved. High-confidence rules (≥90%) can be bulk-approved. Flagged events (liquidations, flash loans) require individual review.

Key principle: The Graph is a background enrichment source, never a real-time classification engine. It feeds the learning cache, not the live pipeline.
LIVE
— classifications/min (last hour)
— last hour
— classified today
— this month
— metered API/MCP calls today
Usage by Customer
API PARTNERS (keys · the billing meter)
PartnerTierStatusTx todayTx 30dCalls 30dQuota burnLast seen
Loading…
FIRMS (Report Review · client-year pool 25/yr)
AccountClientsClient-yearsPoolRunsTotal txAvg scoreLast run
Loading…
APP USERS (dashboard · this month vs last)
UserTierTx this monthTx last monthMember since
Loading…
API Billing — this month
Rates: cached $0.005 · standard $0.025 · heavy DeFi consensus $0.06 per classification. Amount = current calendar month, ready to invoice per key.
KeyOwnerTierCachedStandardHeavyTotal$ (mo)Status
Loading…
RPi LIVE
cte-rpi
Last ping: —
Loading health data...
API Health Log
Last 50 health pings from RPi
TimeProviderStatusLatencyHealthyError
Loading...
Signup Feed
New users detected by RPi
TimeEmailProvider
Loading...
Error Monitor
Classification error rate
TimeCheckedFailuresError %Low Conf
Loading...
Cron Schedule
▸
Every 5 minHealth Pinger — pings 6 API providers, logs status + latency Every 10 minSignup Watcher — detects new user signups via Supabase Auth Every 15 minFailed TX Monitor — checks error rate and low-confidence classifications Every 2 hoursGraph Seeder — discovers contracts from 11 DeFi subgraphs Weekly (Sun)Log Rotation — truncates monitor.log and seeder.log
My Account
Email—
PlanADMIN
TX ClassificationsUnlimited
Batch Analyzer✓ Enabled
API Access✓ Full
BillingComplimentary
Quick Actions
Supabase Connection
Project IDdnhsufwdyhkwrsdtfgyx
Proxy RoutesChecking…
Service Role KeyChecking…
Auth URLsupabase.co/auth/v1
Tier Pricing & Permissions
Anonymous$0 · 10 TX/day · No batch
Developer$0 · 250 TX/mo · No batch
Pro$249/mo · 25,000 TX/mo · Batch ✓ · API ✓
Firm$199/mo · unlimited team · Batch ✓ · API ✓
AdminComplimentary · Unlimited · Full access
Breezing Activity
WhenEndpointCompanyTxEngineExceptionsReady%Statusms
Loading…
Minutes / Partner API Usage
PartnerTierTotal TxCachedStandardComplexEst. $Last seenStatus
Loading…
Partners appear here once they call the classification API — Minutes' key will populate when their testing begins.
Per-tx Reconciliation
PartnerBillable txCachedStandardComplexNon-billableDeferred$ to invoiceAggregate txReconciles
Loading…
Per-tx ledger for the selected month. 'Reconciles' compares the per-tx count to the aggregate rail — they should agree. 'Deferred' rows (needs-review / unknown) must never be billable (§5.3).
Free usage (no account)
Yesterday
—
Window
—
New / returning
—
Signed up this month
—
Loading…
Monthly Revenue
—
Monthly Expenses
—
Net / month
—
Net / year
—
Live: loading…
P&L — actuals (cash basis, click any cell to drill down)
Sources: Stripe balance transactions + Mercury (checking, savings, IO card) + manual actuals, synced nightly. Internal transfers (card autopay, Stripe payouts, owner draws) are excluded from P&L math and shown separately. Management reporting, not filing-grade books.
Loading…
Manual actual:
For real spend that never touches Mercury or Stripe (personal-card software, cash). Lands as a drillable manual row, included in P&L.
Cash & balances
Loading…
Log a one-off charge
One-offs (30d): —
Logs an expense as a one-time charge (source: manual) with its date. Shows in the Records table below; excluded from the recurring monthly/net math, summed in the 30-day figure above.
Add record
Usage-based & one-time rows are tracked but excluded from the recurring monthly/net math. Revenue auto-merge from Stripe + partner usage is wired for when billing goes live.
Records
TypeNameCategoryAmountFreq$/moNotesActions
Loading…