Program-as-Authority Pattern
Programming Model · Abyss
An architectural pattern where a Program-Derived Address owned by the program is set as the authority over a resource (mint, vault, token account) instead of a user keypair, making the program itself the gatekeeper. Human signers only authorize calls into the program; the actual CPI that mutates the resource is signed by the PDA via invoke_signed. Program-level invariants (rate limits, pauses, access control) become cryptographically mandatory since no external key can bypass the program.