🔍
← Back to App

DropSwap User Manual

Everything you need to know to swap, earn, and provide liquidity on DropSwap.

👋 Introduction

DropSwap is a multi-chain decentralized exchange (DEX) aggregator that lets you swap tokens across 26+ blockchains from a single interface - without manually switching apps or researching routes.

Instead of building isolated liquidity, DropSwap queries dozens of DEX aggregators and bridges simultaneously to find you the best rate available.

🔄 Best-rate swaps

Routes compared in real time across 1inch, Odos, KyberSwap and more - you get the best price automatically.

⛓️ 26+ chains

Arbitrum, Base, BNB, Ethereum, Solana, Avalanche, Monad, Robinhood Chain, and many more.

💧 DROP token

Native omnichain token - same address on 6 chains via LayerZero. Earn it by swapping, stake it, or bridge it.

🏦 Own DEX

DropSwap V2 DEX - permissionless AMM on Arbitrum and Robinhood Chain. Create pools, add liquidity, earn fees.

🦊 Connecting a Wallet

DropSwap works with any EVM-compatible wallet (MetaMask, Rabby, Coinbase Wallet) and Phantom/Solflare for Solana swaps.

  1. Click "Connect Wallet" in the top-right corner of the app.
  2. Select your wallet from the list (MetaMask, WalletConnect, Coinbase Wallet, etc.).
  3. Approve the connection request in your wallet extension.
  4. Your wallet address and balance will appear in the header.
💡 Tip: DropSwap automatically detects your connected chain and switches the swap panel to match. You can manually select any supported chain from the chain selector dropdown.

Adding a new chain to MetaMask

If MetaMask doesn't have the target chain configured, DropSwap will prompt you to add it automatically. Click "Add chain" in the MetaMask popup and confirm - the RPC and explorer details are pre-filled for you.

⛓️ Supported Chains

DropSwap currently supports swaps on 26+ chains. The DROP token is deployed natively on 6 of these:

Arbitrum One
Base
BNB Chain
Robinhood Chain
Monad
Avalanche

All other chains (Ethereum, Polygon, Optimism, Solana, Sei, Berachain, HyperEVM, Linea, Scroll, Blast, Soneium, and more) are supported for swapping only via the aggregation layer.

⚠️ Note: Solana is DropSwap's first non-EVM chain. Solana swaps use a separate wallet (Phantom/Solflare) .

🔄 How to Swap

  1. Select the source chain from the chain dropdown at the top of the swap panel.
  2. Click the input token (YOU PAY) and search by name, symbol, or paste a contract address.
  3. Click the output token (YOU RECEIVE) and select the token you want.
  4. Enter the amount you want to swap. A live quote will appear automatically.
  5. Review the rate, price impact, and minimum received shown below the swap button.
  6. Click Swap and confirm the transaction in your wallet.
💡 Cross-chain swaps: You can swap tokens on different chains in one step. Select a source chain, then pick a token on a different destination chain - DropSwap handles the bridging automatically.

Basic vs. Advanced mode

Toggle between Basic (simplified view) and Advanced (shows market price, price impact, route details) using the mode switch above the swap panel.

Using MAX

Click MAX next to your balance to fill the full amount. For native gas tokens (ETH, AVAX, etc.), a small reserve is kept automatically to cover the transaction gas fee.

💸 Fees & Slippage

FeeAmountWho receives it
DropSwap integrator fee0.25%Collected in the "from" token
  → Swap Rewards35% of feeDistributed as DROP to swappers
  → Burn35% of feeUsed to burn DROP permanently
  → Operations30% of feeProtocol development & treasury
Underlying DEX/bridge feevariesThe DEX or bridge routing the trade
Gas feevaries by chainNetwork validators

Slippage

Slippage is the difference between the quoted price and the actual execution price. DropSwap sets default slippage automatically. Adjust it in swap settings (⚙️). For volatile tokens or low-liquidity pairs, increase to 1–2%.

⚠️ High slippage warning: Slippage above 5% makes you vulnerable to sandwich attacks. Only increase if necessary.

🛡️ Token Security

Every token in DropSwap's swap list is filtered through GoPlus Security scanning. Spam tokens and honeypot contracts are automatically excluded.

What GoPlus checks

  • Honeypot detection (token that can be bought but not sold)
  • Suspicious or non-renounced ownership
  • Mint function present (unlimited supply risk)
  • Trading cooldowns or abnormal tax rates
  • Proxy contracts with hidden upgrade risk
💡 You can still manually import any token by pasting its contract address - always verify on the chain's block explorer before trading an unknown token.

What is DROP?

DROP is the native utility token of the DropSwap ecosystem. It is omnichain - deployed at the exact same contract address on 6 chains via LayerZero OFT (burn-and-mint).

