Architecture
On-Chain Components
Agent NFT (Mint Account)
Each Agent NFT is a standard Solana NFT (Metaplex) with additional on-chain metadata:
tier— Common / Rare / Legendarystaked_since— timestamp when staking beganaccumulated_rewards— unclaimed$GHIbalanceagent_pda— linked AI agent wallet (Agent Forge only)
Program Derived Addresses (PDA)
Agent Forge agents use PDAs so each AI agent has a deterministic, program-controlled wallet:
agent_wallet = PDA(["agent", nft_mint, owner_pubkey])This means the agent can sign transactions autonomously while the NFT owner retains ultimate control.
Mining Contract
The staking contract calculates rewards based on:
daily_reward = base_rate × (0.5 ^ year)| Year | Common | Rare | Legendary |
|---|---|---|---|
| 1 | 32 $GHI | 80 $GHI | 320 $GHI |
| 2 | 16 $GHI | 40 $GHI | 160 $GHI |
| 3 | 8 $GHI | 20 $GHI | 80 $GHI |
| 4 | 4 $GHI | 10 $GHI | 40 $GHI |
Ecosystem Flow
User
│
├─ holds $SGHI ──────────────► Priority access to mint
│
├─ mints Agent NFT ──────────► Solana NFT (Metaplex)
│ │
│ ├─ stakes ───────────► earn $GHI daily
│ │
│ └─ deploys agent ────► PDA wallet + autonomous tasks
│
└─ holds $GHI ───────────────► DAO vote + Agent Forge fuel⚠️
Smart contracts are under development and will be audited before mainnet launch.
Transaction Flows
Stake Flow
User wallet
→ [stake_nft instruction]
→ verify NFT is Sandbox GHI collection member
→ read tier from Metaplex metadata attributes
→ transfer NFT: owner ATA → program vault ATA
→ create StakeAccount PDA (seeds: ["stake", nft_mint, owner])
→ pool.total_staked += 1
← StakeEvent emitted on-chainClaim Flow
User wallet
→ [claim_rewards instruction]
→ load StakeAccount
→ calculate rewards (elapsed days × current rate)
→ transfer $GHI: ghi_vault → owner ATA
→ stake_account.last_claimed = now
← ClaimEvent emitted on-chainUnstake Flow
User wallet
→ [unstake_nft instruction]
→ calculate pending rewards
→ transfer NFT: vault ATA → owner ATA
→ transfer $GHI: ghi_vault → owner ATA (if rewards > 0)
→ close StakeAccount (rent SOL → owner)
→ pool.total_staked -= 1
← UnstakeEvent emitted on-chainTech Stack
| Layer | Technology |
|---|---|
| Blockchain | Solana mainnet-beta |
| NFT standard | Metaplex Token Metadata v1.x |
| Smart contract | Rust + Anchor framework v0.29+ |
| Frontend | Next.js + @solana/wallet-adapter |
| Agent runtime | Off-chain executor — signs via program authority key |
| Hosting | Vercel (frontend + docs) |
| RPC | Helius / Triton (production) |