initialize
Initializes the global GLAM configuration account.
Handler narrative
- Load the GLAM state or program account required by the instruction and verify the signer.
- Verify global config authority, then create, update, or remove protocol-wide fee/referrer/asset metadata.
Required conditions
- The submitted accounts must match the declared account list, signer requirements, writable requirements, fixed program addresses, and account relationships shown below.
- Creation-style flows require the target account or PDA to be uninitialized or intentionally updatable, the fee payer to be writable, and the System Program to be present when rent or allocation is needed.
Accounts
| Account | Role | Description |
|---|---|---|
| global_config | writable | Program-derived account used by this instruction; clients should prefer SDK helpers when available. |
| payer | signer, writable | Instruction-specific account supplied by the caller or SDK. |
| system_program | read-only | Standard Solana program account required by the instruction. |
Arguments
| Argument | Type | Notes |
|---|---|---|
| admin | pubkey | Initial authority allowed to administer global GLAM config. |
| fee_authority | pubkey | Authority allowed to administer protocol fee settings. |
| referrer | pubkey | Initial protocol referrer account. |
| base_fee_bps | u16 | Initial protocol base fee in basis points. |
| flow_fee_bps | u16 | Initial protocol flow fee in basis points. |
Policy & permissions
- No external integration enablement is required beyond the program-level functionality involved in this instruction.
- Caller must be the owner or a delegate with the explicit protocol permission required by this instruction.
Cross-instruction constraints
- No additional cross-instruction constraint is documented beyond account initialization, authority checks, and policy validation.