0x9C0E3165B44AA9b5D3569a8F31ce754FCb98F2b8
PropertyValue
SymbolDROP
Max supply100,000,000 DROP
Decimals18
StandardLayerZero OFT v2 (burn-and-mint)
Canonical chainArbitrum One
OwnershipTreasury Safe - 2-of-3 multisig

How DROP becomes scarcer over time

Every swap on DropSwap contributes 0.25% in fees. Of that, 35% funds an automated burn - the Burn Wallet calls burn() on the DROP contract, permanently reducing total supply. Every burn is verifiable on Arbiscan.

Minted
100,000,000
DROP
Total Burned
DROP
Total Supply
DROP
Circulating Supply
DROP

DROP across chains

When DROP moves between chains, the sending chain burns the tokens and LayerZero instructs the receiving chain to mint the same amount. Global total never changes: always 100,000,000 minus permanently burned tokens.

🌉 Bridge DROP

Move DROP between any two supported chains without leaving DropSwap.

  1. Open DROP Bridge from the main menu.
  2. Select the source chain (where your DROP is).
  3. Select the destination chain (where you want it).
  4. Enter the amount. A real-time LayerZero relay fee is shown (paid in native gas).
  5. Click Bridge and confirm two transactions: approve + send.
  6. Bridge completes in 20–60 seconds. Track at layerzeroscan.com.
💡 Security: Every bridge message is verified by 3 independent DVNs (LayerZero Labs, Nethermind, Horizen Labs). All three must confirm - one compromised verifier cannot move funds.
Arbitrum ↔ BNB
Arbitrum ↔ Robinhood
Arbitrum ↔ Base
Arbitrum ↔ Monad
Arbitrum ↔ Avalanche
All pairs both directions

🛒 Buy DROP - Direct Sale

Buy DROP directly from the DropSwap Treasury at a transparent, market-referenced price - with zero price impact and zero slippage.

How the price is set

The contract uses a 30-minute TWAP from the Arbitrum liquidity pool. If the market price falls below the floor (~$0.01), the floor is used instead.

ParameterValue
Min purchase0.0001 ETH
Max purchase0.5 ETH per transaction
Daily cap50,000 DROP / 24 hours
Price source30-min TWAP from Arbitrum pool
Floor price~$0.01 per DROP
  1. Open Direct Sale from the main menu.
  2. Connect your wallet on Arbitrum.
  3. Enter the ETH amount. The DROP you'll receive is shown in real time.
  4. Click Buy DROP and confirm in your wallet.

🔥 Burn Mechanism

Every qualifying swap contributes to an automated DROP burn funded by 35% of the 0.25% integrator fee.

  1. A swap is made - DropSwap collects 0.25% fee in the "from" token.
  2. Platform calculates a DROP-equivalent burn amount based on fee USD value and current DROP price.
  3. When accumulated burns exceed the threshold, the Burn Wallet calls burn(amount) on the DROP contract.
  4. Tokens are permanently destroyed - totalSupply decreases on all block explorers.
💡 Every burn is publicly verifiable on Arbiscan. The API endpoint /drop/global-supply exposes real-time burned and total figures.

🎁 Swap Rewards

Active swappers earn DROP tokens automatically for qualifying trades (minimum $1 USD value) on any supported chain.

  1. Open Swap Rewards from the main menu.
  2. Connect your wallet. Pending DROP balance is shown.
  3. Click Claim when you have at least 1 DROP pending.
  4. DROP is sent to your wallet on Arbitrum from the Campaign Wallet.
⚠️ Anti-farming: The campaign checks wallet age and transaction history. New wallets with no prior on-chain history may not qualify. A daily cap limits total DROP distributed per 24 hours.
💡 Rewards operate in waves. Once a wave's allocation is distributed, the campaign pauses until a new wave is funded.

📈 Staking

Stake DROP to earn a share of the daily DROP reward pool. Fixed emissions - a set amount of DROP distributed per day, proportional to your share of the pool.

ChainContractReward Pool
Arbitrum One0x7A672458cC14CF7845C960eef7F201d04028491B1,000,000 DROP
Robinhood Chain0xFc5EF57Bf46562eae10D1d1f872761D29E7174Eb1,000,000 DROP
BNB Smart Chain0x082a7b0BA62e81F55Ec15880C22f59A490ffF3611,000,000 DROP
  1. Open Staking from the main menu.
  2. Select chain (Arbitrum, Robinhood, or BNB).
  3. Enter the amount of DROP to stake (minimum 100 DROP).
  4. Approve DROP spend and confirm the stake transaction.
  5. Pending rewards accumulate in real time as a live counter.

