Public verification

Hash Tweak V1

Derive a deterministic Taproot address from a public BIP86 account xpub and an exact payload. Luckotto uses a partner payout address and private deposit UUID so partners can independently verify their funding address.

Normative procedure

From payload to five BIP32 children

  1. Encode the payload exactly as UTF-8 and compute plain SHA-256.
  2. Read the first five consecutive four-byte words as unsigned big-endian integers and clear each high bit with word & 0x7fffffff.
  3. Starting at the supplied depth-3 public account key, derive those five non-hardened children in order. Record any effective index advanced by BIP32's invalid-child rule.
  4. Write the relative path as /i0/i1/i2/i3/i4 and encode the final public key as a BIP86 Taproot address for the xpub network.

Luckotto's canonical payload is the canonical partner payout address, one literal slash, and the lowercase UUIDv4 deposit-address id. There is no prefix, suffix, newline, or metadata in the hash.

Five derived children plus the three-element BIP86 account origin make an eight-element absolute signing path, the maximum accepted by the Luckotto Trezor signing workflow.

Do not fund calculator-only addressesCalculating an address does not register it with Luckotto or make the scanners monitor it. Use only an address returned by an authenticated Luckotto deposit-address request.
Browser utility

Hash Tweak calculator

Derivation happens locally in this browser. The payload is hashed exactly as entered, including whitespace.

Security model

Public derivation, private association

The account xpub is watch-only and cannot spend funds. The deposit UUID is the private capability that prevents an observer who knows only a partner payout address from predicting a registered deposit address. Once the UUID or canonical payload is disclosed, the relationship is intentionally reproducible.

Hash Tweak proves that an address is the deterministic result of the published xpub and payload. It does not prove that Luckotto registered or monitors the address; only an authenticated deposit-address response provides that operational assurance.

Pinned test vector

Cross-implementation check

Xpub
tpubDDWQBDzrBZFbAHVbgXywi8tB8QLzvDmRYC9vd24rsnDZ3EwdWdgKd8AsMHRAQNTmmyqRkvNGgy8HTdsTr8T7LnVbMzasQNoa511EbDWeBNk
Payload
tb1pkpswdsh4gskkf397hrnnzy0gvxftkh2phzed8fcczufhawxfurts9782tk/018f58d2-2800-4000-8000-000000000457
SHA-256
9b67a73e095db8fde87aeea7f943cf24167b0e67d038032e29c192fd27a4ec9f
Indices
459777854 / 157137149 / 1752886951 / 2034487076 / 377163367
Path
/459777854/157137149/1752886951/2034487076/377163367
Address
tb1ptsps7ch37fe5mjs0mm2kl6043uvgsfvkgwk09742xuhxhvh2kxaqp5ggpz