-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbase-consumer-app.json
More file actions
153 lines (149 loc) · 8.46 KB
/
Copy pathbase-consumer-app.json
File metadata and controls
153 lines (149 loc) · 8.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
{
"id": "base-consumer-app",
"name": "Base Consumer App Workflow",
"goal": "Build a consumer-facing web3 application on Base with embedded wallet, onchain actions, and optional gasless transactions.",
"goal_tags": ["base-app", "consumer-app", "embedded-wallet", "onchain-actions", "erc-4337", "gasless", "social-login", "wallet-infrastructure", "email-login", "new-users", "identity", "onchain-identity"],
"ecosystems": ["base", "ethereum"],
"scale": ["hackathon", "mvp", "production"],
"user_types": ["vibe-coder", "advanced-builder"],
"phases": [
{
"id": "wallet",
"role": "wallet-setup",
"required": true,
"primary_tools": ["privy"],
"alternative_tools": [
{
"tool_id": "dynamic",
"when_to_prefer": "When the app needs to support both embedded wallet creation and connection of existing external wallets (MetaMask, Coinbase Wallet, WalletConnect). Dynamic handles the hybrid case in one SDK."
},
{
"tool_id": "reown",
"when_to_prefer": "When the target audience is primarily existing wallet holders. Reown connects external wallets — does not create embedded wallets for new users."
},
{
"tool_id": "coinbase-smart-wallet",
"when_to_prefer": "When building on Base and target users already have the Coinbase app — Coinbase Smart Wallet provides passkey-based gasless transactions with zero-configuration smart account abstraction. Native to Base; cannot be used for general EVM chains."
}
],
"skill_refs": [],
"phase_notes": "Privy is the default for consumer apps that need to onboard users who don't have a wallet yet. The key decision here is embedded vs. external — Privy excels at embedded (email/social login → wallet creation). If your users already have wallets and you only need connection, Reown is simpler. If you need both paths, use Dynamic."
},
{
"id": "ui-components",
"role": "ui",
"required": false,
"primary_tools": ["onchainkit"],
"alternative_tools": [
{
"tool_id": "wagmi",
"when_to_prefer": "When you need lower-level hooks without opinionated UI components. OnchainKit wraps wagmi — use wagmi directly for custom UI designs."
}
],
"skill_refs": [],
"phase_notes": "OnchainKit accelerates Base app development with pre-built transaction, swap, and identity components. If you want the acceleration without OnchainKit's visual opinions, use wagmi directly. For hackathons, OnchainKit's ready-made components are the fastest path."
},
{
"id": "chain",
"role": "data-indexing",
"required": true,
"primary_tools": ["alchemy-rpc"],
"alternative_tools": [
{
"tool_id": "quicknode",
"when_to_prefer": "If you need multi-chain RPC beyond Base/Ethereum or are already on the QuickNode stack."
}
],
"skill_refs": [],
"phase_notes": "Alchemy is the reference RPC for Base — it's what Coinbase documentation recommends and what OnchainKit is optimized for. Never use public RPCs in production. Alchemy free tier is sufficient for development and early MVP."
},
{
"id": "gasless-actions",
"role": "payment",
"required": false,
"primary_tools": ["pimlico"],
"alternative_tools": [
{
"tool_id": "alchemy-account-kit",
"when_to_prefer": "When already fully in the Alchemy stack and AA is required alongside chain data in the same provider relationship."
},
{
"tool_id": "zerodev",
"when_to_prefer": "When session keys or advanced smart account programmability is needed beyond standard gas sponsorship."
}
],
"skill_refs": [],
"phase_notes": "Gasless actions dramatically improve conversion for consumer apps — users should never encounter a 'you need ETH' barrier in a well-designed consumer flow. Pimlico's gas policy API makes per-action sponsorship rules easy. Add this phase when any user action requires a transaction.",
"scale_overrides": {
"hackathon": "Skip unless gasless is a core demo requirement. Standard transaction flow is sufficient for demos.",
"production": "Required for any consumer app with meaningful transaction volume. Model gas sponsorship costs and set per-user spending limits before launch."
}
}
],
"prerequisite_workflows": [],
"prerequisite_skills": [],
"trust_state": "production-grade",
"production_notes": [
"Privy + OnchainKit + Alchemy is the dominant Base consumer app stack. The majority of successful Base consumer apps ship with this exact pattern.",
"Wallet onboarding UX is the highest-leverage conversion optimization in consumer crypto apps — Privy's social/email login is the current best practice.",
"Gas sponsorship economics must be modeled before production launch. Track per-action cost against user LTV from day one.",
"Alchemy compute unit budget matters at scale — plan tier before launch, not after hitting limits.",
"Privy handles the wallet/auth layer. Do not build your own wallet management on top of raw private keys."
],
"tradeoffs": [
"Privy provides excellent onboarding UX but locks into their wallet infrastructure — extracting users later is complex.",
"OnchainKit's visual components accelerate development but limit design flexibility. Trade-off: speed vs. design control.",
"Pimlico adds gas sponsorship complexity. The UX improvement is significant, but requires policy configuration to avoid budget overruns.",
"Alchemy + Pimlico creates two provider relationships for a single chain — manageable but adds configuration surface area."
],
"anti_patterns": [
"Using public RPCs in production — Alchemy free tier is nearly free and prevents rate limit failures.",
"Skipping embedded wallet entirely and requiring MetaMask/Coinbase Wallet — user drop-off at the wallet step kills consumer apps.",
"Building without gas sponsorship for consumer-facing transaction flows — users should not need ETH.",
"Using Privy's react-auth SDK for server-side autonomous operations — Privy is user-facing. Use Turnkey for server-side signing.",
"Hardcoding a specific wallet address without Privy policy controls — no spending limits means no blast radius containment."
],
"constraint_modifiers": [
{
"constraint": "no_existing_wallet",
"modification": "Privy is the primary recommendation — this workflow is optimized for onboarding users with no existing wallet via email, social login, or passkeys.",
"affects_phase": "wallet"
},
{
"constraint": "hybrid_wallet",
"modification": "Use Dynamic instead of Privy for the wallet phase. Dynamic handles both embedded wallet creation for new users AND external wallet connection (MetaMask, Coinbase Wallet) in a single SDK.",
"affects_phase": "wallet"
},
{
"constraint": "has_existing_wallet",
"modification": "Replace Privy with Reown (external wallet connection only) or upgrade to Dynamic (hybrid embedded + external).",
"affects_phase": "wallet"
},
{
"constraint": "gasless_required",
"modification": "Promote gasless-actions phase to required. Configure Pimlico gas policy before any user-facing transaction flow.",
"affects_phase": "gasless-actions"
},
{
"constraint": "hackathon_timeline",
"modification": "Skip gasless-actions phase. Use Privy + OnchainKit + Alchemy as the minimal viable stack.",
"affects_phase": "gasless-actions"
},
{
"constraint": "ai_reasoning_required",
"modification": "Add Vercel AI SDK as an ai-reasoning phase. Pair with Trigger.dev if durable background execution is needed.",
"affects_phase": "ai-reasoning"
},
{
"constraint": "social_features_required",
"modification": "OnchainKit handles Basenames identity resolution for Base-native social features. Neynar is required only if integrating Farcaster social data — if Farcaster is the primary social network, consider the farcaster-consumer-onboarding or farcaster-social-ai-agent workflows instead.",
"affects_phase": "ui-components"
}
],
"retrieval_tags": ["base-app", "consumer-onboarding", "embedded-wallet", "gasless", "onchainkit", "privy", "alchemy", "erc-4337"],
"source": {
"derived_from": "corpus-expansion-strategy-v1 + WORKFLOWS.md + ToolRecord analysis",
"last_verified": "2026-05-13"
},
"updated_at": "2026-05-13"
}