patcha
xgithub
wallet

devtools

Ship hooks from your IDE.

cli

Install globally from npm.

npm
1npm i -g patcha-cli
download .tgz →
vs code extension

Hook library tree, mini patch canvas, simulate & deploy commands.

download .vsix →visual studio marketplace — coming soon
hook designer — vs code webviewstatic illustration

Preview of the Hook Designer that opens inside VS Code. This image is a static illustration — the in-editor panel is fully interactive (pick a hook, tune parameters, run a real backtest).

dyn-feetlockgaterange-ordanti-mevkycpicjit-def

Same flow runs in the browser at /designer.

vs code extension — install & use

  1. 1Download patcha-vscode-latest.vsix (button above).
  2. 2Open VS Code → Extensions panel → Install from VSIX… → select the file.
  3. 3Open the Command Palette (Ctrl/Cmd+Shift+P).
  4. 4Run Patcha: Open Hook Designer — an interactive panel opens (pick → tune → run backtest, in-editor).
  5. 5Use the sidebar Hook Library (6 builtin hooks) + Patcha: Simulate Selected Hook to backtest, and Patcha: Deploy (opens a terminal, uses patcha-cli).

cli — install & use

  1. 1Install globally from npm: npm i -g patcha-cli.
  2. 2Or the hosted tarball mirror (always latest): npm i -g https://patcha.fi/downloads/patcha-cli-latest.tgz.
  3. 3Browse the marketplace: patcha list.
  4. 4See the holder-share burn tier table and quote your wallet: patcha tiers --wallet <your-wallet>.
  5. 5Backtest a builtin hook on any pool — no wallet needed: patcha simulate dynamic-fee --pool <addr> --dex meteora (also orca or raydium).
  6. 6Install on a real pool (mainnet tx; needs ~0.05 SOL in the signer): patcha install dynamic-fee --pool <addr> --dex meteora --cluster mainnet. The command is idempotent — re-running the same (pool, slug) updates params instead of failing.

Global flags accepted by every command: --cluster mainnet|devnet|testnet|localnet (default mainnet), --rpc <url> (overrides cluster), --wallet <path> (default ~/.config/solana/id.json).

install_hook_burning · per-call burn

token-2022 · decimals 6

Every patcha install burns a tier-derived amount of PATCHA from the installer's wallet. Holding is the discount: the on-chain executor reads your share of total PATCHA_MINT supply and the SDK / CLI quote the same number off chain.

tierholder shareburn / installnotes
T1≥ 2.0% supply100 PATCHAwhale rate, effectively free
T2≥ 1.0% supply300 PATCHAlarge holders
T3≥ 0.5% supply1,000 PATCHAmember rate
T4≥ 0.1% supply5,000 PATCHAcasual holders
T5< 0.1% supply50,000 PATCHAnon-holders — buy-and-burn cycle

Quote any wallet against live mint supply: patcha tiers --wallet <addr>. Insufficient PATCHA reverts at the program with PatchaError::InsufficientPatcha and the CLI prints the exact shortfall. patcha install --no-burn uses the legacy free path.

Hard invariants: PATCHA_MINT is a program-level const, mintAuthority and freezeAuthority are both null on chain — no new mints, no freezes, no admin switch. Full spec at /docs#token-economics.

Source on GitHub.