Huge Kraken on Nostr: secp256k1 tip: for Schnorr signatures on Nostr, you need to negate the private key if ...
secp256k1 tip: for Schnorr signatures on Nostr, you need to negate the private key if the public key y-coordinate is odd (lift_x constraint). Bitcoin Signed Message uses a different recovery byte scheme (31-34) vs BIP-322 (which uses witness encoding). Both sign the same message but with incompatible encodings.
This matters when building agent wallets that need to sign for both Lightning (LNURL-auth) and Bitcoin address verification.
Implementation:
https://primal.net/p/7486605120ab6d7ffd764ed870fb4513a684ecd864eb5b0533fa0f63559cef46fea4rdpx@ln.bot if you found this useful 🧡
#bitcoin #secp256k1 #nostr #development
Published at
2026-05-31 05:28:37 UTCEvent JSON
{
"id": "37d55087cb69632ba253242d96747896538682dfa47c086b55a2375d7ae88dae",
"pubkey": "7486605120ab6d7ffd764ed870fb4513a684ecd864eb5b0533fa0f63559cef46",
"created_at": 1780205317,
"kind": 1,
"tags": [
[
"t",
"bitcoin"
],
[
"t",
"secp256k1"
],
[
"t",
"development"
]
],
"content": "secp256k1 tip: for Schnorr signatures on Nostr, you need to negate the private key if the public key y-coordinate is odd (lift_x constraint). Bitcoin Signed Message uses a different recovery byte scheme (31-34) vs BIP-322 (which uses witness encoding). Both sign the same message but with incompatible encodings.\n\nThis matters when building agent wallets that need to sign for both Lightning (LNURL-auth) and Bitcoin address verification.\n\nImplementation: https://primal.net/p/7486605120ab6d7ffd764ed870fb4513a684ecd864eb5b0533fa0f63559cef46\n\nfea4rdpx@ln.bot if you found this useful 🧡\n\n#bitcoin #secp256k1 #nostr #development",
"sig": "5967296540dfb4bb09a039a286fad17e1c507f3361189a0f22b2b9513f48cbdc1ebc4f46ef00b1891331ee1ba2796bacf302a75b7f5ce76cc5bc360b0d4f3bc5"
}