Pompeet Protocol Architecture

Core Components

Pompeet Core Program

- Main program handling all logic and calculations

- Source of PDA derivation

- Controls all protocol operations

Mint Authority PDA

- Derived using program_id

- Signs initial token minting

- Controls mint authority for all tokens

Bonding Curve PDA (per token)

- Derived using program_id + token_mint address

- Stores parameters & holds SOL

- Unique per token

Token Vault (per token)

- ATA owned by Bonding Curve PDA

- Holds token supply

- One per token

Key Clarifications

Mint Authority PDA Deep Dive

  • • Single PDA that serves the entire protocol
  • • Does not actively "handle" operations - acts as a protocol-controlled signer
  • • Functions like a protected "master key" that only the Core Program can utilize
  • • Primary responsibility is signing mint_to instructions for initial token supply
  • • Derivation ensures consistent authority across protocol restarts

Bonding Curve PDA Architecture

Seed Derivation Components:

  • b"bonding_curve" - Static identifier bytes
  • token_mint.key - Unique token mint address
  • program_id - Core Program's address

Security & Design Benefits:

  • Guarantees one unique curve PDA per token
  • Ensures only Core Program can sign for this PDA
  • Creates verifiable on-chain link between token and its curve
  • Prevents curve address collisions across different tokens
  • Enables deterministic address derivation for easy account location

Initial Protocol Setup

Mint Authority PDA Role

Bonding Curve PDA Creation & Role

Token Creation Process

Buy Process

Sell Process

Bonding Curve Formula & Mechanics

Price Calculation Implementation

Reserve Management

Implementation Requirements

Token Parameters & Supply Distribution

Raydium Transition Mechanism

Bonding Curve Account Structure

Implementation Safety Checks

Price Initialization

Bonding Curve Parameters & Configuration

Bonding Curve Price Calculations

Bonding Curve Mechanics & Price Movement

Bonding Curve Safety & Constraints

Account Relationships

Core ProgramMint Authority PDABonding Curve PDAToken MintToken Vault (ATA)Derives (mint_authority, program_id)Derives (bonding_curve, token_mint, program_id)Is AuthorityOwnsHolds Supply

Bonding Curve Mathematics

Recommended Parameters

// Virtual Reserves (Price Control)
const virtualSolReserves = 30_000_000_000n;     // 30 SOL in lamports
const virtualTokenReserves = 1_073_000_000n;    // 1.073B tokens

// Real Reserves (Tradeable Assets)
const realTokenReserves = 800_000_000n;        // 800M tokens
const realSolReserves = 0n;                    // Start empty

// Initial Price
Initial Price = 0.000000028 SOL/token

Price Calculations

Initial Price:

price = 30 SOL / 1.073B = 0.000000028 SOL/token

Price Impact:

1 SOL Purchase Impact:
Initial: 0.000000028 SOL/token
After:   0.000000029 SOL/token
Impact:  ~3.2% increase

Safety Constraints

  • • Starting price: 0.000000028 SOL/token
  • • 3.2% price impact per 1 SOL purchase
  • • Maximum tradeable tokens: 800M
  • • Reserved tokens: 200M for Raydium
  • • Virtual reserves create 3.2% price impact for 1 SOL purchase
  • • Cannot trade more than real token reserves
  • • K value (virtual_sol * virtual_tokens) remains constant
  • • Trades blocked when curve marked complete