Skip to content

docs(build-on-base): add Gasless USDC Transfers (EIP-3009) reference - #153

Open
osr21 wants to merge 1 commit into
base:masterfrom
osr21:gasless-usdc-reference
Open

docs(build-on-base): add Gasless USDC Transfers (EIP-3009) reference#153
osr21 wants to merge 1 commit into
base:masterfrom
osr21:gasless-usdc-reference

Conversation

@osr21

@osr21 osr21 commented Aug 15, 2026

Copy link
Copy Markdown

What

Adds references/gasless-usdc-transfers.md to the build-on-base skill, plus a Task Routing row in SKILL.md.

The reference covers the EIP-3009 transferWithAuthorization pattern for gasless USDC transfers: the authorization envelope, exact EIP-712 domain values (including the name mismatch trap — USDC is "USD Coin" but EURC is "EURC"), token addresses for Base and Base Sepolia, a relayer-side validation checklist (validBefore cap, BigInt parsing, rate limiting, surfacing revert reasons), and the smart-wallet caveat.

Why

The skill's existing references cover Base Account / Base Pay flows, but agents asked to implement "pay with USDC without ETH" for EOA wallets have no routing target — and this pattern has two failure modes that repeatedly burn builders and are invisible until runtime:

  1. Wrong EIP-712 domain name → generic "invalid signature" revert with no hint the domain is the problem.
  2. Smart-contract wallets can't sign EIP-3009 → the flow fails only at submission, after the user has signed. The reference instructs detecting contract accounts up front (getCode) and routing to batched calls + paymaster instead — and notes the same audit applies to EIP-2612 permit.

Both are documented from production experience running this exact pattern (BasePay's gasless relay on Base mainnet), not from spec reading.

Scope

Docs only — one new reference file, one table row in SKILL.md. No changes to existing references or plugins. Follows the frontmatter and cross-linking conventions of the existing reference files.

Companion runnable demo submitted to base/demos as apps/gasless-usdc-payments/.

@cb-heimdall

Copy link
Copy Markdown
Collaborator

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/2
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 1
Sum 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants