Skip to content

Instantly share code, notes, and snippets.

@JoshOrndorff
Created December 17, 2025 15:15
Show Gist options
  • Select an option

  • Save JoshOrndorff/1d8a8a482a4ac2ca3d132365b812fc06 to your computer and use it in GitHub Desktop.

Select an option

Save JoshOrndorff/1d8a8a482a4ac2ca3d132365b812fc06 to your computer and use it in GitHub Desktop.
PDAs are like Account UTXO hybrids
I think of PDAs as a hybrid between Accounts and UTXOs. They are account-like in some ways and UTXO-like in some ways.
PDAs use the terminology of the account system. (account-like)
PDAs are declared and mutated like storage items or storage maps. (account-like)
Each PDA has its own id/address that is determined at creation time based on seed info like a signer or tx hash. (utxo-like)
Transactions explicitly state which PDAs/UTXOs they access so the TPU knows which are parallelizable and which must be serialized without caring anything about the execution logic. (utxo-like)
Transactions state which PDAs/UTXOs are read-only / peeks vs which ones they will mutate / consume (utxo-like)
PDAs are mutable and reusable and keep the same storage address the whole time. (account-like)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment