Accounts

User PDA

One per Twitter account. Holds SOL, controlled by the Claimr program.

Seeds: ["claimr", twitter_id_bytes]

Get it via API or derive locally:

const [pda] = PublicKey.findProgramAddressSync(
  [Buffer.from('claimr'), Buffer.from(twitterId)],
  CLAIMR_PROGRAM_ID
);

ClaimrConfig

Global config, one per program.

Seeds: ["config"]

Contains authority, oracle pubkey, treasury, fee rate, and lifetime stats. You shouldn't need to read this directly.

WithdrawRecord

Created per withdrawal to prevent replay.

Seeds: ["withdraw", twitter_id_bytes, nonce_bytes]

If someone tries to reuse a nonce, account initialization fails because it already exists.

Last updated