From context-skills
Build the wallet connect → approve → deposit → ready-to-trade UI flow
How this skill is triggered — by the user, by Claude, or both
Slash command
/context-skills:account-setup-flowThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Build the onboarding flow that takes a user from wallet connection to ready-to-trade: connect wallet, approve contracts, deposit USDC.
Build the onboarding flow that takes a user from wallet connection to ready-to-trade: connect wallet, approve contracts, deposit USDC.
The user wants to build the account setup UI — the first thing a new user sees before they can trade.
Wallet connection — use wagmi's useConnect() and useAccount():
const { connect, connectors } = useConnect()
const { address, isConnected } = useAccount()
Check account status — useAccountStatus() returns whether approvals and deposits are needed:
const { data: status } = useAccountStatus()
// status.isReady — true if account is fully set up
// status.needsUsdcApproval — needs USDC spend approval
// status.needsOperatorApproval — needs operator approval
One-click setup — useAccountSetup() handles both approvals in one call:
const { mutate: setup, isPending } = useAccountSetup()
// On testnet: gasless (no ETH needed)
// On mainnet: on-chain transactions (requires ETH for gas)
Granular approvals (optional) — for UIs that want separate steps:
useApproveUsdc() — approve USDC spendinguseApproveOperator() — approve the settlement contract as operatorDeposit USDC — useDeposit() to fund the trading account:
const { mutate: deposit } = useDeposit()
deposit(100) // deposit 100 USDC
Show ready state — once status.isReady is true and balance > 0, the user can trade.
useAccountSetup uses signature-based approvals (no ETH needed). On mainnet, it sends on-chain transactions requiring ETH for gas.useApproveUsdc and useApproveOperator for granular control. Use these if your UI wants separate approval steps with progress indicators. useAccountSetup combines both.useSwitchChain() to prompt switching to Base (mainnet) or Base Sepolia (testnet).ContextWalletError. Import from context-markets-react — it covers user rejection, wrong chain, and insufficient funds with structured error types.status.isReady or status.needsUsdcApproval before showing the deposit button.useBalance() and status.isReady is true.npx claudepluginhub contextwtf/context-skills --plugin context-skillsAdds money to a wallet via Coinbase Onramp (USDC). Use when wallet balance is insufficient or user needs to top up, deposit, or onramp.
Walks new users through Vulcan setup: health check, paper trading first path, wallet creation, account registration, and first deposit for live trading.
Installs the Polymarket CLI and funds its wallet with POL and USDC.e on Polygon via MoonPay for trading.