torch-market

Every token is its own margin market. Depth-adaptive risk engine, treasury-backed lending, real-token short selling. No oracles. No stored baselines. No keepers. The pool is the source of truth.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "torch-market" with this command: npx skills add torch-market/torchmarket

torch.market

Every token launched on torch gets a funded treasury, a 300M token lending reserve, margin lending, short selling, and on-chain pricing — all live from migration.

No external LPs. No oracle feeds. No protocol token. No bootstrapping.

What Torch Is

A protocol where every token launches with its own margin market.

  • Lending: borrow SOL against token collateral from the token's own treasury
  • Short selling: borrow real tokens from the 300M treasury lock, sell on the real market
  • Pricing: Raydium pool reserves — no external oracle
  • Depth-based risk engine: max LTV scales with pool SOL depth (25% at <50 SOL, up to 50% at 500+ SOL). Deeper pools are harder to manipulate, so higher leverage is permitted. Combined with per-user borrow caps, the effective LTV for long positions is typically <5% — making liquidation structurally near-impossible. No oracles, no stored baseline, no keepers. The pool itself is the source of truth.
  • Liquidation: permissionless — anyone can call. Exists primarily as a backstop for shorts and extreme multi-sigma events on longs.
  • Parameters: immutable on-chain — no admin key changes them

Shorts are not synthetic. Borrowed tokens are real. Selling them moves the real price. Short sellers are market participants contributing to price discovery.

Token Lifecycle

CREATE → BOND → MIGRATE → TRADE → MARGIN
                                     │
                                ┌────┴─────┐
                              LEND     SHORT SELL
                                │          │
                              REPAY    CLOSE
                                │          │
                              LIQUIDATE  LIQUIDATE

Bonding — constant-product curve. SOL splits: curve (100% of tokens to buyer) + treasury (17.5%→2.5% dynamic SOL rate). 2% max wallet. Completes at 100 or 200 SOL.

Migration — permissionless. Creates Raydium pool, burns LP tokens (liquidity locked forever), revokes mint/freeze authority permanently, activates 0.07% transfer fee.

Trading — token trades on Raydium. Transfer fees harvest to treasury as SOL. Treasury grows perpetually.

Margin — two capital pools, two-sided margin:

PoolAssetPurpose
Token TreasurySOLLending pool — borrow SOL against token collateral
Treasury Lock300M tokensShort pool — borrow real tokens against SOL collateral

Constants

SUPPLY          1,000,000,000 tokens (6 decimals)
CURVE_SUPPLY    700,000,000 (70%)
TREASURY_LOCK   300,000,000 (30%)
MAX_WALLET      2% during bonding
BONDING_TARGET  100 SOL (Flame) / 200 SOL (Torch)
PROTOCOL_FEE    0.5% on buys
TREASURY_RATE   17.5% → 2.5% (dynamic decay)
TRANSFER_FEE    0.07% (post-migration, immutable)
MAX_LTV         25-50% (depth-adaptive: 25% <50 SOL, 35% 50-200, 45% 200-500, 50% 500+)
LIQ_THRESHOLD   65%
INTEREST        2% per epoch (~7 days)
LIQ_BONUS       10%
UTIL_CAP        80%
BORROW_CAP      23x collateral share of supply
MIN_POOL_SOL    5 SOL (below this: all margin ops blocked)
MIN_BORROW      0.1 SOL
PROGRAM_ID      8hbUkonssSEEtkqzwM7ZcZrD9evacM92TcWSooVF4BeT

SDK

GET QUOTE → BUILD TX → SIGN & SEND

One flow, any token state. The SDK auto-routes bonding curve or Raydium DEX based on the quote's source field.

import { getBuyQuote, buildBuyTransaction } from "torchsdk";

const quote = await getBuyQuote(connection, mint, 100_000_000); // 0.1 SOL
const { transaction } = await buildBuyTransaction(connection, {
  mint, buyer: wallet, amount_sol: 100_000_000,
  slippage_bps: 500, vault: vaultCreator, quote,
});
// sign and send — VersionedTransaction, ALT-compressed

Queries

FunctionReturns
getTokens(connection, params?)Token list (filterable, sortable)
getToken(connection, mint)Full detail: price, treasury, status
getTokenMetadata(connection, mint)On-chain Token-2022 metadata
getHolders(connection, mint)Top holders with balance/percentage
getMessages(connection, mint, limit?, opts?)On-chain memos. { enrich: true } adds SAID
getLendingInfo(connection, mint)Lending parameters and pool state
getLoanPosition(connection, mint, wallet)Loan: collateral, debt, LTV, health
getAllLoanPositions(connection, mint)All loans sorted by liquidation risk
getShortPosition(connection, mint, wallet)Short: collateral, debt, LTV, health
getBuyQuote(connection, mint, sol)Tokens out, fees, impact. source: bonding|dex
getSellQuote(connection, mint, tokens)SOL out, impact. source: bonding|dex
getBorrowQuote(connection, mint, collateral)Max borrow: LTV, pool, per-user caps
getVault(connection, creator)Vault state
getVaultForWallet(connection, wallet)Reverse vault lookup
getUserStats(connection, wallet)Per-user trading volume + rewards-claimed history
getProtocolTreasuryState(connection)Protocol treasury: epoch, aggregate volume, distributable amount
getTreasuryState(connection, mint)Per-token treasury: SOL balance, tokens held, baseline pool reserves at migration, stars

