Bitcoin Movie Enigma
Bitcoin Movie Enigma
bitcoin
34 film stills, one BIP39 word each, ten intruders. Solved in 2026 with a phrase whose checksum fails.
- Author
- klems
- Prize recorded
- 0.001 BTC
- Still unsolved
- none
Census
- solved
- 1100%
- public keys
- 1100%
- private keys
- 1100%
Access
- Load
getCollection("movie-enigma") - Showmovie-enigma in the playground
The puzzle
klems posted 34 movie frames on X in April 2022 and put 100,000 sats on a native SegWit address the same day. The platforms compressed the frames badly, so the puzzle got a small site of its own and a relaunch on Nostr in January 2024. The rules: name every film, turn each title into an English BIP39 word "somehow", and drop the ten intruders, films that don't belong in the sequence, using what IMDb says about each. The 24 words left, in panel order, restore the wallet.
The intruders sit in five thematic groups, two outliers each: Kubrick films, 1979 releases, films with Jean Reno, films of at least two hours, second installments. The word is the opening prefix of the title without its article, four letters where that lands on a word, three where the prefix is already unique. Paths of Glory is path, Apocalypse Now is apology, Godzilla is goddess.
What the records carry
The one record is the only one in the dataset with a full seed phrase on it:
export const movieEnigmaPuzzle = bitcoinPuzzle({
id: "movie-enigma",
address: p2wpkh(
"bc1q94ecsn0qk8lap2gefrycnms3ruepy889z969a6",
"2d73884de0b1ffd0a91948c989ee111f32121ce5",
),
sourceUrl: "https://bitcoinmovieenigma.com/rules",
startedAt: "2022-04-08 16:15:24",
status: Status.Solved,
pubkey: compressed("022c17f7486b4107b42a243a62e4d0919af3e8ee858a272319bffb0536486b9405"),
key: seed(
"path mad alien apology escape spare miss goddess leopard crime visit clock start first blade guard close barrel term screen matrix toy ghost shine",
"m/84'/0'/0'/0/0",
),
prize: 0.001,
solvedAt: "2026-09-08 01:32:56",
solveTime: 139396652,
transactions: [
funding("b805…b2a3", "2022-04-08 16:15:24", 0.001),
claim("bd3b…c5f4", "2026-09-08 01:32:56", 0.00099766),
],
solver: party("rabbidbird", {
addresses: ["35h2x1Rqq3HmV1NX4KQAGZoz8Vmf42ktQT"],
profiles: [profile("github", "https://github.com/rabbidbird")],
}),
assets: assets({
solution: "solution.md",
sourceUrl: "https://github.com/floflo777/open-crypto-puzzles/issues/24",
}),
});
The phrase fails the BIP39 checksum. Its last word encodes 47 where the entropy calls for 119, so a wallet that validates before deriving refuses it, and every sweep that filtered candidates on the checksum threw the answer away. The seed is PBKDF2 over the words, so derivation doesn't care: m/84'/0'/0'/0/0 gives the funded address and the compressed key the claim spent with. verify() derives it the same way and says verified. That's the one place the checksum matters in this library, and it doesn't.
The public key comes from the claim's witness. The started date is the funding transaction, which is the day of the first X post; the site's own frame pages show synthetic dates.
Status
Solved. rabbidbird posted the phrase and the payout on 2026-09-08, twelve minutes after the claim confirmed, in floflo777/open-crypto-puzzles#24. That announcement is the record's solution asset, assets/movie-enigma/solution.md, with the issue as its source, so the answer travels with its provenance. A singleton like gsmg and bitaps: the id is movie-enigma. The film stills stay on the author's site, they're frames from other people's films.
The record
The one puzzle in this collection, the way its page shows it.
bitcoinp2wpkh solved
Record
bitcoinPuzzle({
address: p2wpkh("bc1q94ecsn0q…89z969a6", "2d73884de0b1…32121ce5"),
status: Status.Solved,
key: seed("path mad ali…st shine", "m/84'/0'/0'/0/0"),
})- Prize
- 0.001 BTC
- Key material
- seed
- Verification
- verified
- Solved
- 2026-09-08 · 4y 5mo 3d 9h 17m
- Trail
- Explorerblockstream.info
- Sourcebitcoinmovieenigma.com/rules
- Solverrabbidbird and what else they solved
- Trymovie-enigma in the playground
- Address
- bc1q94ecsn0qk8lap2gefrycnms3ruepy889z969a6
hash160 2d73884de0b1ffd0a91948c989ee111f32121ce5
Key
- public key · compressed
- 022c17f7486b4107b42a243a62e4d0919af3e8ee858a272319bffb0536486b9405
- seed phrase
- path mad alien apology escape spare miss goddess leopard crime visit clock start first blade guard close barrel term screen matrix toy ghost shine
- derivation path
- m/84'/0'/0'/0/0
Transactions
- funding2022-04-080.001 BTCb8058e6f37…fdb2a3
- claim2026-09-080.00099766 BTCbd3b088164…d6c5f4
Hints
- undated
officialGuess all the 34 movie titles, from the provided movie frames
- undated
officialTransform "somehow" each movie title into an English BIP-0039 seed word
- undated
officialThe seedphrase you have is 34 words long, but we should have a 24 words seedphrase instead. Some movies should not be in the sequence, and should be considered intruders, but which ones ? You will need additional informations about each movie to detect those intruders "somehow". Every information you need can be found on IMBD, on each movie's page