Skip to content

story: document which wallets support CIP-64, and that an unsupporting wallet silently falls back to CELO #2303

Description

@GigaHierz

User story

As a developer implementing fee abstraction, I want to know which wallets actually construct CIP-64 transactions, so I don't ship a feature that silently does nothing for most of my users.

Context & evidence

Verified against the working tree at 879ff180.

The docs describe fee abstraction as universally available and never mention that the wallet client must build the CIP-64 transaction:

  • build-on-celo/fee-abstraction/overview.mdx:27"This means fee abstraction works with any externally owned account (EOA). No smart contract wallets, no relayers, no extra infrastructure needed." True of the protocol, and it reads as "every wallet works". Nothing qualifies it.
  • tooling/wallets/index.mdx:11 sends readers to the Celo Native Wallets section for fee abstraction, but that section carries no per-wallet fee-abstraction indicator. The Ledger support: field on each wallet means "works with a Ledger device" — unrelated, and actively confusing next to this question.
  • build-on-celo/build-on-minipay/overview.mdx:53 documents it correctly for MiniPay — so the information exists on exactly one wallet's page, where nobody comparing wallets will look.
  • grep -rniE "if (the |your )?wallet .*(does not|doesn't|cannot)" --include='*.mdx' . returns nothing: the failure mode is undocumented.

The failure mode. A dApp sets feeCurrency correctly. The user's wallet doesn't implement CIP-64, so it submits a standard transaction and gas is paid in CELO. Nothing errors. The developer sees CELO deducted and cannot tell whether their code, the adapter address, or the wallet is at fault — the one explanation the docs never offer is the correct one.

This came from the docs assistant (#2250), which answered a question about wallet support by faithfully summarising the pages above. The answer was accurate to the docs and useless to the reader — exactly the coverage gap the assistant is meant to surface.

Research needed: the Ledger announcement

Ledger shipped CIP-64 fee-abstraction support in July 2026 and it is absent from these docs. Ledger is not listed on the wallets page at all.

OPEN — confirm before publishing: whether support is Ledger Live, the Celo Ledger app, or both, and whether any minimum version applies. The announcement blog returned 403 to automated fetching, so the asset list above is from secondary coverage and must be checked against the primary source or with Ledger directly.

Acceptance criteria

  • fee-abstraction/overview.mdx states that the wallet must construct the CIP-64 transaction, and that a wallet without support submits a normal transaction paying gas in CELO — no error
  • A wallet support table lives on one canonical page, linked from both the fee-abstraction overview and the wallets page
  • Ledger is added to tooling/wallets/index.mdx with its CIP-64 support and supported assets
  • The existing Ledger support: field is disambiguated or renamed so it is not read as CIP-64 support
  • Wallet support claims verified per wallet, each with a dated source
  • Guidance for developers on detecting or degrading gracefully when the wallet lacks support

Non-goals

Changing protocol behaviour or the fallback itself. Auditing every wallet in the ecosystem — the table covers wallets Celo documents.

Depends on / blocks

None. Related: #2250 (the assistant that surfaced this).

Design / technical notes

OPEN — the support list is the substance of this issue and is not yet verified. MiniPay is confirmed in-repo (build-on-minipay/overview.mdx:53). Valora is asserted in-repo (tooling/wallets/index.mdx:36, "supports Celo's ability to pay for transactions with stablecoins") but not as CIP-64 specifically. Ledger is sourced only to the July 2026 announcement above. No wallet has been verified as not supporting CIP-64 — a wrong support table is worse than none, so each row needs a dated source before publishing.

A support table dates the moment it ships. Prefer a short list of confirmed wallets with dates over an exhaustive matrix, and say when it was last checked.

Activity

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

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationenhancementUser story / featurepriority:highMajor feature broken, workaround existssize:SHours: small, well-bounded fixstatus: triageNeeds triage

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions