Your app.
Their token launch.

Build token creation into your product. RevShare prepares the launch, your user signs in their wallet, and the API verifies each step and registers the token.

SolanaRobinhood ChainStableArcMonadBNBBaseHyperEVMEthereumInkNEAR
01

Prepare

Your backend requests a launch.

02

Sign

The owner approves in their wallet.

03

Confirm

RevShare verifies and registers.

01 / GET STARTED

Create your first launch

Generate an API key in your developer console. Keep it on your backend and expose only the prepared transaction to the wallet client. The signing wallet pays deployment costs, distributor funding, gas, and any initial buy.

Available in v1

Standard bonding launches on all listed chains, with supported quote assets and reward modes. NEAR uses Rhea DCL at 1%. Legacy liquidity launches and reward rotation remain in the launch page.

1. Save the launch settings

Replace the wallet and image URL. Use a new idempotency key for each intended token; retry the same request with the same key after a timeout. Save the returned id as LAUNCH_ID.

Create launch · cURL
curl https://revshare.xyz/api/v1/launches \
  -H "Authorization: Bearer $REVSHARE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: my-token-launch-001" \
  -d '{
    "chain": "base",
    "owner": "YOUR_WALLET_ADDRESS",
    "name": "My Token",
    "symbol": "TOKEN",
    "imageUrl": "https://your-project.com/token.png",
    "quote": "native",
    "feePercentage": 1,
    "initialBuy": "0",
    "rewards": { "mode": "shareholders", "reward": "native" },
    "hideOnLaunch": false
  }'

2. Prepare, review, and sign

Preparation creates the distribution wallet and token metadata, simulates the launch where supported, and returns nextStep. Pass that step to the correct wallet integration below.

Prepare next step · cURL
curl -X POST \
  "https://revshare.xyz/api/v1/launches/$LAUNCH_ID/prepare" \
  -H "Authorization: Bearer $REVSHARE_API_KEY"

3. Submit the result

If the wallet broadcast, send transactionHash. If it only signed, send signedTransaction instead. Include stepId in both cases. A 202 response means the transaction is tracked; it does not mean the token is deployed.

Submit wallet result · cURL
curl "https://revshare.xyz/api/v1/launches/$LAUNCH_ID/submit" \
  -H "Authorization: Bearer $REVSHARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "stepId": "STEP_ID_FROM_PREPARE",
    "transactionHash": "HASH_RETURNED_BY_YOUR_WALLET"
  }'

4. Confirm and continue

Poll confirmation every 3–5 seconds while status is submitted. When it becomes setup_required, call prepare again. Finish when status is complete: result.tokenAddress is the deployed contract and result.tokenUrl is its RevShare page.

Confirm progress · cURL
curl -X POST \
  "https://revshare.xyz/api/v1/launches/$LAUNCH_ID/confirm" \
  -H "Authorization: Bearer $REVSHARE_API_KEY"
02 / REFERENCE

Endpoints

Base path: https://revshare.xyz/api/v1/launches. Launches belong to your developer account. Any active key in that account can resume them.

GET/capabilities

Read chains, quote assets, fee presets and reward modes. Public.

POST/

Create a launch record. Requires Idempotency-Key.

GET/{id}

Read saved progress. Does not broadcast or poll the chain.

POST/{id}/prepare

Return the next transaction. Repeated calls return the same pending step.

POST/{id}/submit

Relay signed bytes, or record the hash of a wallet-broadcast transaction.

POST/{id}/confirm

Verify the transaction and finish registration when the launch is ready.

Read the full OpenAPI schema for request fields and response types. Requests are limited to 256 KiB, 120 requests/minute, and 20 new launches/day per developer account. A rate limit returns 429.

03 / WALLET INTEGRATION

One API. Three signing formats.

The API returns one transaction at a time. Approvals, custom quote configuration, NEAR storage/setup, or an initial buy may require additional signatures. Always review the recipient, amounts, fees and actions before asking the user to sign.

EVM wallets

Use eth_sendTransaction for connected browser wallets. For sign-only server or hardware integrations, submit the signed transaction as hex. Preserve from, to, data, value, chain ID and nonce. Gas may be increased up to twice the prepared limit; the wallet selects gas pricing.

EVM · wallet broadcasts
// Browser: your backend returns the prepared nextStep.
await ethereum.request({
  method: "wallet_switchEthereumChain",
  params: [{ chainId: nextStep.transaction.chainId }],
});
const transactionHash = await ethereum.request({
  method: "eth_sendTransaction",
  params: [nextStep.transaction],
});
// Send { stepId: nextStep.id, transactionHash }
// to your backend, which calls RevShare /submit.

Solana wallets

Decode the base64 legacy transaction and sign its existing message. Keep the provided mint/config signatures and recent blockhash. A wallet that changes the message will be rejected; do not rebuild the transaction.

Solana · sign and return bytes
import { Transaction } from "@solana/web3.js";
import { Buffer } from "buffer";

const transaction = Transaction.from(
  Buffer.from(nextStep.transaction, "base64")
);
const signed = await wallet.signTransaction(transaction);
const signedTransaction = signed.serialize().toString("base64");
// Send { stepId: nextStep.id, signedTransaction }
// to your backend. Preserve the existing mint signatures.

NEAR wallets

Pass the receiver and actions to NEAR Wallet Selector. Sign-only integrations may return a base64 Borsh SignedTransaction. Confirmation checks asynchronous receipts and the launch contract state before advancing.

NEAR · wallet broadcasts
// A wallet obtained from NEAR Wallet Selector.
const outcome = await wallet.signAndSendTransaction(
  nextStep.transaction
);
const transactionHash = outcome.transaction.hash;
// Send { stepId: nextStep.id, transactionHash }
// to your backend. Redirect wallets must recover the
// transaction hash from their callback before continuing.
04 / CONFIGURATION

The launch settings you already know

FieldHow it works
chainUse the ID from capabilities, such as near, base, or solana.
quoteDefaults to native. Catalog IDs and supported custom token addresses are accepted. HyperEVM and Stable use native pairing.
feePercentageA percentage such as 1. NEAR, HyperEVM and Stable use 1%; use capabilities for other presets.
initialBuyA decimal string in the selected quote token: "0.01". Defaults to "0".
receiverDeveloper fee wallet; defaults to the owner. RevShare prepares a separate distributor using the existing distribution service.
rewardsHolder rewards, wallet payout, burn and supported app modes follow the launch page. Defaults to holder rewards with a 30% developer setting. Custom quotes use quote rewards under the same payout rules.
hideOnLaunchControls the RevShare listing. Blockchain transactions and token contracts remain public.
settingsCustom EVM quotes require a starting quote price. Custom Solana quotes require initial and migration market caps. Omit this object for NEAR: the initial ~$20k market cap and ~$6k graduation marker are automatic.

Settings become immutable when the launch record is created. NEAR graduation is informational; its Rhea pool can trade before and after that marker. EVM smart-account UserOperations are not supported by this API.

05 / RESUME SAFELY

A timeout is not a failed launch.

StatusNext action
preparingCall prepare to build the first step.
awaiting_signatureSign nextStep, then submit it. Repeated prepare requests return the same step.
submittedCall confirm. Retain the transaction hash; do not create a replacement launch.
setup_requiredCall prepare for the next required step.
registration_pendingThe token is deployed. Retry confirm to finish saving it to RevShare.
completeShow result.tokenAddress and open result.tokenUrl.
failedInspect the recorded transaction before creating another launch. Failed on-chain transactions can consume gas.

A signed transaction may remain valid after your HTTP request ends. Re-submit the same bytes to retry relay. Never assume a timeout revoked a signature. If a Solana blockhash expires or an EVM nonce is consumed by another transaction, keep the launch ID and transaction hash for recovery.

Common errors
401 · UNAUTHORIZED
Check your server-side API key.
409 · IDEMPOTENCY_CONFLICT / ALREADY_SUBMITTED
Use the original request settings or confirm the transaction already tracked by that step.
422 · TRANSACTION_MISMATCH / SIMULATION_FAILED
Check signer, chain, transaction contents and wallet funding. Do not alter the prepared transaction.
503 · DEPENDENCY_UNAVAILABLE / REGISTRATION_UNAVAILABLE
A provider or backend is unavailable. Retry the same operation and retain the launch ID.
06 / TRUST & SIGNING

The owner keeps control of signing.

RevShare never needs the owner’s private key or seed phrase. A signature authorizes a specific transaction, so the API compares submitted contents to the saved plan and verifies the chain result before registration.

  • Keep API keys in your backend. They identify your application; wallet signatures authorize spending.
  • Bind each launch ID to your own authenticated user. Every active key in your developer account can access that account’s API launches.
  • Show the transaction summary in your UI and verify the expected chain, contracts, amounts and recipient in the wallet.
  • Persist idempotency keys and transaction hashes. Resume existing launches after retries and restarts.
  • Distribution wallets remain managed by the existing RevShare rewards service. This API does not change that custody model.

These checks reduce risk; they do not make a transaction service risk-free. Contract bugs, compromised applications, and malicious approvals still matter. Use controlled integration tests before enabling launches for customers.

RevShare, one tap away.

Add RevShare to your desktop for quick access.

  1. In Chrome or Edge, use the Install icon in the address bar or the browser menu.
  2. If installation isn’t offered, open this page in Chrome or Edge.

An internet connection is needed for live markets and wallet actions.