Logótipo oficial do MASTR MASTR Apoiar o trabalho
Índice
← Início da wiki

Technical reference

Solana PDAs: an address can be controlled without a private key

Program-derived addresses use deterministic derivation and runtime-checked signing authority.

Source-based reference · Updated 12 September 2026

Os artigos de investigação e as referências são publicados em inglês. A navegação está disponível em sete idiomas.

Neste artigo
  1. Derived from seeds and a program
  2. How a program can act
  3. Where reviews go wrong
  4. Sources

Derived from seeds and a program

A Solana program-derived address is computed from seeds and a program ID. PDAs lie off the Ed25519 curve, so they do not have ordinary corresponding private keys. Deriving an address does not itself create or fund an account there.

How a program can act

The runtime can allow a program to sign for a PDA derived from its own program ID through invoke_signed. This is how a program can control an escrow or other application account without storing a secret key. The allowed action still depends on the program's instructions and account checks.

Where reviews go wrong

Do not classify a PDA as an ordinary user wallet simply because an explorer displays an address and balance. Identify the deriving program, seeds and checks governing the account. Also distinguish the program used in derivation from the account's owner field. A safe derivation does not excuse missing authority checks in the instruction that releases funds.

Sources

Leituras relacionadas

MASTR

Apoiar a investigação independente

As investigações, as provas originais e os guias são de acesso livre. Os donativos voluntários ajudam a financiar a investigação e a manter disponíveis as ferramentas MASTR.

Abrir carteira