Back to feed
Dev.to
Dev.to
7/16/2026
Arc 10 Catch-Up: Designing Solana State with PDAs

Arc 10 Catch-Up: Designing Solana State with PDAs

Short summary

This tutorial explains Program Derived Addresses (PDAs) on Solana, showing how they provide deterministic, reproducible addresses derived from a program ID and chosen seeds. It walks through upgrading a simple counter program from random keypair-based accounts to per-user PDAs using Anchor, demonstrating seed construction, derivation logic, and the distinction between deriving an address and initializing an account. The article also covers PDAs' security properties — they lack private keys and can only be controlled by the associated program — making them useful for state management and Cross-Program Invocations.

  • PDAs derive deterministic addresses from program ID and seeds, eliminating the need to store account addresses externally
  • Adding user public keys to seeds enables a predictable one-counter-per-wallet model without random keypairs or registries
  • PDAs fall outside the ed25519 curve, so no private key exists — only the associated program can authorize actions on their behalf

Generated with AI, which can make mistakes.

Is this a good recommendation for you?

Comments

Failed to load comments. Please try again.

Explore more