---
title: "Bitaps mnemonic challenge"
description: "One SegWit address behind a 3 of 5 Shamir secret sharing scheme. Two shares and the extended public key are published. One bitcoin and change since 2020."
canonical_url: "https://puzzles.agntn.dev/collections/bitaps"
---
# Bitaps mnemonic challenge

> One SegWit address behind a 3 of 5 Shamir secret sharing scheme. Two shares and the extended public key are published. One bitcoin and change since 2020.

<collection-facts collection="bitaps">



</collection-facts>

## The puzzle

Bitaps split a mnemonic into five shares with a threshold of three. They published two of them and the account's zpub, and put a bitcoin on the first receiving address. Three shares recover the seed. Two don't, by construction. So the challenge is a statement about the scheme as much as a bounty: you can't get there from what's public.

## What the records carry

The one record in the collection is the only one with `shares` on it:

```ts [src/collections/bitaps.ts]
export const bitapsPuzzle = puzzle({
  id: "bitaps",
  chain: "bitcoin",
  address: "bc1qyjwa0tf0en4x09magpuwmt2smpsrlaxwn85lh6",
  sourceUrl: "https://bitaps.com/mnemonic/challenge",
  startedAt: "2020-06-19 13:24:41",
  pubkey: compressed("0385a3a591451ed7ed6c90dae882db918107d6f906d270cf4728d168126e0e89aa"),
  key: derivation("m/84'/0'/0'/0/0")
    .xpub(
      "zpub6qdEDkv51FpxX6g1rpFGckmiL46vV8ccmtEgPAkj3qj8N4ZZHyXDRA9RwpTiFK2Kb8vRaDmSmwgX6rfB4t2K8Ktdq8ExQ6fumKpn2ndJCqL",
    )
    .shares(3, 5, [
      share(1, "session cigar grape merry useful churn fatal thought very any arm unaware"),
      share(
        2,
        "clock fresh security field caution effort gorilla speed plastic common tomato echo",
      ),
    ]),
  prize: 1.00016775,
  transactions: [
    funding("a24e…25e6", "2020-06-19 13:24:41", 1),
    increase("bb0b…f167", "2021-11-29 12:20:03", 0.00008781),
    increase("fe3f…c14d", "2022-02-05 20:43:56", 0.00002403),
    increase("910c…b272", "2022-10-13 00:48:34", 0.0000522),
    increase("c617…3419", "2026-02-01 14:34:35", 0.00000371),
  ],
});
```

The public key is known because the zpub gives it. The private key isn't. A path plus an xpub is no secret, so `hasPrivateKey()` says `false`. The four top-ups since 2020 are on the record as `increase` transactions. That's why the prize has change on the end.

## Status

Open, and a singleton. The id is `bitaps`, `bitaps.get()` takes no argument, and `get("bitaps")` at the top level finds it too.

## The record

The one puzzle in this collection, the way its page shows it.

<puzzle-page puzzle="bitaps">



</puzzle-page>


## Sitemap

See the full [sitemap](https://puzzles.agntn.dev/sitemap.md) for all pages.