Claim, Compound & Unstake

  • Claim: min 1 DROP pending - sends rewards to your wallet.
  • Compound: min 100 DROP pending - re-stakes rewards in one transaction.
  • Unstake: no lock period - withdraw at any time.
  • Emergency withdraw: forfeits pending rewards, always returns staked principal.
💡 Boosts: The team adds time-limited reward boosts that increase the daily DROP distributed to all stakers. Boosts are visible in the staking interface.

🪂 Airdrop

DropSwap periodically distributes DROP to community members and early supporters via airdrop waves.

  1. Open Airdrop from the main menu.
  2. Connect your wallet and select the chain to receive DROP on.
  3. Enter your Twitter/X handle and Tweet URL (required).
  4. Click Register. One registration per address per chain.
⚠️ DropSwap reserves the right to withhold distributions at its discretion - for example if wallet activity suggests bot or Sybil behavior. All distributions are publicly visible on-chain.
💡 Each airdrop wave may include additional eligibility requirements - for example a minimum swap volume, swapping a specific token, holding a minimum DROP balance, or other on-chain activity. Requirements for each wave are announced before the wave begins.

🏦 What is DropSwap V2 DEX?

DropSwap V2 DEX is a native permissionless exchange (constant-product AMM, x·y=k). Fully owned, on-chain protocol separate from the aggregator layer.

🆓 No listing fees

Anyone can create a pool for any ERC-20 token pair - no approval, no whitelist, no cost.

💰 Earn LP fees

LPs earn 0.25% of every swap. 0.05% goes to DropSwap Treasury.

⛓️ Multi-chain

Live on Arbitrum One and Robinhood Chain.

🪙 DS-V2 LP tokens

Standard ERC-20 LP tokens - transferable and composable with other DeFi protocols.

FeeRateRecipient
LP fee (per swap)0.25%Liquidity providers
Protocol fee (per swap)0.05%DropSwap Treasury Safe
Total swap fee0.30%-
Pool creation fee0%Permissionless

Create a Pool

Create a liquidity pool for any ERC-20 token pair - no approval needed.

  1. Open Create Pool from the menu.
  2. Select the chain (Arbitrum or Robinhood Chain).
  3. Select Token 1 - search by name or paste a contract address.
  4. Select Token 2 - same process.
  5. Enter amounts. The ratio you set becomes the initial price.
  6. Click Check ratio to compare against market price. A warning appears if ratio differs by more than 5%.
  7. Click Create Pool and confirm the transactions.
⚠️ Important: The ratio of tokens you deposit sets the initial price. If your ratio differs significantly from market price, arbitrage bots will immediately trade against your pool. Always use Check ratio before creating.
💡 The pool appears in Pool Positions immediately. It needs at least $1 TVL to appear in public listings.

🔭 Explore Pools

Browse all active liquidity pools on DropSwap V2 DEX across all chains - with real-time TVL, APY, and reserves.

  • Browse pools sorted by TVL or APY.
  • Search by token name, symbol, or contract address.
  • Add liquidity to any pool directly from the list.
  • Swap within a specific pool.
  • View on DexScreener for price charts and trade history.
💡 Explore Pools is accessible without connecting a wallet. Connect to add liquidity or swap.

📊 My Pool Positions

See all pools where you hold DS-V2 LP tokens - across all chains, in one place.

  • Your share: exact token amounts + percentage of pool
  • USD value of your position
  • APY based on 24h trading volume
  • Toggle Card view / List view - preference saved automatically

Round-trip test (RT)

The RT button runs an automated round-trip swap - swaps 5% of the pool A→B then immediately B→A. Pool ratio is restored, only the 0.6% fee stays (your LP earnings). Use this to verify the pool works correctly without risking imbalance.

Listed / Unlisted

Each pool has a Listed badge that controls whether it is visible to all users in Explore Pools.

  • Listed - pool is publicly visible in Explore Pools. Anyone can discover it, add liquidity and trade.
  • Unlisted - pool is hidden from Explore Pools. It remains fully functional on-chain - you can still add/remove liquidity and swap from Pool Positions. Use this while the pool is not ready for public discovery.
💡 Creator only, 24-hour window. Only the wallet that created the pool can toggle visibility. The option is available for 24 hours from pool creation and then expires permanently. After expiry the pool is automatically listed and the badge becomes read-only. While unlisted, the badge shows a live countdown to automatic listing.

Click the Listed badge in Pool Positions to toggle. The change takes effect immediately and is secured by a wallet signature.

💧 Add / Remove Liquidity

Adding liquidity

  1. Find the pool in Explore Pools or Pool Positions and click +.
  2. Enter amount for Token A - Token B fills automatically based on current ratio.
  3. Click Max to use full balance (gas reserve kept for native tokens).
  4. Click Add Liquidity and confirm (approve + addLiquidity).
  5. You receive DS-V2 LP tokens proportional to your contribution.
💡 DropSwap automatically switches your wallet to the correct chain if adding liquidity to a pool on a different chain.

Removing liquidity

  1. Open Pool Positions and click on your pool.
  2. Select percentage to remove (25%, 50%, 75%, 100%) or enter custom amount.
  3. Click Remove Liquidity and confirm (approve LP token + removeLiquidity).
  4. Your tokens are returned to your wallet immediately.

Gas reserve for native token

When adding liquidity to an ETH pool (or any native token pool), DropSwap keeps a 0.002 ETH gas reserve when you click Max. This ensures you always have enough native token to pay for the transaction gas fee.

  • Balance display - always shows your full wallet balance
  • Max button - sets your balance minus 0.002 ETH gas reserve
  • If your balance is below 0.002 ETH - Max clears the input. You need more native token to cover gas.
  • Non-ETH tokens (DROP, USDC etc.) - no gas reserve is deducted
⚠️ This applies to all chains - Arbitrum, Robinhood Chain and others. The reserve amount is the same (0.002 ETH equivalent) regardless of chain.
⚠️ Impermanent Loss: When prices of the two tokens diverge from your entry ratio, you may receive less value than if you had simply held them. This is a standard risk of AMM liquidity provision - the loss is "impermanent" and reverses if prices return to the original ratio.

📋 Contract Addresses

DROP Token (all chains)

0x9C0E3165B44AA9b5D3569a8F31ce754FCb98F2b8

DropSwap V2 DEX

ContractChainAddress
FactoryArbitrum + Robinhood0xDCed5445409398dc609C2f87849B44bc9479664A
RouterArbitrum0x5be9542B382369B12cad9944AaD8D2c45BBED365
RouterRobinhood Chain0x50A79E4f576D873ad1b637b2Ec073b6F09D5d893
PoolCreatorArbitrum0x5388c01c84f92958Dc09E83270A82fb16aE22612
PoolCreatorRobinhood Chain0x1837A501FcaE2d80039eAC261d5FAc87e7a25A4c
DROP/WETH PoolArbitrum0x310DCb89370e53Ea5A9b0B3BE55249D36bC60B2B
DROP/WETH PoolRobinhood0x951f04788f7faaac64c190c17ca673db0cd89573

🔌 DEX Integration API

DropSwap V2 exposes a public quote endpoint for DEX aggregators and other third-party integrations on Arbitrum One and Robinhood Chain.

API endpoint: https://dropswap.finance/lifi-dex/quote

Supported chains

ChainChain IDRouter
Arbitrum One 42161 0x5be9542B382369B12cad9944AaD8D2c45BBED365
Robinhood Chain 4663 0x50A79E4f576D873ad1b637b2Ec073b6F09D5d893

Request parameters

ParameterRequiredDescription
chainYesarbitrum or robinhood
tokenInYesERC-20 input token address
tokenOutYesERC-20 output token address
amountInYesInput amount in base units
recipientYesAddress receiving output tokens
slippageBpsNoSlippage in basis points. Default: 50. Allowed: 0-500.

Example request

GET /lifi-dex/quote
?chain=robinhood
&tokenIn=0x9C0E3165B44AA9b5D3569a8F31ce754FCb98F2b8
&tokenOut=0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73
&amountIn=1000000000000000000
&recipient=0xEcC74EDf0f1B02019567b1dCBDa7c52bcFB2022C
&slippageBps=50

Response

{
  "chain": "robinhood",
  "chainId": 4663,
  "router": "0x50A79E4f576D873ad1b637b2Ec073b6F09D5d893",
  "tokenIn": "0x...",
  "tokenOut": "0x...",
  "amountIn": "1000000000000000000",
  "amountOut": "...",
  "amountOutMin": "...",
  "slippageBps": 50,
  "transactionRequest": {
    "to": "0x...",
    "data": "0x...",
    "value": "0",
    "from": "0x..."
  },
  "gasEstimate": "180000"
}

gasEstimate currently contains a conservative fallback gas limit for transaction construction. Integrators may perform their own gas estimation before submitting the transaction.

Execution

The endpoint returns calldata for the DropSwap V2 swapExactTokensForTokens router function. Quotes are calculated directly from the active DropSwap V2 liquidity pools.

DropSwap V2 uses standard Uniswap V2 constant-product pricing with a total swap fee of 0.30%.

DEX contracts

Factory: 0xDCed5445409398dc609C2f87849B44bc9479664A

