Wallet generation
Dogecoin key material
The POS Terminal's wallet setup derives compressed Dogecoin mainnet keys in browser JavaScript using secp256k1, WIF prefix 0x9e, and P2PKH address prefix 0x1e.
d = random 256-bit integer, 1 <= d < n
Q = d * G on secp256k1
compressed_pubkey = (0x02 if Qy is even else 0x03) || Qx
hash160 = RIPEMD160(SHA256(compressed_pubkey))
address = Base58Check(0x1e || hash160)
wif = Base58Check(0x9e || d || 0x01)
For serious funds, use a dedicated wallet or hardware wallet and treat this site as watch-only.
Payment URI and QR
Dogecoin request format
The local tools build a URI with the receiving address, optional amount, and memo. Wallet support varies, so test with a small amount before public checkout.
dogecoin:DExampleAddress?amount=25.00000000&message=DOGE%20sale
/qr.svg?data=dogecoin:D...address...
QR images are generated by this Django route, not an external image service.
Lookup and validation
Public blockchain data
Balance lookup uses the public address only. Transaction validation uses txids and public chain metadata to help staff decide whether the confirmation rule has been met. For production, configure a dedicated Dogecoin Blockbook-compatible indexer instead of relying on public demo APIs.
DOGE_BLOCKBOOK_BASE_URL=https://your-dogecoin-indexer.example
GET /api/v2/address/{address}?details=txs&pageSize=10
https://blockchair.com/dogecoin/transaction/{txid}
Never send WIF or private keys to a lookup service.