3.8 KiB
dependencies
| dependencies |
|---|
LP-0014: Token program improvements: Associated Token Accounts (ATAs) + wallet tooling [CLOSED]
Logos Circle: N/A
Overview
This prize targets practical improvements that make LEZ tokens usable in real wallets and applications by introducing deterministic Associated Token Accounts (ATAs) and minimal tooling to manage them.
Solana’s SPL Token ecosystem provides a useful reference: it separates mints from token accounts and commonly uses ATAs as a canonical token account per wallet+mint pair, simplifying balance discovery and improving UX.
Motivation
Without deterministic token accounts:
- wallets cannot reliably discover a user’s balances,
- users must manually create and select accounts,
- integrations become brittle and error-prone,
- UX degrades significantly.
A standardized ATA mechanism provides predictable account locations, idempotent creation, and wallet-friendly defaults.
Success Criteria
- Associated Token Account (ATA) mechanism: Implement an ATA program/pattern such that:
- there is a deterministic token account address for a given
(owner, mint)pair, - the derivation is documented and stable,
- creation of an ATA is idempotent (safe to call repeatedly),
- token accounts created via the ATA mechanism are clearly identifiable as “associated token accounts”.
- there is a deterministic token account address for a given
- Wallet/CLI command support: Provide user-facing commands (or a minimal wallet-facing library + CLI) for:
- creating an ATA for a given mint,
- querying the derived ATA address,
- listing a wallet’s ATAs for known mints (at minimum via explicit mint list input),
- transferring tokens using ATAs as defaults when available.
- Backwards-compatible baseline: Existing simple transfers (one sender/one recipient), mint/burn, and NFTs continue to work (or have a clear migration story and compatibility layer).
- Documentation and examples: Provide:
- a short “Wallet integration guide” describing how to derive/create/use ATAs.
Scope
In Scope
- ATA programme/pattern for deterministic token accounts.
- Minimal wallet/CLI tooling for the ATA lifecycle.
- Clear specifications for:
- ATA derivation and ownership rules,
- expected UX defaults (e.g., “use ATA if present; otherwise prompt/create”).
- Minimal, auditable implementation with strong tests.
Out of Scope
- Authority models for minting (covered in a separate prize).
- A full production wallet UI or hosted explorer.
- Complex compliance systems, fee mechanics, or DEX integration.
Prize Structure
- Total Prize: $600
- Effort: Medium
Eligibility
Open to any individual or team. Submissions must be original work. Teams must hold the rights to all submitted code and agree to license it under MIT or Apache-2.0.
Submission Requirements
- Public repository containing:
- code changes to the token program and any ATA program,
- CLI tooling and/or wallet-facing library,
README+ design docs (ATA derivation and UX guidance),- tests and example programmes/scripts.
Evaluation Process
By default, submissions are evaluated first-come-first-served against the success criteria. The first submission that meets all criteria wins.
Resources
Potential for Subsequent λ Prizes
This prize targets the current LEZ testnet. Should a future testnet version introduce breaking changes, a subsequent λ Prize may be opened to cover the necessary adaptation and redeployment.