Pair init code hash: 0x5a06c73619cafbdf06047031713728e845441be833a0050893b05ad35d3bc10d

Public token list: https://dropswap.finance/tokenlist.json

🧩 Launchpad Liquidity Gateway

DropSwap Launchpad Liquidity Gateway is a non-custodial liquidity handoff layer for token launchpads. Your launchpad keeps its launch flow and wallet. DropSwap handles liquidity preflight, transaction preparation, execution routing and the verifiable Liquidity Receipt.

Keep your launchpad. DropSwap handles the liquidity infrastructure.
Docs v2.0.2 API v2 Updated 2026-09-04 Non-custodial

The recommended integration does not require the launchpad to understand DropSwap Factory/Router internals or manually construct Gateway calldata.

Launchpad ↓ GET /v1/chains ↓ GET /v1/quote-tokens ↓ POST /v1/preview ↓ POST /v1/prepare ↓ Launchpad signs returned transactions ↓ GET /v1/status/:integrationId ↓ Liquidity Receipt

Supported Gateway deployments

Network Chain ID Gateway Status
Arbitrum One 42161 0xf9CCDead8011aB90F7e9c424D433352813C5Ab08 V2 · Permanent LP Locker
Robinhood Chain 4663 0x09340388E55c3B37e5c9eAA49C8C74CAd5103818 V2 · Permanent LP Locker
💡 Recommended: discover the current Gateway address from GET /v1/chains instead of hard-coding it in production.
🔒 Gateway V2 permanent liquidity: LP tokens created through production Gateway V2 deployments are sent directly to the chain-specific Permanent Locker.
Arbitrum Locker:
0xE0011D517484Ca404797c6D9686e7E7843c0abA2
Robinhood Locker:
0x82C7Fe8EE3C0ed5B748F38b7Ae5644B2992eDf0B

🪙 Supported Quote Tokens

Launchpad Gateway quote tokens are chain-specific. These are not the only tokens that can be used with the Gateway. A launchpad can provide liquidity for a newly created, minted, or launched ERC-20 token. The quote tokens listed below are the supported assets that can be paired with that token when creating or seeding its DropSwap liquidity pool.

💡 How it works: your newly launched token is supplied as token, while one of the assets listed below is supplied as quoteToken. In other words, the list below is a whitelist for the quote side of the pair, not a whitelist of tokens that launchpads are allowed to launch.
💡 Example: if your launchpad creates a new token called MYTOKEN, you can create liquidity such as MYTOKEN / WETH, MYTOKEN / USDC, or another supported quote-token pair available on that chain.
💡 For launchpad integrations: do not hard-code the supported quote-token list. Discover the current production configuration from GET /v1/quote-tokens?chain=<chain>.
⚠️ The restriction applies only to the quote side of the pair. If you need to pair a newly launched token with an asset that is not currently listed as a supported quoteToken, contact DropSwap. Adding another supported quote token is a DropSwap protocol configuration change and cannot be performed by the integrating launchpad.

Loading current quote-token configuration…

Gateway Quick Start

Set the Gateway API base URL supplied for your integration:

export GATEWAY_API="https://dropswap.finance/launchpad-api"

Partner access

Discovery and preview are public. Production execution through POST /v1/prepare requires an approved Launchpad Gateway partner account and API key.

Register your launchpad from the Launchpads Gateway panel in the DropSwap app. Connect the launchpad owner wallet, sign the registration challenge and submit the project for approval.

After approval, the same wallet can retrieve its reusable Partner ID and API key. Keep the API key on your server. Do not expose it in browser code.

Register / Manage Launchpad Access

export DROPSWAP_PARTNER_ID="lp_YOUR_PARTNER_ID"
export DROPSWAP_API_KEY="ds_lp_YOUR_API_KEY"

1. Discover chains

curl "$GATEWAY_API/v1/chains"

2. Discover approved quote tokens

curl "$GATEWAY_API/v1/quote-tokens?chain=arbitrum"
ERC20/ERC20 quoteToken rule: use the ERC-20 contract address returned in quoteTokens[].address. Do not send symbols such as USDC, USDG or WETH for normal token/token liquidity.

3. Preview liquidity

curl -X POST "$GATEWAY_API/v1/preview" \
  -H "Content-Type: application/json" \
  -d '{
    "chain": "arbitrum",
    "token": "TOKEN_ADDRESS",
    "quoteToken": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "tokenAmount": "TOKEN_AMOUNT_BASE_UNITS",
    "quoteAmount": "USDC_AMOUNT_BASE_UNITS"
  }'

Inspect ready, riskLevel, blockingIssues, warnings, pool, priceAnalysis and contractChecks.

Do not continue to execution when ready=false.

