exotic-markets-labs
typhoon
Rust

🌪️ Solana Sealevel Framework

Last updated Jul 9, 2026
70
Stars
17
Forks
5
Issues
0
Stars/day
Attention Score
79
Language breakdown
Rust 98.9%
Shell 0.6%
Just 0.5%
Files click to expand
README

Typhoon

Solana Sealevel Framework

Build Status Read the book License

🗒️ Note

  • Typhoon is in active development, so all APIs are subject to change.
  • This code is unaudited. Use at your own risk.

📦 Installation

To get started with Typhoon, you can use the CLI tool to scaffold and manage your projects.

CLI

Install the Typhoon CLI using Cargo:

cargo install --git https://github.com/exotic-markets-labs/typhoon typhoon-cli

Library

If you prefer to add Typhoon to an existing Rust project:

cargo add typhoon

🚀 Getting Started

Here’s a quick example to show how Typhoon simplifies Solana program development:

#![no_std]

use { bytemuck::{AnyBitPattern, NoUninit}, typhoon::prelude::*, };

program_id!("Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS");

nostdpanichandler!(); no_allocator!();

#[context] pub struct Init { pub payer: Mut<Signer>, #[constraint( init, payer = payer, )] pub counter: Mut<UncheckedSigner<Account<Counter>>>, pub system: Program<System>, }

#[context] pub struct CounterMut { pub counter: Mut<Account<Counter>>, }

#[context] pub struct Destination { pub destination: Mut<SystemAccount>, }

entrypoint!();

pub const ROUTER: EntryFn = basic_router! { 0 => initialize, 1 => increment, 2 => close, };

pub fn initialize(_: Init) -> ProgramResult { Ok(()) }

pub fn increment(ctx: CounterMut) -> ProgramResult { ctx.counter.mut_data()?.count += 1;

Ok(()) }

pub fn close( CounterMut { counter }: CounterMut, Destination { destination }: Destination, ) -> ProgramResult { counter.close(&destination)?;

Ok(()) }

#[derive(NoUninit, AnyBitPattern, AccountState, Copy, Clone)] #[repr(C)] pub struct Counter { pub count: u64, }

🛠️ CLI Usage

The Typhoon CLI helps you create and manage your projects.

New Project

typhoon new my-project --program counter

Add Program

typhoon add program token

Add Instruction

typhoon add handler --program counter increment

📦 Examples

Explore the examples directory for templates and use-case scenarios to kickstart your project.

📜 License

Typhoon is licensed under Apache 2.0.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Typhoon by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.

© 2026 GitRepoTrend · exotic-markets-labs/typhoon · Updated daily from GitHub