Skip to main content
Glama

OpenFinance — Easy Trading: Crypto, Stocks, Perps & Prediction Markets

openfinance-pons-launch

OpenFinance Pons v2 launch — launch a token on Robinhood Chain (EVM, chain id 4663) paired against ETH or any Pons-approved asset, INCLUDING Robinhood's own tokenized-stock mirrors (TSLA, AAPL, NVDA, GOOGL, AMZN, MSFT, META, COIN, PLTR, GME, SPY, and more). This is the "launch a token against a Robinhood stock" tool.

ROUTING: • For a NEW launch, use openfinance-launchpad-wrapper instead. It launches on this same Pons curve and adds a fee module, so it is a superset; a plain launch is module='keep' there. This tool's launch_token is legacy, kept for compatibility — do not route a new launch to it. • This tool remains the right one for reading Pons state (list_quote_assets, get_launch_terms, list_tokens) and for fee actions on tokens launched through it before the wrapper existed (get_claimable_fees, sweep_fees, claim_fees, enable_holder_fee_sharing). • Always call action='list_quote_assets' first if the user hasn't stated an exact pair asset, or wants to see what's available — the approved list is live-checked and can change. • This is a DIFFERENT chain/protocol from the Solana launchpad tools (openfinance-raydium-launchpad, openfinance-raydium-cpmm) — Pons runs on Robinhood Chain, an EVM chain, and the user's Privy EVM wallet is used, not their Solana wallet. • There is no Pons API — everything here is a direct on-chain contract call (confirmed at docs.ponsfamily.com/v2).

ACTIONS: launch_token — { name, symbol, image (base64), description?, twitter?, telegram?, website?, quoteAsset, creatorTaxBps?, developerBuyAmount?, snipeTaxExemptions? }: twitter/telegram/website are full URLs (e.g. "https://x.com/handle") — pass them exactly as given, do not construct or prefix a URL from a bare handle. quoteAsset — REQUIRED, a symbol (e.g. "TSLA", "ETH", "AAPL") or address from list_quote_assets. creatorTaxBps — optional creator trading tax in basis points (0-10000), capped by Pons's live limit. Default 0. developerBuyAmount — optional atomic dev buy in the quote asset's own human units (e.g. 0.05 for 0.05 ETH), executed in the SAME transaction as the launch via Pons's launchAndBuy helper. No platform fee — the launching user's own wallet is set as creatorFeeRecipient by default, so they keep 100% of Pons's creator-fee bucket. Set creatorFeeRecipient to redirect it to a specific wallet instead, OR set shareFeesWithHolders: true to redirect it to a Pons holder distributor (pro-rata to token holders) — these two are mutually exclusive; see enable_holder_fee_sharing below for the fuller explanation of the holders path. Returns { token, curve, pairToken, launchConfigId, graduationThreshold, txHash, tokensOut?, holderFeeSharing? }. DESTRUCTIVE AND IRREVERSIBLE — launches a real token on mainnet with real ETH/asset committed for the launch fee (and dev buy if set). Show the user: name, symbol, exact quoteAsset resolved, launch fee (from get_launch_terms), creatorTaxBps, and developerBuyAmount. Require explicit confirmation before calling.

list_quote_assets — {} (PUBLIC — no auth): returns [{ address, symbol, name, decimals, isNative }] — every asset currently approved as a launch pair, including Robinhood's tokenized-stock mirrors.

get_launch_terms — { quoteAsset }: live launch eligibility + fee terms for the caller against one quote asset. Call this before launch_token to show the user the current launch fee and confirm their wallet is eligible (canLaunch). Returns { launchFee, launchEnabled, canLaunch, maxCreatorTaxBps, snipeTaxStartBps, snipeTaxSeconds, activeConfig, graduationThreshold, expectedEconomics, protocolFeeShareBps, hookFeeBps, buybackBurnBps }.

list_tokens — { limit?, offset?, creator? } (PUBLIC — no auth): paginated list of tokens launched under our platform. Returns { tokens: [{ token, curve, pairToken, name, symbol, logoUri, creatorAddress, twitter, telegram, website, marketCapUsd, marketCapDisplay, ... }], total, limit, offset }. marketCapUsd (raw number) + marketCapDisplay (compact, e.g. "143K"/"2.5M"/"1.2B") come from Codex via Uniblock — both null until Codex indexes the token, expected for very recent launches. twitter/telegram/website fall back to Codex's own indexed data when our own launch record doesn't have them (e.g. older launches) — our stored value always wins when present.

enable_holder_fee_sharing — { token } (0x… address): redirects an already-launched token's creator fees to its Pons holder distributor — the retry path if launch_token's own shareFeesWithHolders attempt failed, or for opting in after the fact on a token launched without it. Idempotent. Irreversible via Pons's own public creator-controls once done — a durable economic choice, not a UI toggle, so it needs the same explicit-confirmation treatment as launch_token itself.

