Skip to content

LP-0021, LP-0022: LEZ Zone Wallet and Combined Blockchain+Zone Wallet - #122

Open
fryorcraken wants to merge 41 commits into
masterfrom
wallet
Open

LP-0021, LP-0022: LEZ Zone Wallet and Combined Blockchain+Zone Wallet#122
fryorcraken wants to merge 41 commits into
masterfrom
wallet

Conversation

@fryorcraken

@fryorcraken fryorcraken commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Related to logos-co/ecosystem#194

Summary

Adds two λPrizes for a Logos wallet and developer SDK, split by scope so a team can ship and start accruing adoption on a single LEZ zone before taking on the blockchain, staking, bridging, and multi-zone work:

  • prizes/LP-0021.md — LEZ Zone Wallet and SDK ($20,000, Effort: X-Large)
  • prizes/LP-0022.md — Combined Blockchain and Zone Wallet ($10,000, Effort: Large), extending LP-0021

Plus the README table entries for both.

LP-0021: LEZ Zone Wallet and SDK

Wallet. Own, send, and receive native and fungible token-program assets on a single LEZ zone, across public and private accounts. Multiple accounts on that zone. Targets testnet 0.3. NFT support is optional, not required.

SDK. Lets third-party dApps request account access, read state, and propose transfers and smart contract interactions — with a wallet-selection and approval flow so nothing is signed without the user choosing an account and seeing what they are approving. For smart-contract calls, the approval prompt must show a human-readable summary of effects, not raw calldata, and (for programs registered in LP-0023's registry) the program's verified-source status.

Reference mini apps.

  • a testimonial app — a standard LEZ program storing each testimonial on-chain, carrying custom text, an optional username, and a per-submission identifier;
  • a faucet app that requests testnet funds on the zone with SDK-driven account selection.

Adoption criteria (required in addition to FURPS, judged discretionarily): 10 independent third-party developers shipping functional SDK apps, 150 on-chain testimonials over at least 2 sustained months (≥30/month, from ≥150 distinct accounts), 30 Discord and 30 Twitter/X testimonials. GitHub stars were dropped as a criterion (gameable, doesn't represent real usage).

Depends on LP-0023 (program source-verification registry, open PR #127) — hard dependency, since the approval-flow criterion above requires it.

Prize: $20,000.

LP-0022: Combined Blockchain and Zone Wallet

Depends on LP-0021 and LP-0023 (see its dependencies: frontmatter). Extends the LP-0021 wallet and SDK to: blockchain assets and multi-account, staking/unstaking/reward claims, bidirectional chain↔zone bridging, and multi-zone/per-zone sequencer configuration. Extends the testimonial and faucet mini apps to the blockchain layer.

Eligibility is open to any team building on a merged LP-0021 solution — not necessarily the same team that won LP-0021 — or to a new codebase entirely.

Adoption criteria are incremental to LP-0021's (re-citing LP-0021's numbers doesn't satisfy this section): 5 additional third-party developers using the blockchain/bridging/staking/multi-zone SDK surface, 100 blockchain inscriptions over at least 2 sustained months (≥20/month, from ≥100 distinct accounts), 20 Discord and 20 Twitter/X testimonials specifically about bridging/staking/multi-zone use. Stars dropped here too, for the same reason as LP-0021.

Forked-submission gap-fill. The incremental framing above only holds when the submitting team is continuing the same LP-0021 codebase. Any other submitter (a different team, or the same team shipping a rewritten wallet not descended from their own merged LP-0021 solution) does not inherit LP-0021's zone-side (LEZ) traction, and must first independently earn 50 on-chain testimonials on the LEZ zone (from ≥50 distinct accounts, same anti-Sybil standard) before the incremental numbers above count.

Prize: $10,000.

Shared design points (both prizes)

Privacy posture. No mandatory external services — anything third-party (price APIs, analytics) must be disclosed, disableable, and opt-in, with the wallet fully functional without it. Any remote persistence must use Logos Storage with client-side encryption.

Adoption criteria are deliberately attribution-based, not generic on-chain activity, since generic activity can't be traced back to the wallet software that produced it.

NFTs are explicitly out of scope for required functionality (optional if a team wants to include them), since the token program covers both fungible and non-fungible assets but only fungible support is evaluated.

Watch-only addresses are out of scope for both prizes.

Terminology. LEZ-side on-chain content is called a "testimonial" throughout (no implementation-level terms like "PDA"); the equivalent content on the base Logos blockchain (LP-0022 only) is called an "inscription" to keep the two layers distinguishable in the adoption criteria.

Notes for reviewers

  • Why split into two prizes. The original single-prize draft bundled a full blockchain+zone wallet, SDK, staking, bridging, and multi-zone config into one $20,000 prize — scope realistically worth several times that as a single build, and gated on an adoption tranche a team can't reasonably start accruing until the entire surface (including features like bridging that aren't needed for early zone-side adoption) is built. Splitting by chain lets LP-0021 ship a complete, adoption-ready single-zone wallet quickly, and LP-0022 build on that foundation (SDK, approval flow, mini apps already exist) rather than duplicating it.
  • Zones have no number. They are identified on-chain by ChannelId (a 32-byte Ed25519 public key) and self-register on first use; for clients a zone is just its sequencer endpoint. Both prizes name the official testnet zone as https://testnet.lez.logos.co and flag that the 0.3 endpoint is confirmed at open.
  • Hard dependency on LP-0023. Both prizes require LP-0023 (program source-verification registry, open PR LP-0023: LEZ Program Registry #127) to be merged and its registry integrated into the approval flow — not just an optional nice-to-have. Same forward-reference pattern LP-0022 already uses for LP-0021.
  • Status is Draft on both, pending Logos team review of scope and prize amounts.

Test plan

  • prizes/LP-0021.md and prizes/LP-0022.md render cleanly on GitHub
  • Logos team confirms scope, adoption thresholds, and the $20,000 / $10,000 amounts before moving either to Open

@github-actions

github-actions Bot commented Aug 10, 2026

Copy link
Copy Markdown

✅ Validation passed

A reviewer will assess against the prize criteria.
ℹ️ No prize-related changes; skipping submission checks.


Automated check. See solution template and TERMS.

@fryorcraken fryorcraken changed the title LP-0018: Logos Wallet LP-0018: Blockchain and Zone Wallet Aug 10, 2026
@fryorcraken fryorcraken changed the title LP-0018: Blockchain and Zone Wallet LP-0018: Blockchain and Zone Wallet and SDK Aug 10, 2026
Comment thread prizes/LP-0018.md Outdated
Comment thread prizes/LP-0018.md Outdated
Comment thread prizes/LP-0018.md Outdated
Comment thread prizes/LP-0018.md Outdated
Comment thread prizes/LP-0018.md Outdated
Comment thread prizes/LP-0018.md Outdated
Comment thread prizes/LP-0018.md Outdated
Comment thread prizes/LP-0018.md Outdated
Comment thread prizes/LP-0018.md Outdated
Comment thread prizes/LP-0018.md Outdated
@fryorcraken fryorcraken changed the title LP-0018: Blockchain and Zone Wallet and SDK LP-0021: Blockchain and Zone Wallet and SDK Aug 10, 2026
@fryorcraken fryorcraken changed the title LP-0021: Blockchain and Zone Wallet and SDK LP-0021, LP-0022: LEZ Zone Wallet and Combined Blockchain+Zone Wallet Aug 17, 2026
@fryorcraken
fryorcraken marked this pull request as ready for review August 28, 2026 02:15
@fryorcraken
fryorcraken marked this pull request as draft August 28, 2026 02:16
@fryorcraken
fryorcraken marked this pull request as ready for review August 28, 2026 03:12
Comment thread prizes/LP-0021.md Outdated
fryorcraken added a commit that referenced this pull request Aug 28, 2026
Applies review suggestion from PR #122.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Comment thread prizes/LP-0021.md
- [ ] **Wallet selection & approval flow**: when a dApp requests a connection or a transaction, the user is shown a selection prompt (which account to use) and an approval prompt (what is being signed/sent) before anything is signed or submitted.
- [ ] **Testimonial mini app**: a small reference application, built on the SDK, that lets any user publish a testimonial on the official Logos zone, going through the full connect → account selection → approval → transaction flow. This means **a standard LEZ program that stores each testimonial on-chain**. A testimonial carries custom text, an optional username, and a unique identifier for the given LP submission, so that testimonials can be attributed to the submission that produced them. It serves as the canonical SDK integration example for third-party developers, and is the tool used to produce the on-chain testimonials counted in the adoption criteria below.
- [ ] **Faucet mini app**: a reference application, built on the SDK, that requests testnet funds from the LEZ faucet, using the SDK to let the user select which account receives them. It must report success/failure and handle faucet rate-limiting gracefully.
- [ ] **Testnet 0.3**: the wallet operates end-to-end against the canonical Logos LEZ zone on Logos testnet 0.3.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we wait till mainnet? I am afraid of someone solving this LP until mainnet is ready only later to discover it don't work or needs fixing (new LP?)

@fryorcraken fryorcraken Sep 3, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Proposed strategy:

  • LEZ wallet targets 0.3
  • Combined wallet targets 0.4, which means bringing LEZ part to 0.4
  • If any gap to mainnet, we can do a new LP

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to clarify - new LP would require to build on top of Wallet LP?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LP-0022 assumes the same features as LP-0021. So either challenger for LP-0022 fork winner or LP-0021 or they build from scratch. Either is fine.

Comment thread prizes/LP-0021.md
- [ ] **Multiple accounts (LEZ)**: create and manage multiple accounts on the zone, including both public and private accounts, and switch between them.
- [ ] **Developer SDK**: a documented SDK that lets a third-party dApp request account access, read balances/state, and propose transactions against the wallet.
- [ ] **Wallet selection & approval flow**: when a dApp requests a connection or a transaction, the user is shown a selection prompt (which account to use) and an approval prompt (what is being signed/sent) before anything is signed or submitted.
- [ ] **Testimonial mini app**: a small reference application, built on the SDK, that lets any user publish a testimonial on the official Logos zone, going through the full connect → account selection → approval → transaction flow. This means **a standard LEZ program that stores each testimonial on-chain**. A testimonial carries custom text, an optional username, and a unique identifier for the given LP submission, so that testimonials can be attributed to the submission that produced them. It serves as the canonical SDK integration example for third-party developers, and is the tool used to produce the on-chain testimonials counted in the adoption criteria below.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so, there should be example mini app but full Wallet app is too much?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so, there should be example mini app but full Wallet app is too much?

Not sure I get this comment, the output is:

  • a ui module that is a LEZ wallet
  • a SDK to integrate in other ui modules (apps) to use the LEZ wallet
  • a ui module that is a testimonial mini apps, and shows integration with the sdk.

So the testmonial mini app acts as an example mini app.

and a full wallet needs to be delivered.

@weboko weboko left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

left small questions

fryorcraken and others added 13 commits September 3, 2026 14:26
Covers LEZ + blockchain asset ownership/transfer, token program
support, staking, chain<->zone bridging, multi-zone/sequencer
config, multi-account (incl. public/private LEZ accounts), a
developer SDK with wallet-selection/approval flow, watch addresses,
and testnet 0.3 support, with adoption metrics modeled on the
lambda-prize forward plan's V0.3 testnet framework.
Generic on-chain activity cannot be traced back to the wallet software
that produced it, so the previous metrics measured nothing specific to
a challenger's submission. Replace them with traction attributable to
the wallet itself: 10 independent third-party SDK integrations with
genuine commit history, 100 repo stars, 100 on-chain inscriptions via a
designated zone, and 20 Discord + 20 Twitter/X testimonials.

All are required and evaluation is discretionary, with commit and
account histories inspected, per the forward plan's ETH-Global-style
criteria. Framed as the first tranche, with a follow-up LP expected.
- Testimonial mini app: reference SDK integration that inscribes
  "I use this wallet" on both the blockchain and the official Logos
  zone. Doubles as the canonical example for third-party devs and the
  tool that produces the adoption criteria's on-chain inscriptions.
- Name the official zone by sequencer endpoint rather than a number:
  zones are identified by ChannelId/endpoint, not sequentially, so
  there is no zone number to cite. Testnet 0.3 endpoint TBC at open.
- Discretionary UX-quality criterion, per the forward plan's
  "volume + usability/UX signal" dimension.
- No mandatory external services: any third-party service (e.g. price
  API) must be disclosed, disableable, and non-essential.
- Adopt the Supportability requirements from PR #67 (cross-platform
  build, mkLogosModule, module catalog publishing), since that
  template change is not yet merged and so is not inherited.
Above the live build-LP bands (L = $1,200, XL ~ $2,000) to reflect
that this prize couples a large build with a first adoption tranche
requiring sustained ecosystem outreach, not just delivery.
Requests testnet funds from both the Logos blockchain and LEZ faucets
with SDK-driven account selection. Unified app preferred; a split is
allowed if the faucet backends differ enough to contort one flow.

Gives the SDK a second worked example and gives the 100 inscribers a
supported way to fund accounts on both layers before inscribing.
- Retitle to "Blockchain and Zone Wallet and SDK" (+ README table).
- Drop token minting; scope token program to owning/transferring from
  public and private accounts.
- Say "private and public accounts" rather than "shielded balances".
- Testimonial mini app: specify a LEZ smart contract holds the
  testimonials; custom text, optional username, and a unique
  identifier per LP submission.
- SDK covers smart contract interactions, not just transfers.
- Move module-catalog publishing from Supportability to Usability.
- Wallet state survives network drops.
- External-services criterion covers analytics: opt-in only.
- Adoption: rename section, retitle intro to traction attributable to
  a submission, note it applies in addition to FURPS, allow custom
  inscription text, encourage screenshots with X testimonials.
- Remove the Out of Scope section.
- Drop the duplicated RISC0_DEV_MODE video criterion from
  Supportability. The narrated demo stays in Submission Requirements
  since the README mandates one for every prize.
If remote data persistence is needed for reliability (backup,
cross-device recovery), it must use Logos Storage rather than a
centralised provider, with client-side encryption.
Replace nine prose em-dashes with commas, colons, parentheses, or
sentence breaks, keeping only the two Resources list separators that
match the convention in other prize files. Demote one reflexive
three-item list to two.
- SDK integrations 10 -> 15, with at least 3 non-trivial apps that
  exist to do something other than demonstrate the SDK.
- Inscriptions 100 -> 250, from at least 250 distinct accounts.
- Add a sustained-activity criterion: inscriptions must span at least
  2 months with 50+ in each month, so a single burst does not qualify.
  Verifiable from chain data via the submission's unique identifier.
- Testimonials 20 -> 50 on each of Discord and Twitter/X.
- Note in Evaluation Process that a submission cannot qualify before
  the two-month adoption window has elapsed.
Four other open PRs (#36, #71, #75, #90) already claimed LP-0018, all
opened before this one. LP-0021 is the first number claimed by neither a
merged prize nor an open PR.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
LP-0021 now scopes to a single LEZ zone (wallet, SDK, approval flow,
testimonial + faucet mini apps) so a team can ship and start adoption
without being blocked on blockchain-level features. LP-0022 extends
that foundation to the Logos blockchain, staking, bridging, and
multi-zone configuration, with its own incremental adoption tranche.
Both priced at $20,000.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
fryorcraken and others added 28 commits September 3, 2026 14:26
…terminology

Token program covers both fungible and non-fungible assets; both LPs
scope to fungible only and call NFTs out explicitly. Add the
lez-programs repo (github.com/logos-blockchain/lez-programs) to
Resources in both. In LP-0021, replace "inscription" with
"testimonial PDA" for LEZ-side testimonials, since inscription is a
Bitcoin/blockchain term and this is a standard LEZ program with PDAs;
LP-0022's blockchain-layer testimonials keep "inscription".

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
TERMS.md already establishes the whole program is discretionary
(sole discretion over evaluation, winner selection, and award).
Calling out "Evaluation is discretionary" per-criterion, and tagging
UX quality as "(discretionary)" specifically, wrongly implied other
criteria are binding guarantees. Point to TERMS instead and keep the
substantive guidance (dimensions considered, anti-Sybil rules).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…alls in approval prompts

Cross-referenced against research on existing self-custody wallets
(Rabby, MetaMask): decoding what a contract call actually does
(balance/approval changes) rather than showing raw calldata is the
most-cited defense against drainer and unlimited-approval exploits.
The prior wording only required asset/amount/destination for plain
transfers, leaving smart-contract interactions (approvals, staking,
bridging) undecoded.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
A separate, not-yet-written λPrize will cover a registry mapping
deployed program bytecode to source. Note it near the smart-contract
approval-decoding criterion and in Resources: the wallet MAY use it
if available by submission time, but it is not a requirement since
the registry LP doesn't exist yet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
LP-0023 (Program Registry — Verified Builds for LEZ Programs, PR
#127) is now open and follows the LP-0021/LP-0022 adoption pattern.
Firm up the prior speculative "not yet written" placeholder into a
real dependency: add LP-0023 to both files' dependencies:
frontmatter, and change the approval-prompt criterion from
optional ("MAY use... not required") to required ("must show the
registry's verified source status") for programs registered in it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Remove 75-stars adoption criterion
- Remove compute-unit-usage and cross-platform/demo-script requirements
- Fold cross-platform build requirement into the Basecamp bullet
- Add gas usage display to Usability, canonical zone wording to Testnet 0.3
- Clarify NFT support is optional, not required
- Bump Effort to X-Large

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Applies review suggestion from PR #122.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Match install wording: modules "can be installed on" both platforms
- Add the module-catalog publishing bullet to Usability, mirroring LP-0021

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Drop "and not evaluated" from NFT optional-support line in both files
- LP-0022: a fork not continuing the same team/codebase as LP-0021 must
  independently earn 50 LEZ-side testimonial PDAs before its incremental
  adoption numbers count; same team/codebase continues to inherit LP-0021's
  numbers as before

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The only LP-0021 adoption dimension LP-0022 didn't already cover: a
fork not continuing the winning team's LP-0021 codebase must earn its
own 50 LEZ-side testimonial PDAs, distinct from the blockchain-side
inscription requirement already in this section.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Prize specs describe product requirements, not implementation
details; replace "PDA" with plain "testimonial(s)" throughout.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Also fixes missing blank line before ### Supportability heading.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Reorder clauses so the requirement (150 testimonials, submitted via
the mini app) leads, and fix the dangling "challenger's" grammar.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Drop "in a dedicated zone" implementation detail from testimonial
  mini app extension bullet
- Add "(core and ui types)" to module catalog bullet, matching LP-0021
- Unify approval-prompt punctuation style (colon/comma vs em-dash)
- Add UX-feel Performance bullet, linked to Adoption, matching LP-0021

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Fix grammar/completeness of the submitter-options sentence, add
  blank line before it, link to Eligibility
- Note third-party developer apps are ui type modules

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Scope > In Scope used "inscribes" for LEZ-side content; should be
  "testimonial", matching the deliberate LEZ=testimonial vs
  blockchain=inscription terminology split used everywhere else
- README listed LP-0021 as "Large" effort; body says "X-Large" since
  an earlier edit — sync README to match

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Only accept Logos Basecamp apps (ui type Logos modules) toward the
third-party-developer adoption criterion; apps using the SDK outside
a Basecamp app don't count.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…required

The challenger doesn't have to use the LP-0023 registry winner — it's a
recommendation, not an evaluation requirement. Keep the dependencies:
frontmatter entry for metadata/traceability purposes.
…hoice is not

Fix prior edit that made the whole criterion optional. The approval prompt
must show some form of program source-verification status; LP-0023's
registry is the recommended provider, but any equivalent registry works.
…mmended not mandated

Source-verification status in the approval prompt stays a hard requirement.
Using LP-0023's registry specifically is a recommendation, not mandatory.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…doption-first table

README's prize index now splits into adoption-first vs legacy tables (merged
separately); place the new prizes under adoption-first. Also align the
disclaimer block with the format landed in prizes/LP-0000.md (--- separator,
bold Note lead-in, markdown link to TERMS.md).
@fryorcraken

Copy link
Copy Markdown
Collaborator Author

Proposal: rename LP-0021 to "LEZ Zone Wallet and Provider SDK"

LP-0021 delivers two things: the wallet itself, and the developer-facing SDK third-party dApps use to request account access and propose transactions against it.

The term "wallet SDK" is currently doing double duty across the program. rfp#200's deliverable (4) uses it for the opposite side of the boundary — the BDK-shaped library a wallet is built from, which holds the keys — whereas LP-0021's SDK is what an app calls to ask a wallet to sign, and holds none. As written, a dApp developer looking for the SDK they should integrate is pointed at the one they cannot use.

Suggest "LEZ Zone Wallet and Provider SDK". "Provider" follows EIP-1193; Solana calls the equivalent component the Wallet Adapter.

LP-0022 needs no change — its name contains no "SDK".

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