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>
- 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>
- 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>
- 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>
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>
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>
- 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>
- 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>
- 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>
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>
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>
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>
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>
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>
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>
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>
- 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.
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.
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.
- 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.
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.
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.
- 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.
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.
actions/checkout v4.4.0 refuses to check out fork PR code from a
pull_request_target workflow, so every submission PR from a fork now dies
at the checkout step and the validator never runs.
Rather than opt back in with allow-unsafe-pr-checkout, drop the fork
checkout entirely. The validator reads exactly one thing from the PR --
the submission markdown -- so those blobs are fetched by path from the
contents API instead. The fork's working tree never lands on the runner,
which removes the pwn-request exposure the guard exists for rather than
declaring it acceptable, and leaves nothing to re-audit when this job
grows a build or lint step later.
Also:
- Read the prize spec from base/ rather than the PR. It is repo-owned, so
the base branch's copy is authoritative; the fork's is a stale snapshot
from whenever it branched, which also made the closed/draft check read
outdated status.
- persist-credentials: false on the base checkout. Nothing here pushes.
- Bound the submitter-supplied external clone and the one full-content
scan of it with timeouts, no submodules, and no auth prompts.