ExampleAddress

Solana program-derived addresses explained

A Solana program-derived address (PDA) is deterministically derived from seeds and a program ID and lies off the Ed25519 curve. It does not have a corresponding private key.

Worked example

Solana program-derived addresses explained: annotated comparison
Account categoryHow address is obtainedAuthority context
Ordinary keypair accountPublic key from a keypairPrivate-key signatures
Program-derived addressSeeds, program ID and bumpProgram can sign via runtime rules
Associated token accountDeterministic derivationToken account for owner and mint

Why identical-looking text misleads

PDAs use the same account-address display encoding as ordinary accounts. A text-only shape test cannot tell them apart or decide which program may operate on them. Read the account’s owner and data on the correct cluster.

Receiving is application-specific

A derived token account may be the expected destination in a particular workflow. That does not make every PDA a general receiving wallet. Use a wallet or service’s documented receive flow rather than constructing an address manually from a tutorial.

Common pitfalls

  • Do not search for a private key corresponding to a PDA.
  • Off-curve status alone does not identify an account’s purpose.

Related references

Primary sources

Examples explain identifiers. They are not investment recommendations.