4. Generate a unique integrationId

const integrationId = ethers.keccak256(
  ethers.toUtf8Bytes(
    `my-launchpad:${chainId}:${token}:${Date.now()}`
  )
);

The integrationId is generated by your launchpad. It must be a unique non-zero bytes32 and is passed to DropSwap unchanged. Gateway V2 uses it together with the launchpad wallet for replay protection. Never reuse an integration ID after successful execution.

5. Prepare the transaction plan

curl -X POST "$GATEWAY_API/v1/prepare" \
  -H "Content-Type: application/json" \
  -H "X-DropSwap-Partner: $DROPSWAP_PARTNER_ID" \
  -H "X-DropSwap-API-Key: $DROPSWAP_API_KEY" \
  -d '{
    "chain": "arbitrum",
    "launchpad": "LAUNCHPAD_WALLET_ADDRESS",
    "token": "TOKEN_ADDRESS",
    "quoteToken": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "tokenAmount": "TOKEN_AMOUNT_BASE_UNITS",
    "quoteAmount": "USDC_AMOUNT_BASE_UNITS",
    "integrationId": "0xYOUR_BYTES32_INTEGRATION_ID",
    "slippageBps": 100,
    "deadlineSeconds": 1200
  }'
launchpad: the wallet address that will sign and execute the transactions returned by /v1/prepare. Use the same address when querying /v1/status/:integrationId. On Gateway V2, do not send lpRecipient; LP tokens are sent directly to the chain-specific Permanent Locker.

Default slippage is 100 bps (1%). Default deadline is 1200 seconds. Maximum deadline is 86400 seconds.

6. Sign returned transactions

for (const txRequest of prepared.transactions) {
  const tx = await signer.sendTransaction({
    to: txRequest.to,
    data: txRequest.data,
    value: txRequest.value
  });

  await tx.wait();
}

Execute the returned transactions array exactly in order. The launchpad signs every transaction with its own wallet.

7. Read execution status

export LAUNCHPAD_WALLET="LAUNCHPAD_WALLET_ADDRESS"

curl "$GATEWAY_API/v1/status/$INTEGRATION_ID?chain=arbitrum&launchpad=$LAUNCHPAD_WALLET"

LAUNCHPAD_WALLET is the same wallet address supplied as launchpad to /v1/prepare.

🔌 Gateway API & Execution Modes

Public API

MethodEndpointPurpose
GET/healthGateway service health.
GET/v1/chainsCurrent supported chains and Gateway registry.
GET/v1/quote-tokens?chain=...Approved quote tokens.
POST/v1/previewPreflight, pool analysis and risk classification.
POST/v1/prepareBuild ordered executable transactions.
GET/v1/status/:integrationIdExecution state and Liquidity Receipt.

ERC20 / ERC20

execution.mode = ERC20_ERC20 1. ERC20_APPROVE_TOKEN 2. ERC20_APPROVE_QUOTE 3. GATEWAY_SEED_LIQUIDITY

ERC20 / native ETH

execution.mode = ERC20_NATIVE 1. ERC20_APPROVE_TOKEN 2. GATEWAY_SEED_LIQUIDITY_NATIVE

The second transaction carries the native quote amount in value.

Prepare safety checks

Before returning executable calldata, /v1/prepare verifies:

  • the preflight result is not blocked,
  • the Gateway is deployed,
  • paused() == false,
  • the integration ID is valid and non-zero,
  • for Gateway V2 deployments, executedFor(launchpad, integrationId) == false,
  • the launchpad address is valid,
  • the selected quote token is approved by the Gateway.

💻 Copy / Paste Integration Example

This is a reusable backend integration example. Connect DropSwap once, then supply the launch-specific values dynamically for every new token created by your launchpad.

💡 Dynamic values: chain, token, quoteToken, tokenAmount, quoteAmount, launchpad, and integrationId normally come from your own launch process. On Gateway V2 deployments the LP recipient is not supplied by the launchpad; LP is sent directly to the chain-specific permanent Locker.
⚠️ Server-side only: keep DROPSWAP_PARTNER_ID and DROPSWAP_API_KEY in your backend environment. Never expose the API key in browser JavaScript or a public repository.
import { ethers } from "ethers";

const GATEWAY_API =
  "https://dropswap.finance/launchpad-api";

const DROPSWAP_PARTNER_ID =
  process.env.DROPSWAP_PARTNER_ID;

const DROPSWAP_API_KEY =
  process.env.DROPSWAP_API_KEY;

// ------------------------------------------------------------
// These values change for every launch
// ------------------------------------------------------------

const chain = launch.chain;

// Address returned after your launchpad deploys / creates the token
const token = newToken.address;

// Select from:
// GET /v1/quote-tokens?chain=<chain>
const quoteToken =
  selectedQuoteToken.address;

// Base units
const tokenAmount =
  liquidity.tokenAmount;

const quoteAmount =
  liquidity.quoteAmount;

// Launchpad wallet executing the Gateway transaction
const launchpad =
  launch.wallet;

// Unique ID for this launch
const integrationId =
  ethers.keccak256(
    ethers.toUtf8Bytes(
      `${chain}:${token}:${launchpad}:${Date.now()}`
    )
  );

const body = {
  chain,
  token,
  quoteToken,
  tokenAmount,
  quoteAmount,
  launchpad,
  integrationId,
  slippageBps: 100,
  deadlineSeconds: 1200
};

// ------------------------------------------------------------
// 1. Public preflight
// ------------------------------------------------------------

const previewResponse =
  await fetch(
    `${GATEWAY_API}/v1/preview`,
    {
      method: "POST",
      headers: {
        "Content-Type": "application/json"
      },
      body: JSON.stringify(body)
    }
  );

const preview =
  await previewResponse.json();

if (!previewResponse.ok || !preview.ready) {
  throw new Error(
    `DropSwap preflight blocked: ${
      JSON.stringify(
        preview.blockingIssues ||
        preview.error ||
        preview
      )
    }`
  );
}

// ------------------------------------------------------------
// 2. Authenticated prepare
// ------------------------------------------------------------

const prepareResponse =
  await fetch(
    `${GATEWAY_API}/v1/prepare`,
    {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "X-DropSwap-Partner":
          DROPSWAP_PARTNER_ID,
        "X-DropSwap-API-Key":
          DROPSWAP_API_KEY
      },
      body: JSON.stringify(body)
    }
  );

const prepared =
  await prepareResponse.json();

if (!prepareResponse.ok || !prepared.ready) {
  throw new Error(
    prepared.error ||
    "DropSwap prepare failed"
  );
}

// ------------------------------------------------------------
// 3. Execute returned transactions
// ------------------------------------------------------------

for (const txRequest of prepared.transactions) {
  const tx =
    await signer.sendTransaction({
      to: txRequest.to,
      data: txRequest.data,
      value: txRequest.value
    });

  await tx.wait();
}

// ------------------------------------------------------------
// 4. Read execution status
// ------------------------------------------------------------

const statusUrl =
  `${GATEWAY_API}/v1/status/${integrationId}` +
  `?chain=${encodeURIComponent(chain)}` +
  `&launchpad=${encodeURIComponent(launchpad)}`;

const result =
  await fetch(
    statusUrl
  ).then(r => r.json());

console.log(result);

Use the same integration for every new token

// Launch #1
token = TOKEN_A
quoteToken = USDC

// Launch #2
token = TOKEN_B
quoteToken = WETH

// Launch #3
token = TOKEN_C
quoteToken = WBTC

// Same DropSwap integration.
// Only the launch-specific values change.

Your launchpad does not need a separate DropSwap integration for each token or pair. The same backend flow can be reused for every launch.

🛡️ Security & Liquidity Receipt

Non-custodial execution

The launchpad retains control of its funds and signing keys. The Gateway receives assets only for the atomic liquidity operation and is designed not to retain execution funds after completion.

Replay protection

Gateway V2 scopes replay protection by launchpad wallet. Every successful execution marks the supplied integrationId as executed for that launchpad. This applies to both Arbitrum and Robinhood V2 deployments. The same launchpad cannot reuse an executed ID.

Permanent LP custody on Gateway V2

🔒 Production Gateway V2 deployments send newly minted LP directly to their chain-specific Permanent Locker. Arbitrum: 0xE0011D517484Ca404797c6D9686e7E7843c0abA2. Robinhood: 0x82C7Fe8EE3C0ed5B748F38b7Ae5644B2992eDf0B. The Gateway and launchpad wallet retain zero LP from the liquidity operation.

The Locker records the pair, launchpad, launch token, quote token, LP amount, integration ID and creation timestamp. The Locker is permanent and exposes no LP withdrawal or release function.

Why permanent locking? Permanent LP locking is a built-in launch quality signal your launchpad gets for free. When buyers see that liquidity is locked on-chain and cannot be withdrawn, it removes one of the biggest barriers to participation in new token launches. The Liquidity Receipt makes this verifiable - your launchpad can display it publicly as proof that the pool will stay liquid. Launchpads that offer this guarantee consistently see stronger community trust and higher participation rates at launch.

Status

