Skip to content

Errors in dice-generated recovery phrase lookup table at indices 19, 658, and 1866 #315

Description

@maximusmaximalistus

Summary

The PDF guide for generating a Jade recovery phrase with dice contains three errors in its 2,048-entry BIP39 lookup table.

Guide:

https://storage.googleapis.com/dxp-production-assets/content/blockstream-jade/add-more-security-functionality/create-a-recovery-phrase-using-dice/JadeDiceRollsGuide.pdf

Canonical BIP39 English word list:

https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt

Incorrect entries

Index Current entry in PDF Correct entry Error
19 D1=1, D2=1, D3=4 — act D1=1, D2=3, D3=4 — act Incorrect D2 value
658 D1=6, D2=3, D3=3 — FALSE D1=6, D2=3, D3=3 — false Incorrect capitalization
1866 D1=15, D2=10, D3=3 — TRUE D1=15, D2=10, D3=3 — true Incorrect capitalization

Details

Index 19

The PDF currently contains:

1  1  4  act  19

It should contain:

1  3  4  act  19

The dice result 1,1,4 is already correctly assigned to index 3, about.

Because of this error:

  • 1,1,4 appears twice in the table.
  • The valid result 1,3,4 is missing.
  • A user who rolls 1,1,4 sees two possible words.
  • A user who rolls 1,3,4 cannot find the corresponding entry.

Index 658

The PDF currently contains:

6  3  3  FALSE  658

The canonical BIP39 word is lowercase:

6  3  3  false  658

Index 1866

The PDF currently contains:

15  10  3  TRUE  1866

The canonical BIP39 word is lowercase:

15  10  3  true  1866

BIP39 mnemonic words should match the canonical lowercase word list. The uppercase entries are inconsistent with that list and could cause confusion or validation/import problems in implementations that require exact lowercase input.

Full-table audit

I compared all 2,048 entries in the PDF against the canonical BIP39 English word list and independently recalculated the expected dice coordinates using the zero-based BIP39 index:

D1 = floor(index / 128) + 1
D2 = floor((index mod 128) / 8) + 1
D3 = (index mod 8) + 1

The audit found:

  • All indices from 0 through 2047 are present exactly once.
  • Every word is assigned to the correct BIP39 index.
  • Index 19 is the only incorrect dice-coordinate entry.
  • FALSE and TRUE are the only capitalization mismatches.
  • No additional spelling, index-assignment, or dice-coordinate errors were found.

Suggested fix

Please update the following three rows in the PDF:

Index 19:
1  3  4  act  19

Index 658:
6  3  3  false  658

Index 1866:
15  10  3  true  1866

AI-assisted audit note

This report was prepared with assistance from OpenAI ChatGPT, GPT-5.6 Thinking, on August 3, 2026 at approximately 00:37 UTC+1.

The audit used the following sources:

The AI-assisted review compared the 2,048 table entries with the canonical BIP39 English word list and checked the expected dice coordinates using:

D1 = floor(index / 128) + 1
D2 = floor((index mod 128) / 8) + 1
D3 = (index mod 8) + 1

The reported findings were also checked against the surrounding table entries to detect duplicated or missing dice combinations.

This report is intended to help identify and reproduce documentation errors. It is not a formal code review, security audit, or substitute for independent verification by the Jade maintainers. The PDF and source files should be rechecked directly before applying or publishing any corrections.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions