Stablememe
stablememe
FlywheelChangelogAPI

API Reference

Launch tokens programmatically

Anyone can create a fixed-supply token with a one-sided, stablecoin-quoted market through the Stablememe API. The endpoint builds an unsigned Solana transaction; you sign it with your own wallet and submit it to any RPC. Trading-pool fees go towards buying back $STABLE.

How it works

  1. 1

    Host a metadata JSON file (name, symbol, image, socials) at a public URL.

  2. 2

    POST the token details and your wallet address to the build endpoint.

  3. 3

    Receive a partially-signed base64 transaction and the new mint address.

  4. 4

    Sign the transaction as fee payer with your wallet and submit it to Solana.

Endpoint

POSThttps://stablememe.lol/api/launch/build
Request body
FieldTypeDescription
name*stringToken name. Truncated to 32 characters on-chain.
symbol*stringTicker symbol. Truncated to 10 characters on-chain.
uri*stringPublic URL to a hosted metadata JSON file (see below).
quoteToken*"USDC" | "USDT" | "USD1"The stablecoin the token trades against.
payer*stringBase58 public key that signs, pays rent, and receives pool fees.

Fields marked * are required.

Quote tokens

A token trades against exactly one stablecoin, chosen at launch.

KeyNameMint
USDCUSD CoinEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
USDTTetherEs9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB
USD1World Liberty USDUSD1ttGY1N17NEEHLmELoaybftRBUSErhqYiQzvEmuB

Metadata format

The uri field must point to a publicly-readable JSON file in the standard token metadata shape. Host it anywhere (your own CDN, IPFS, Arweave).

metadata.json
{
  "name": "My Stable Meme",
  "symbol": "MSM",
  "description": "A stable memecoin launched on Stablememe.",
  "image": "https://your-cdn.com/logo.png",
  "extensions": {
    "twitter": "https://x.com/yourhandle",
    "telegram": "https://t.me/yourgroup",
    "website": "https://stablememe.lol"
  }
}

Example request

curl
curl -X POST https://stablememe.lol/api/launch/build \
  -H "content-type: application/json" \
  -d '{
    "name": "My Stable Meme",
    "symbol": "MSM",
    "uri": "https://your-cdn.com/metadata.json",
    "quoteToken": "USDC",
    "payer": "YourWalletPublicKeyBase58"
  }'
Response
json
{
  "transaction": "<base64-encoded legacy transaction>",
  "mint": "Cu5...9pk",
  "config": "8Hb...2aa",
  "totalTokenSupply": "2000000",
  "lastValidBlockHeight": 301872455
}

Sign and submit (Node.js)

The returned transaction is a legacy Solana transaction with the config and mint keypairs already partially signed. You only need to add the fee payer signature and send it.

typescript
import {
  Connection,
  Keypair,
  Transaction,
} from '@solana/web3.js'

// Your creator wallet (pays fees, receives trading-pool fees).
const payer = Keypair.fromSecretKey(/* your secret key */)
const connection = new Connection('https://your-rpc-endpoint', 'confirmed')

// 1. Ask Stablememe to build the launch transaction.
const res = await fetch('https://stablememe.lol/api/launch/build', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({
    name: 'My Stable Meme',
    symbol: 'MSM',
    uri: 'https://your-cdn.com/metadata.json',
    quoteToken: 'USDC', // 'USDC' | 'USDT' | 'USD1'
    payer: payer.publicKey.toBase58(),
  }),
})

const { transaction, mint } = await res.json()

// 2. Deserialize, sign as fee payer, and submit.
// The config + mint keypairs are already partially signed server-side.
const tx = Transaction.from(Buffer.from(transaction, 'base64'))
tx.partialSign(payer)

const signature = await connection.sendRawTransaction(tx.serialize())
await connection.confirmTransaction(signature, 'confirmed')

console.log('Launched', mint, 'tx', signature)

Errors

StatusMeaning
400Invalid JSON body, missing a required field, or an unsupported quote token.
400Invalid payer address (not a valid base58 public key).
500Server RPC is not configured, or the transaction failed to build.

Error responses return a JSON object with an error string.

Stablememe

stablememe.lol - your meme. your dollar.

Twitter / XAPITermsPrivacy