Skip to content
Jitterbug

Docs

How Jitterbug works, and what it does not do.

Short and literal. Every claim below has a code path behind it; the status page shows which paths are live on this deployment.

Overview

Jitterbug is a discovery, trading and launch surface for tokenized stocks and ETFs on Solana. It identifies every asset by mint and verifies it against the chain, the issuer and the Jupiter token registry (pnpm registry:verify). Swaps route through Jupiter's aggregator and are signed in your wallet. Launches create pools on Meteora's Dynamic Bonding Curve with a configuration that is read back from the chain.

It is not a custodian, not an exchange with its own order book or AMM, and it makes no execution guarantee. A quote is a route for one amount and one wallet, valid for about a minute; the minimum received is enforced by the program, nothing else is.

Live, cached, unavailable

Every figure carries its source and observation time. Labels used across the app:

  • Live — observed within the last 90 s.
  • Aging — 90 s to 15 min old; still the latest the provider gave.
  • Stale — older than 15 min, or served from a cache after the provider failed. Shown, never hidden.
  • Cached — answered from the server cache within its TTL (see Sources).
  • Unavailable — the provider did not answer or is not configured. The reason is shown; nothing is filled in.

Four prices that are not the same number

  1. Token market price — what the token trades at on Solana (Jupiter Price API v3, per displayed unit). This is the price you can act on.
  2. Underlying reference price — the stock's exchange price from a market-data provider, possibly delayed, only when a provider is configured. Context, not an executable price.
  3. Executable quote — a Jupiter route for a specific amount and wallet, with minimum received, price impact, fees and expiry. Only the terminal produces one.
  4. Market session — whether the exchange that prices the underlying is open (Pyth market hours; NYSE calendar as a labelled fallback). Tokens trade on Solana around the clock, which is why 1 and 2 drift apart outside the session.

xStocks carry a Token-2022 "scaled UI amount" multiplier set by the issuer for corporate actions. Wallets display balance × multiplier; transactions move raw units. Jitterbug shows both where they differ.

Sources

ProviderEndpointUsed forCacheKey
Solana RPCJSON-RPC (proxied at /api/rpc)balances, mint state, simulation, sending, receiptsper call; mint state 60 sno (a provider URL is recommended)
Jupiter Swap V2GET /swap/v2/order · POST /swap/v2/executeexecutable quotes, transactions, landingnone (every quote is fresh)optional (keyless 0.5 req/s)
Jupiter Price v3GET /price/v3?ids=…token market prices, 24 h change, liquidity20 s (stale copy ≤ 2 min)optional
Jupiter Token v2GET /tokens/v2/search?query=<mint>holders, tokenized market cap, 24 h trades, verification flag5 minoptional
GeckoTerminalGET /networks/solana/tokens/<mint>, /pools/<pool>/ohlcv/<tf>OHLCV candles, 24 h volume, pool reserve5 minno
DefiLlama coinsGET /prices/current, /chartfallback prices and daily history10 minno
Pyth HermesGET /v2/price_feeds?query=<ticker>&asset_type=equitymarket hours only (no prices)60 sno
Stock reference providerFinnhub /quote or an unofficial Yahoo chart endpointthe underlying stock price, labelled60 sFinnhub: yes
Meteora DBCprogram dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN via the official SDKlaunch config, pool creation, curve quotes, pool stateconfig 5 min; pool state per requestno
PinataPOST uploads.pinata.cloud/v3/filestoken image and metadata JSON on IPFSn/ayes (JWT)

Fees

Swaps. Jupiter charges an integrator fee on the Swap V2 aggregator path; the terminal shows it per quote as feeBps in the fee mint (observed 2–10 bps). You also pay the Solana signature fee (5,000 lamports per signature), any prioritization fee Jupiter sets, and a refundable rent deposit of about 0.00204 SOL when a token account must be created. Jitterbug adds no referral or platform fee.

Launch pools (Jitterbug configuration). Trading fee 1% flat on every curve trade, collected in SOL. The DBC program keeps 20% of each fee as the protocol share; of the remainder, 50% accrues to the token creator (claimable from the token page) and 50% to the partner fee claimer (the operator address). Pool creation fee: 0. Migration fee: 0%. After migration the DAMM v2 pool charges 1%. Creating a launch costs network fees and rent (shown as an estimate from a simulation before you sign).

