Documentation
ARCHITECTURE

Proof-of-Burn Receipts

PointPass ensures that reward redemptions cannot be forged or double-spent by burning SPL tokens and recording a permanent on-chain receipt PDA.

Receipt PDA Layout

#[account]
pub struct RedemptionReceipt {
    pub customer: Pubkey,         // 32 bytes (customer who burned)
    pub loyalty_program: Pubkey,  // 32 bytes (issuing store)
    pub receipt_number: u64,      // 8 bytes (monotonic counter)
    pub points_burned: u64,       // 8 bytes (points burned)
    pub timestamp: i64,           // 8 bytes (Solana Clock unix timestamp)
    pub bump: u8,                 // 1 byte (canonical PDA bump)
}
NEXT SECTION

Security & Invariants

Read Security Guide >