Add gasless USDC deposit on Base (x402)#237
Merged
gianalarcon merged 1 commit intodevelopfrom Apr 25, 2026
Merged
Conversation
Huygon764
added a commit
that referenced
this pull request
May 4, 2026
Huygon764
added a commit
that referenced
this pull request
May 4, 2026
* refactor: improve layout and responsiveness in Quest and Batch components (#200) - Updated QuestPage layout for better responsiveness with max-width and padding adjustments. - Changed BatchTransactions and TransactionSummary components to use flexbox for improved item alignment and responsiveness. - Enhanced QuestCard to allow for flexible width. - Added titles for new routes in the Title component. * Refactor/extract magic numbers to constants (#203) * refactor: adjust z-index values across various components for improved UI layering * feat: add timing constants for HTTP timeouts, cache TTL, and retry delays - Introduced new timing constants in `timing.ts` for backend and nextjs packages. - Updated index files to export the new timing constants for better accessibility. refactor: replace hardcoded values with timing constants for retries and timeouts - Updated various services and modules to utilize new timing constants for retries and timeouts, improving maintainability and consistency across the codebase. - Adjusted `waitForReceiptWithRetry`, `PriceService`, `ZenTransferService`, `TransactionService`, and `ZkVerifyService` to use centralized timing configurations. refactor: replace hardcoded values with timing constants across components and hooks - Updated various components and hooks to utilize new timing constants for polling intervals, refetch intervals, and timeouts, enhancing maintainability and consistency throughout the codebase. - Adjusted `NotificationItem`, `ClaimSection`, `EditAccountModal`, and several hooks to reference centralized timing configurations. refactor: standardize formatting and improve component styles - Refactored various components to enhance code readability by standardizing formatting, including consistent indentation and spacing. - Updated styles across components to utilize new shadow and height constants for improved UI consistency. - Adjusted text sizes in multiple components to ensure uniformity in typography. * refactor: enhance component structure and user feedback in NewAccount sections (#206) - Updated ChooseNetwork component to include wallet connection checks and commitment validation, enhancing user experience with appropriate notifications. - Adjusted StatusContainer to allow copying of commitment addresses to clipboard for better usability. - Enhanced Sidebar component to incorporate wallet connection status in navigation logic. * feat(x402): gasless USDC deposit for Base multisigs (#237) * fix(frontend): prevent duplicate modals from stacking on repeated openModal calls (#241) * fix(nextjs): stop auto-enabling Ethereum mainnet in wagmi config (#242) * fix(deploy): wire NEXT_PUBLIC_FEATURE_X402_DEPOSIT through Docker build args (#243) * feat: migrate proving system from UltraPlonk to UltraHonk (#229) * feat: migrate proving system from UltraPlonk to UltraHonk * refactor: extract shared account formatter and replace magic numbers with constant * fix: resolve PR review issues for UltraHonk migration * refactor(nextjs,docs): rename UI label Commitment to Membership ID (#244) * chore: hide Quest and Leaderboard from app and docs (#245) * feat(nextjs): redesign Portfolio receive flow + add wallet version badge (#246) * chore: disable Quest, Leaderboard, Reward, and Partner endpoints on backend (#247)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add gasless USDC deposit on Base (#238)
Types of change
Comments
PolyPay users can now top up a multisig with USDC on Base in a single click — no
ETH or gas needed. The deposit also works for AI agents and external apps that
speak the x402 standard, so anyone (or any bot) can fund a PolyPay treasury just
by knowing its address.
How to test:
within seconds.
UI Screen


How an agent can use it:
An AI agent (or any third-party script) can fund a PolyPay multisig autonomously,
with no PolyPay account needed. The agent just needs the multisig address and a
wallet with USDC. It calls our public deposit URL using any standard x402 client
library — same flow, just done programmatically instead of through the app. This
is what enables the "AI agent treasurer" use case: a bot that monitors a treasury
and tops it up automatically when balance runs low.