These numbers are read from the on-chain config on the launch page; if a deployment runs a different config, that page is right and this paragraph is not.

Receipts

Every submitted transaction gets a receipt: network, signature, status (pending / confirmed / finalized / failed), slot and block time when known, the amounts that actually moved for your wallet (from pre/post balances), the network fee, any rent deposits, and links to Solscan and Solana Explorer. Swap receipts are stored in your browser per wallet and merged into the portfolio activity. To verify one independently, paste the signature into either explorer.

Launchpad

A launch is one transaction that creates the mint, the Metaplex metadata and the DBC virtual pool (optionally with an initial purchase inside it). Steps: upload image → upload metadata JSON → prepare (the server builds and simulates the transaction, partially signed by the throwaway mint keypair) → sign in your wallet → submit → confirm. The draft is saved in your browser; a reload resumes the status check and never re-sends.

  • Quote asset: SOL. Tokenized stocks cannot be quote assets: they are Token-2022 mints with issuer controls (permanent delegate, pausable) and no DBC token badge; the form says so per asset.
  • Supply 1,000,000,000, 6 decimals, authorities immutable, no team allocation, no vesting.
  • Curve from 28 SOL to 420 SOL fully diluted; migration to DAMM v2 at the configured SOL threshold; 100% of the migrated LP permanently locked. The lock is verifiable only after migration, and the token page says "pending migration" until then.
  • No rewards, buybacks, burns or holder distributions exist. Creator fee claiming is the only fee mechanism, and it is on chain.

$JITTER token

$JITTER is the Jitterbug token. Its contract address is not published yet: the home page shows CA: Soon. The address is written into the site by one operator command, pnpm token:ca <mint>, which first checks the chain: the address must be an initialized SPL or Token-2022 mint on mainnet-beta. The home page then reads supply, decimals, authorities, on-chain metadata and the Jupiter price live from /api/token; none of those numbers is typed by hand.

  • The address is announced on @JitterbugRH and on this site first. An address that is not shown here is not $JITTER, whatever a chat, a listing or a direct message claims.
  • Trading $JITTER uses the same wallet-signed flows as every other asset. Jitterbug holds no inventory and makes no price claim.
  • This page states nothing about allocations, listings or plans beyond what the chain shows on the home page.

Limitations

  • Keyless Jupiter access is limited to 0.5 request/s for the whole server; quotes refresh every 20 s and heavy use shows "rate limited" rather than a guess. A Portal key raises the limit.
  • The public Solana RPC is rate limited and sometimes slow for token-account scans; the portfolio reports a failed scan instead of showing an empty balance.
  • Jupiter has no devnet liquidity: on devnet the terminal shows "no executable quotes".
  • xStocks are issued by Backed for non-U.S. persons under issuer terms; the issuer holds a permanent delegate and can pause transfers. Read the issuer terms linked on each market page.
  • No PnL or cost basis: the activity view classifies the latest signatures, not every fill.
  • The launchpad needs an operator-created DBC config per cluster, metadata storage and a session secret; without them it shows precisely what is missing.
  • Receipts are browser-local; clearing site data removes them (the chain keeps the transactions).

Security

  • You sign in your own wallet. Jitterbug never asks for a seed phrase or private key and has no input for one.
  • Provider keys stay on the server; the browser talks to the chain through an allow-listed RPC proxy.
  • Every API route validates its input, applies per-client rate limits, times out upstream calls and logs without secrets. Metadata URLs are fetched only from allow-listed hosts (no private networks, no redirects, 64 KB cap).
  • Sign-in is a message signature with a five-minute nonce; it creates no transaction and is only required for uploads and launch records.
  • Nothing is submitted twice: an uncertain submission is verified by its signature, never re-sent.

Devnet and mainnet

This deployment runs on Solana mainnet-beta. Markets, trading and valuations only make sense on mainnet-beta, where the tokens and the liquidity live. The launchpad is rehearsed on devnet with real transactions (config creation, pool creation, curve trades) before any mainnet config is created; mainnet launches need the operator to create the config with real SOL. See the status page for what is live right now.