Next.js frontend for the DenBridge Console. Provides the 3-stage flow:
- Setup wallets (EVM + Stacks)
- Funding (bridge USDC -> USDCx)
- Run payroll (CSV -> batch payout on Stacks)
/-> Landing (unchanged)/app-> Stage 1 Setup/app/funding-> Stage 2 Funding/app/payroll-> Stage 3 Run Payroll
Wizard variants (legacy / internal):
/wizard/setup/wizard/funding/wizard/payroll
Set values in the repo root .env (see .env.example).
Relayer:
SEPOLIA_RPC_URLEVM_CHAIN_IDEVM_USDC_ADDRESSEVM_XRESERVE_ADDRESSHIRO_STACKS_API_BASERELAYER_PORTSTACKS_USDCX_TOKEN_CONTRACT
Web:
NEXT_PUBLIC_RELAYER_BASE_URLNEXT_PUBLIC_HIRO_STACKS_API_BASENEXT_PUBLIC_EVM_CHAIN_IDNEXT_PUBLIC_EVM_USDC_ADDRESSNEXT_PUBLIC_EVM_XRESERVE_ADDRESSNEXT_PUBLIC_STACKS_BATCH_CONTRACT_ADDRESSNEXT_PUBLIC_STACKS_BATCH_CONTRACT_NAMENEXT_PUBLIC_STACKS_USDCX_TOKEN_CONTRACTNEXT_PUBLIC_STACKS_REMOTE_DOMAIN_IDNEXT_PUBLIC_STACKS_NETWORK
Note: defaults are applied in development for NEXT_PUBLIC_* vars, but production builds should set all values explicitly.
From repo root:
pnpm i
pnpm devThis runs devnet + web + relayer concurrently.
Integration hooks live in src/services/:
BridgeService(bridge-service.ts)StacksTreasuryService(treasury-service.ts)PayrollService(payroll-service.ts)
- EVM wallet is required for Funding.
- Stacks wallet is optional for Funding (manual recipient allowed), required for Payroll.
- UI uses existing theme tokens only; do not add arbitrary hex values.
/designis read-only reference material.