{
  "schema": "https://omdp39.io/test-vectors/schema/deterministic-split-v1.json",
  "format": "OMDP39 deterministic split/recovery test vectors",
  "generatedBy": "OMDP39 web reference implementation v1.0.24 with deterministic test RNG",
  "warning": "Dummy data only. Never use real seed material in public test vectors.",
  "vectors": [
    {
      "name": "12-word seed, 2-of-3",
      "wordCount": 12,
      "entropyBits": 128,
      "threshold": 2,
      "sharesTotal": 3,
      "deterministicRandom": {
        "setIDHex": "1234ABCD",
        "coefficientSource": "sequence of 11-bit values 1,2,3,... supplied to rejection sampler for test vector only"
      },
      "mnemonic": "awake another move potato first duck glance dance slim trash legend cable",
      "shares": [
        "calm minor fiscal spare amount marine agent embark stage cloud canoe couple brass grace vessel satoshi more alarm pepper length abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon",
        "calm minor fiscal spare amused amused loyal elite female climb patrol coyote one gospel indicate salt attend dish laptop length abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon",
        "calm minor fiscal spare amused market again else start clip candy crack boss gold venture safe mixture aisle mass abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon"
      ],
      "sharesUsed": [
        "calm minor fiscal spare amount marine agent embark stage cloud canoe couple brass grace vessel satoshi more alarm pepper length abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon",
        "calm minor fiscal spare amused amused loyal elite female climb patrol coyote one gospel indicate salt attend dish laptop length abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon"
      ],
      "expectedRecoveredMnemonic": "awake another move potato first duck glance dance slim trash legend cable",
      "base24": {
        "shareIndex": 1,
        "alphabet": "0123456789ABCDEFGHJKMNPR",
        "encoded": "0PPD60FFB9411420P83G27B0R2093JH0B6047K57PNM2C60GNB2KFNDPJCRC8K2NFN22DREC6G2BBBR5D84E1E1B9G1751R0",
        "expectedDecodedShare": "calm minor fiscal spare amount marine agent embark stage cloud canoe couple brass grace vessel satoshi more alarm pepper length abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon"
      },
      "negativeCases": [
        {
          "name": "too few shares",
          "sharesUsed": [
            "calm minor fiscal spare amount marine agent embark stage cloud canoe couple brass grace vessel satoshi more alarm pepper length abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon"
          ],
          "expected": "recovery must fail with insufficient shares"
        },
        {
          "name": "invalid Base24 character Q",
          "input": "0PPD60FFB941Q420P83G27B0R2093JH0B6047K57PNM2C60GNB2KFNDPJCRC8K2NFN22DREC6G2BBBR5D84E1E1B9G1751R0",
          "expected": "decode must fail: invalid character Q"
        }
      ]
    },
    {
      "name": "24-word seed, 5-of-8",
      "wordCount": 24,
      "entropyBits": 256,
      "threshold": 5,
      "sharesTotal": 8,
      "deterministicRandom": {
        "setIDHex": "1234ABCD",
        "coefficientSource": "sequence of 11-bit values 1,2,3,... supplied to rejection sampler for test vector only"
      },
      "mnemonic": "cage meat network similar flash envelope pepper deer swim gun drum dinosaur advice powder miss mouse note differ crash remind save alley judge tomato",
      "shares": [
        "calm minor fiscal speed beef motion shift enforce grant property pioneer eye panda horror rebel pave bus liquid february shop exhibit slam owner bonus swamp garden adjust despair video family next length abandon",
        "calm minor fiscal speed before benefit soul doctor impact require rally earn require feel luxury obey custom pioneer label uphold cable reopen unable help resemble devote husband expire photo gaze actor abandon abandon",
        "calm minor fiscal speed before noise soft dry impulse rapid repeat doll rail flag master object defense quit jelly transfer avoid purse volcano ill protect captain hybrid eternal rough among approve abandon abandon",
        "calm minor fiscal speed begin furnace task purpose stereo replace tumble tide judge apple acid under amazing cradle rate tent amazing fire style pyramid decrease blame burst tell economy destroy level abandon abandon",
        "calm minor fiscal speed begin tape submit pony sudden pattern weapon wisdom glove cancel copper snap carpet attack market turn cotton again limb walk goddess expose fresh nation artwork find truly abandon abandon",
        "calm minor fiscal speed behave fury tank rich spell ocean side suggest improve final furnace pony garage duck seminar risk badge hungry history about magic life menu garden visit uncle bargain length abandon",
        "calm minor fiscal speed behave tail surround recall task mean spot school honey immune latin mean inmate ivory verify main comic caught cart drastic seed such stock auto physical mountain tongue abandon abandon",
        "calm minor fiscal speed behind key river limb copy air offer sunset panel license enough uncover snow pulse uphold silver toss provide uncle tennis lobster wild crash ribbon write movie pitch length abandon"
      ],
      "sharesUsed": [
        "calm minor fiscal speed beef motion shift enforce grant property pioneer eye panda horror rebel pave bus liquid february shop exhibit slam owner bonus swamp garden adjust despair video family next length abandon",
        "calm minor fiscal speed before benefit soul doctor impact require rally earn require feel luxury obey custom pioneer label uphold cable reopen unable help resemble devote husband expire photo gaze actor abandon abandon",
        "calm minor fiscal speed before noise soft dry impulse rapid repeat doll rail flag master object defense quit jelly transfer avoid purse volcano ill protect captain hybrid eternal rough among approve abandon abandon",
        "calm minor fiscal speed begin furnace task purpose stereo replace tumble tide judge apple acid under amazing cradle rate tent amazing fire style pyramid decrease blame burst tell economy destroy level abandon abandon",
        "calm minor fiscal speed begin tape submit pony sudden pattern weapon wisdom glove cancel copper snap carpet attack market turn cotton again limb walk goddess expose fresh nation artwork find truly abandon abandon"
      ],
      "expectedRecoveredMnemonic": "cage meat network similar flash envelope pepper deer swim gun drum dinosaur advice powder miss mouse note differ crash remind save alley judge tomato",
      "base24": {
        "shareIndex": 1,
        "alphabet": "0123456789ABCDEFGHJKMNPR",
        "encoded": "0PPD60FFB946KP8ME275RF1N8NKEH2FA8M7CC5P7HBJDNFA817CEJ3ND1HPHMBF9EM5R16KF4F4N4H2A5H1JBR1M78DM0KHG",
        "expectedDecodedShare": "calm minor fiscal speed beef motion shift enforce grant property pioneer eye panda horror rebel pave bus liquid february shop exhibit slam owner bonus swamp garden adjust despair video family next length abandon"
      },
      "negativeCases": [
        {
          "name": "too few shares",
          "sharesUsed": [
            "calm minor fiscal speed beef motion shift enforce grant property pioneer eye panda horror rebel pave bus liquid february shop exhibit slam owner bonus swamp garden adjust despair video family next length abandon",
            "calm minor fiscal speed before benefit soul doctor impact require rally earn require feel luxury obey custom pioneer label uphold cable reopen unable help resemble devote husband expire photo gaze actor abandon abandon",
            "calm minor fiscal speed before noise soft dry impulse rapid repeat doll rail flag master object defense quit jelly transfer avoid purse volcano ill protect captain hybrid eternal rough among approve abandon abandon",
            "calm minor fiscal speed begin furnace task purpose stereo replace tumble tide judge apple acid under amazing cradle rate tent amazing fire style pyramid decrease blame burst tell economy destroy level abandon abandon"
          ],
          "expected": "recovery must fail with insufficient shares"
        },
        {
          "name": "invalid Base24 character Q",
          "input": "0PPD60FFB946QP8ME275RF1N8NKEH2FA8M7CC5P7HBJDNFA817CEJ3ND1HPHMBF9EM5R16KF4F4N4H2A5H1JBR1M78DM0KHG",
          "expected": "decode must fail: invalid character Q"
        }
      ]
    }
  ],
  "supportedMnemonicWordCounts": [
    12,
    24
  ],
  "scope": "Public web UI exposes 12-word and 24-word BIP39 seed phrases."
}