get_claimable_fees — {} (uses the caller's connected wallet): READ-ONLY. Pons fees are never pushed to a wallet as they accrue (docs.ponsfamily.com/v2#claiming) — they build up on a launch's bonding curve and must be swept into a shared fee escrow before they're claimable. Call this FIRST, before sweep_fees or claim_fees, to see both: what's already claimable right now, and which of the caller's own launches still have fees sitting unswept on their curve. Returns { claimable: [{ quoteAssetSymbol, quoteAssetAddress, balance }], unswept: [{ token, quoteAssetSymbol, quoteAssetAddress, graduated, quoteFeeBalance, creatorTaxBalance }] }. graduated: true entries can't be swept yet (see sweep_fees).

sweep_fees — { token } (0x… address): moves a launch's unswept curve fees into the shared fee escrow, where they become claimable via claim_fees. The caller's connected wallet must be that token's current on-chain creator-fee recipient. Only pre-graduation launches are supported — a graduated token's fees accrue on its pool instead and this action rejects it rather than risk an unverified call. Writes a real transaction (moves the launch's own accrued fees; no user funds are put at risk beyond gas) — mention the amounts from get_claimable_fees before calling, but this doesn't need launch_token-level ceremony since it can't misdirect funds, only move them from curve to escrow. Returns { txHash, quoteFeeSwept, creatorTaxSwept }.

claim_fees — { quoteAsset? } (symbol like "ETH"/"TSLA" or address; defaults to native ETH): withdraws the caller's already-swept escrow balance for one quote asset to their own connected wallet. Call get_claimable_fees first to know which quote assets actually have a balance — this errors if the chosen asset's balance is zero. Returns { txHash, quoteAssetSymbol, claimed }.

⚠️ SAFETY — launch_token is irreversible and commits real funds (the launch fee, plus any dev buy) on mainnet. Always call get_launch_terms first, show the resolved launch fee and quote asset, and get explicit confirmation.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>"
    },
    "name": "openfinance-pons-launch"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoToken name (≤60 chars).
imageNoBase64-encoded PNG/JPG/WebP/GIF (with or without data: prefix). Required for launch_token.
limitNo
tokenNoenable_holder_fee_sharing / sweep_fees: the launched token's 0x… address.
actionYesWhich action to perform — see tool description.
offsetNo
symbolNoToken ticker (≤20 chars).
creatorNolist_tokens: filter to one creator wallet.
twitterNoFull URL (e.g. https://x.com/handle) — not a bare handle.
websiteNoFull URL.
telegramNoFull URL (e.g. https://t.me/handle) — not a bare handle.
quoteAssetNoREQUIRED for launch_token / get_launch_terms — symbol (e.g. "TSLA", "ETH") or address. claim_fees: optional, defaults to native ETH.
descriptionNo≤256 chars.
creatorTaxBpsNoDefault 0. Capped by the live maxCreatorTaxBps.
developerBuyAmountNoOptional atomic dev buy, in the quote asset's own human units.
snipeTaxExemptionsNoUp to 32 wallet addresses exempt from the opening snipe tax.
creatorFeeRecipientNolaunch_token: explicit 0x… wallet to receive creator fees instead of the launcher's own wallet. Mutually exclusive with shareFeesWithHolders. Omit to default to the launcher's own wallet.
minBuybackTokensOutNosweep_fees: slippage floor (as a string) for the curve's internal buyback during the sweep. Defaults to 0 (no protection).
shareFeesWithHoldersNolaunch_token: redirect creator fees to token holders instead of the launcher's own wallet. Mutually exclusive with creatorFeeRecipient.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so thoroughly: launch_token is flagged DESTRUCTIVE AND IRREVERSIBLE with real funds at risk, auth requirements are marked per action (PUBLIC — no auth for list_quote_assets/list_tokens, connected-wallet for fee actions), idempotency of enable_holder_fee_sharing is stated, graduated tokens are explicitly rejected by sweep_fees, and the fee/creator-recipient economics are explained including the mutual exclusivity of creatorFeeRecipient and shareFeesWithHolders.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long, but it is well front-loaded (purpose first, then ROUTING, then per-action detail) and the length is largely justified by 8 actions and 19 parameters. There is minor redundancy: the closing SAFETY block restates the irreversible/confirm-before-launch warning already made inside the launch_token action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description compensates by documenting return shapes per action (launch_token's { token, curve, ... }, list_quote_assets' asset fields, list_tokens' pagination plus marketCapUsd/marketCapDisplay null-until-indexed behavior, the claimable/unswept split). Combined with the safety and routing context, an agent has everything needed to call each action correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 89% (baseline 3), and the description still adds material meaning beyond the schema: quoteAsset is REQUIRED and accepts symbol-or-address, twitter/telegram/website must be full URLs passed verbatim not bare handles, developerBuyAmount is expressed in the quote asset's human units and executed in the same transaction, and creatorTaxBps is live-capped by maxCreatorTaxBps. It clarifies the mutually exclusive relationship between creatorFeeRecipient and shareFeesWithHolders that the schema only hints at.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('launch a token on Robinhood Chain ... paired against ETH or any Pons-approved asset') and explicitly positions itself as 'the launch a token against a Robinhood stock tool'. It distinguishes itself from siblings by name (openfinance-launchpad-wrapper, openfinance-raydium-launchpad) and by chain, so an agent can route without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The ROUTING block gives explicit when-to-use and when-NOT-to-use guidance: new launches should go to openfinance-launchpad-wrapper, this tool is legacy for launch_token but correct for reads and legacy fee actions, and it is a different chain from the Solana tools. It even sequences calls ('Always call action=list_quote_assets first if the user hasn't stated an exact pair asset') and notes there is no API, all calls are on-chain.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.