Creates a fresh payment reference: 32 random bytes (WebCrypto
getRandomValues via @me2em/crypto) base58-encoded.
The value is a plain 32-byte key — it does NOT need to be a valid
on-curve Ed25519 point (it is never a signer; PDAs and arbitrary
keys are legitimate read-only account keys).
Uniqueness discipline: one reference per PaymentRequest, never
reused across requests — reuse would be indistinguishable from a
replay. Generate at request-creation time, store with the order.
Creates a fresh payment reference: 32 random bytes (WebCrypto
getRandomValuesvia@me2em/crypto) base58-encoded.The value is a plain 32-byte key — it does NOT need to be a valid on-curve Ed25519 point (it is never a signer; PDAs and arbitrary keys are legitimate read-only account keys).
Uniqueness discipline: one reference per
PaymentRequest, never reused across requests — reuse would be indistinguishable from a replay. Generate at request-creation time, store with the order.