Trading

FunctionDescription
buildBuyTransactionBuy via vault. Auto-routes bonding/DEX
buildDirectBuyTransactionBuy without vault (human wallets)
sendBuyBuild + simulate + submit vault buy via signAndSendTransaction
sendDirectBuyBuild + simulate + submit direct buy via signAndSendTransaction
buildSellTransactionSell via vault. Auto-routes bonding/DEX
buildCreateTokenTransactionLaunch token + treasury + 300M lock
sendCreateTokenBuild + simulate + submit token creation (Phantom-friendly)
buildStarTransactionStar token (0.02 SOL)
buildMigrateTransactionMigrate to Raydium (permissionless)

Margin (post-migration)

FunctionDescription
buildBorrowTransactionBorrow SOL against token collateral
buildRepayTransactionRepay debt, unlock collateral
buildLiquidateTransactionLiquidate loan (>65% LTV)
buildOpenShortTransactionPost SOL, borrow tokens from treasury lock
buildCloseShortTransactionReturn tokens, recover SOL collateral
buildLiquidateShortTransactionLiquidate short (>65% LTV)
buildClaimProtocolRewardsTransactionClaim epoch trading rewards

Vault

FunctionSigner
buildCreateVaultTransactioncreator
buildDepositVaultTransactionanyone
buildWithdrawVaultTransactionauthority
buildWithdrawTokensTransactionauthority
buildLinkWalletTransactionauthority
buildUnlinkWalletTransactionauthority
buildTransferAuthorityTransactionauthority

Treasury Cranks (permissionless)

FunctionDescription
buildHarvestFeesTransactionHarvest 0.07% transfer fees to treasury
buildSwapFeesToSolTransactionSwap harvested tokens to SOL via Raydium
buildAdvanceProtocolEpochTransactionAdvance protocol epoch so previous-epoch rewards become claimable
buildReclaimFailedTokenTransactionReclaim inactive tokens (7+ days)

Vault — Why Funds Are Safe

Human (authority)                   Agent (controller, ~0.01 SOL gas)
  ├── createVault()                  ├── buy(vault)       → vault pays
  ├── depositVault(5 SOL)            ├── sell(vault)      → SOL to vault
  ├── linkWallet(agent)              ├── borrow(vault)    → SOL to vault
  ├── withdrawVault()  ← auth only   ├── repay(vault)     → collateral back
  └── unlinkWallet()   ← instant     ├── openShort(vault) → tokens to vault
                                     └── closeShort(vault)→ SOL to vault
GuaranteeMechanism
Full custodyVault holds all SOL and tokens. Controller holds nothing.
Closed loopEvery operation returns value to vault. No leakage.
Authority separationCreator (immutable) / Authority (transferable) / Controller (disposable)
Instant revocationAuthority unlinks controller in one tx
No extractionControllers cannot withdraw. Period.
Isolated positionsOne loan per user per token. One short per user per token. No cascading.
Immutable parametersLTV, liquidation, interest — set at deployment. No admin key changes them.

Key Safety

If SOLANA_PRIVATE_KEY is provided: must be a fresh disposable keypair (~0.01 SOL gas). All capital lives in vault. If compromised: attacker gets dust, authority revokes in one tx. Key never leaves the runtime.

If not provided: read-only mode — queries state, returns unsigned transactions.

Rules:

  1. Never ask for a private key or seed phrase.
  2. Never log, print, store, or transmit key material.
  3. Use a secure HTTPS RPC endpoint.

Risk

Positions can be liquidated. Bad debt is possible in extreme conditions. There is no insurance fund. But:

  • Bad debt is isolated — one position going underwater cannot affect any other position
  • Per-user caps prevent pool concentration — one user cannot drain the lending pool
  • 20% of treasury SOL is always reserved (utilization cap)
  • Liquidation is permissionless — no keeper dependency

Verification

71 Kani proof harnesses. 61 end-to-end tests. All passing. Cross-validated by independent audit. Core arithmetic and depth-band boundaries formally verified. See VERIFICATION.md and risk.md.

Links

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

AIWolfPK - AI狼人杀

四个AI互相猜疑,你坐着看戏。每局30秒,到底谁是狼? Four AIs play Werewolf while you watch. 30s per round. Spot the wolf before they do.

Registry SourceRecently Updated
General

Project Analyzer

Analyze any project directory and produce a detailed report covering what the project does, its tech stack, folder structure, entry points, how to run it, an...

Registry SourceRecently Updated
General

Thought-Retriever

提炼对话回答中的核心洞察为高置信度知识晶体,存储于本体驱动记忆系统的自我进化与复用。

Registry SourceRecently Updated
General

Miaoji Bid Guard Pro

亚马逊广告护城河Pro版,90天ROI预测+多活动协同+季节性出价+关键词攻防矩阵。 从单次调价建议升级为完整的广告战役规划。基础功能可使用 miaoji-bid-guard 免费版。

Registry SourceRecently Updated