SolStack

Program Derived Addresses (PDAs)

In Smart Contracts & Programs

Plain English

Special addresses on Solana that are controlled by programs rather than users. Think of them as automatic accounts that programs can use to store data or hold tokens. They enable programs to have their own "bank accounts" and storage.

Technical

Deterministically generated addresses on Solana that are controlled by programs rather than private keys. PDAs enable programs to sign transactions and own accounts, facilitating complex smart contract interactions. Generated using program ID and seed values, PDAs are essential for account ownership patterns and cross-program invocation.