Title: Help recovering funds: Wallet created with non-standard public key format (no 02/03/04 prefix)
I have a Bitcoin address (19CLgD8MqfWzE3BzzUGjyXKM4EP72XgYJ8) containing ~0.064 BTC that was created using a non-standard public key format. I can cryptographically prove ownership but can't create a valid transaction due to the format issue.
Technical details:
- Public key (raw bytes, no prefix): 1f6483705a513b4d81fca6369b6bfca80c9c103eb57dbda575b94b8127727aba8c0019d4f08d49187ead5294d641f35a419e14c8783bb1436ae06f4969c93108
- Address: 19CLgD8MqfWzE3BzzUGjyXKM4EP72XgYJ8
The wallet was created using this Python script:
from ecdsa import SigningKey, SECP256k1
public_key = SigningKey.from_string(bytes.fromhex(private_key_hex), curve=SECP256k1).get_verifying_key()
public_key_bytes = public_key.to_string() # Used raw bytes without standard Bitcoin prefix
I can generate the correct address (verified on blockchain), but can't create valid transactions because:
The public key lacks the standard 02/03 (compressed) or 04 (uncompressed) prefix Attempts to import to standard wallets fail Raw transaction creation fails with "mandatory-script-verify-flag-failed (Public key is neither compressed or uncompressed)"
I've tried:
Converting to WIF format (doesn't maintain correct public key format) Using older Bitcoin Core versions Creating raw transactions maintaining original format Various public key format conversions
Is there any way to create a valid transaction that modern nodes will accept using this non-standard public key format?