Blockstream

Generate a Recovery Phrase With Poker Cards

This method uses a standard 52-card deck, including all four suits and excluding Jokers. Each draw maps to a bit sequence in the card table below; the number of bits varies by card. Accumulate 11 bits for each provisional word, repeat for 12 or 24 words, and then follow the final-word procedure.

Use a table like the following to record the resulting bits in the order drawn.

10245122561286432168421IndexWord

The index is calculated by adding the values in every column containing 1. For example:

10245122561286432168421IndexWord
10110001010

The index is 1024 + 256 + 128 + 8 + 2 = 1418. You do not need to calculate it yourself; use the shared binary words table to find the index and word.

Card-to-Bits Mapping

With a 52-card poker deck, draw one card at a time until you have enough entropy. Return each card to the deck and shuffle it before the next draw.

For each card, find its value in the following table by matching:

  • the suit (Spades, Hearts, Clubs, Diamonds)
  • the rank (A for Ace, 2-10, J for Jack, Q for Queen, K for King).

(This uses a standard 52-card poker deck, excluding Jokers.)

SuitRankValue
SpadesA00000
Spades200001
Spades300010
Spades400011
Spades500100
Spades600101
Spades700110
Spades800111
Spades901000
Spades1001001
SpadesJ01010
SpadesQ01011
SpadesK01100
HeartsA01101
Hearts201110
Hearts301111
Hearts410000
Hearts510001
Hearts610010
Hearts710011
Hearts810100
Hearts910101
Hearts1010110
HeartsJ10111
HeartsQ11000
HeartsK11001
ClubsA11010
Clubs211011
Clubs311100
Clubs411101
Clubs511110
Clubs611111
Clubs70000
Clubs80001
Clubs90010
Clubs100011
ClubsJ0100
ClubsQ0101
ClubsK0110
DiamondsA0111
Diamonds21000
Diamonds31001
Diamonds41010
Diamonds51011
Diamonds61100
Diamonds71101
Diamonds81110
Diamonds91111
Diamonds1000
DiamondsJ01
DiamondsQ10
DiamondsK11

If the final draw provides too many bits, truncate the result to the required length.

Words Table