curl "$GATEWAY_API/v1/status/$INTEGRATION_ID?chain=arbitrum&launchpad=$LAUNCHPAD_WALLET"
💡 Gateway V2 status resolution: always store the liquidity seed transaction hash returned by your wallet. On Arbitrum, integrationId plus the launchpad wallet is normally sufficient to resolve the Liquidity Receipt. On Robinhood, normal executions are cached automatically; if a receipt is not yet cached, supply the seed transaction txHash to resolve and cache it. You do not need to perform blockchain event scanning yourself.

Normal V2 states:

NOT_EXECUTED EXECUTED

Liquidity Receipt

A resolved receipt contains the verifiable execution result, including:

  • launchpad address,
  • launch token and quote token,
  • DropSwap pair address,
  • actual token and quote amounts,
  • LP liquidity minted,
  • permanent Locker recipient,
  • whether the pool was newly created,
  • transaction hash and block number.
DropSwap Liquidity Verified should be understood as cryptographic evidence of the liquidity execution and LP delivery. It is not an endorsement of the launched token.

Live Verification Status

The public Launchpad Gateway Quickstart has been executed on-chain across all currently supported execution modes.

Network Execution mode Partner flow Live E2E Zero custody
Arbitrum OneERC20 / ERC20PASSPASSPASS
Arbitrum OneERC20 / native ETHPASSPASSPASS
Robinhood ChainERC20 / ERC20PASSPASSPASS
Robinhood ChainERC20 / native ETHPASSPASSPASS
ERC20/ERC20: quoteToken must be the ERC-20 contract address returned in quoteTokens[].address, not the token symbol.

📥 Developer Downloads

Download the current Markdown documentation for your repository, IDE or internal integration notes.

Integration principle

Discover -> Preview -> Prepare -> Sign -> Execute -> Verify Receipt

FAQ

Is DropSwap non-custodial?

Yes. DropSwap never takes custody of your funds. All swaps and liquidity operations execute directly from your wallet through smart contracts.

Which wallet should I use?

Any EVM wallet: MetaMask, Rabby, Coinbase Wallet, Trust Wallet, or WalletConnect-compatible. For Solana swaps, use Phantom or Solflare.

Why did my swap fail?

Common reasons: (1) Insufficient gas - increase gas limit. (2) Slippage too low - increase tolerance. (3) Token approval needed - approve first. (4) Route unavailable - try smaller amount or different token.

How do I add a token not in the list?

Click the token selector, paste the full contract address in the search box. DropSwap imports token details from on-chain. Always verify the contract address from the official project source.

What is the minimum to earn swap rewards?

Your swap must be worth at least $1 USD. Your wallet must also meet minimum age and transaction count requirements.

Can I create a pool for any two tokens?

Yes - DropSwap V2 DEX is fully permissionless. Any ERC-20 token pair on Arbitrum or Robinhood Chain. No listing fees, no approval required.

What is impermanent loss?

When you provide liquidity, prices change and the pool automatically rebalances. You may end up with more of the token that decreased in price. The difference vs. simply holding is called impermanent loss - it reverses if prices return to the original ratio.

How do I bridge DROP to another chain?

Use the built-in DROP Bridge. Select source and destination chain, enter amount, confirm. Completes in 20–60 seconds via LayerZero OFT burn-and-mint.

Is the team vesting verifiable?

Yes. 30,000,000 DROP is locked in an immutable cliff vesting contract on Arbitrum (0xB095af96e8f11Bda21689Bb0606546bBdBd8c512). Unlocks 2027-01-02. Verifiable on Arbiscan.

📖 Glossary

TermDefinition
AMMAutomated Market Maker - sets token prices using a formula (x·y=k) instead of an order book.
APYAnnual Percentage Yield - estimated yearly return on your LP position, based on 24h trading fees.
DEXDecentralized Exchange - trading platform where all transactions execute via smart contracts.
DVNDecentralized Verifier Network - independent entities that verify cross-chain messages (LayerZero Labs, Nethermind, Horizen).
GasFee paid to the blockchain network to execute a transaction. Paid in native token (ETH, AVAX, BNB…).
HoneypotMalicious token that can be bought but not sold. GoPlus scanning detects and excludes these.
Impermanent LossDifference in value between holding tokens in a pool vs. holding them in your wallet, caused by price changes.
LP TokenERC-20 token representing your proportional share of a liquidity pool's reserves.
OFTOmnichain Fungible Token - LayerZero standard for tokens that exist natively on multiple chains with unified supply.
Price ImpactHow much your trade moves the market price. Larger trades have more impact on low-liquidity pools.
SlippageDifference between expected and actual execution price of a trade.
TWAPTime-Weighted Average Price - average price over a time window (30 min) to reduce manipulation risk.
TVLTotal Value Locked - total USD value of all tokens deposited in a pool or protocol.