From xxyy-trade
Executes on-chain token trades (buy/sell/swap), queries transactions/trades, scans tokens, lists wallets, analyzes holders, and manages IP whitelists on Solana/ETH/BSC/Base via XXYY Open API.
npx claudepluginhub jimmy-holiday/xxyy-trade-skill --plugin xxyy-tradeThis skill is limited to using the following tools:
On-chain token trading and data queries on Solana, Ethereum, BSC, and Base via XXYY Open API.
Fetches real-time crypto buy/sell trades from smart money, KOL, and followed wallets on Solana, BSC, Base, Ethereum via GMGN API for whale tracking and copy-trading signals.
Executes on-chain DEX token swaps, queries wallet balances and portfolios, estimates gas, broadcasts transactions, and searches tokens on EVM/Solana chains using OKX Web3 API and Node scripts.
Queries OKX DEX tokens for search, trending/hot lists, liquidity pools, holder distribution (whales/snipers), risk metadata, buy/sell activity, trade feeds, top profits, prices (mcap/vol/liq/holders), cluster analysis. Handles API quotas/payments.
Share bugs, ideas, or general feedback.
On-chain token trading and data queries on Solana, Ethereum, BSC, and Base via XXYY Open API.
Set environment variables before use:
XXYY_API_KEY (required) -- Your XXYY Open API Key (format: xxyy_ak_xxxx). Get one at https://www.xxyy.io/apikeyXXYY_API_BASE_URL (optional) -- API base URL, defaults to https://www.xxyy.ioAll requests require header: Authorization: Bearer $XXYY_API_KEY
⚠ READ BEFORE FIRST USE. This skill executes real on-chain trades with real funds. There is no read-only API key — the same key signs both data queries and trades. Treat your
XXYY_API_KEYlike a hot wallet private key. The skill will surface a one-time risk acknowledgement on your first trade each session; after that, only trade details are confirmed so trading stays fast.
get_ip tool to check your current outbound IP before setting up the whitelist.STRICT: Only the endpoints listed below exist. Do NOT guess, infer, or construct any URL that is not explicitly documented here. If you need functionality not covered below, tell the user it is not supported.
Complete endpoint list:
POST /api/trade/open/api/swap— Buy / SellGET /api/trade/open/api/trade— Query TradeGET /api/trade/open/api/ping— PingPOST /api/trade/open/api/feed/{type}— Feed ScanGET /api/trade/open/api/query— Token QueryGET /api/trade/open/api/wallets— List WalletsGET /api/trade/open/api/wallet/info— Wallet InfoGET /api/trade/open/api/pnl— PNL QueryGET /api/trade/open/api/trades— Trade HistoryGET /api/trade/open/api/ip— Get IP (exempt from IP whitelist)GET /api/trade/open/api/kol-buy-list— KOL Buy ListGET /api/trade/open/api/tag-holder-buy-list— Tag Holder Buy ListGET /api/trade/open/api/label-list— Label List (tokens with specific labels, SOL only)POST /api/trade/open/api/signal-list— Signal List (AI trending signals, SOL/BSC)POST /api/trade/open/api/trending-list— Trending List (hot tokens by period, SOL/BSC)POST /api/trade/open/api/{chain}/launch— Launch Token (create new token, SOL/BSC)POST /api/trade/open/api/autoSell/createOrUpdate— Create/Update Auto-Sell RulesGET /api/trade/open/api/autoSell/list— List Auto-Sell RulesGET /api/trade/open/api/autoSell/delete— Delete Auto-Sell RulesGET /api/trade/open/api/autoSell/open— Toggle Auto-SellGET /api/trade/open/api/holders/{type}— Token Holder List
POST ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/swap
{
"chain": "sol",
"walletAddress": "<user_wallet>",
"tokenAddress": "<token_contract>",
"isBuy": true,
"amount": 0.1,
"tip": 0.0001,
"slippage": 20
}
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
chain | YES | string | sol / eth / bsc / base | Only these 4 values accepted |
walletAddress | YES | string | SOL: Base58 32-44 chars; EVM: 0x+40hex | Wallet address on XXYY platform, must match chain |
tokenAddress | YES | string | Valid contract address | Token contract address to buy |
isBuy | YES | boolean | true | Must be true for buy |
amount | YES | number | > 0 | Amount in native currency (SOL/ETH/BNB) |
tip | YES | number | SOL: 0.0001-0.1 (unit: SOL); EVM: 0.1-100 (unit: Gwei) | Priority fee for all chains. If not provided, falls back to priorityFee |
slippage | NO | number | 0-100 | Slippage tolerance %, default 20 |
model | NO | number | 1 or 2 | 1=anti-sandwich (default), 2=fast mode |
priorityFee | NO | number | >= 0 | Solana chain only. Extra priority fee in addition to tip |
POST ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/swap
{
"chain": "sol",
"walletAddress": "<user_wallet>",
"tokenAddress": "<token_contract>",
"isBuy": false,
"amount": 50,
"tip": 0.0001
}
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
chain | YES | string | sol / eth / bsc / base | Only these 4 values accepted |
walletAddress | YES | string | SOL: Base58 32-44 chars; EVM: 0x+40hex | Wallet address on XXYY platform, must match chain |
tokenAddress | YES | string | Valid contract address | Token contract address to sell |
isBuy | YES | boolean | false | Must be false for sell |
amount | YES | number | 1-100 | Sell percentage. Example: 50 = sell 50% of holdings |
tip | YES | number | SOL: 0.0001-0.1 (unit: SOL); EVM: 0.1-100 (unit: Gwei) | Priority fee for all chains. If not provided, falls back to priorityFee |
slippage | NO | number | 0-100 | Slippage tolerance %, default 20 |
model | NO | number | 1 or 2 | 1=anti-sandwich (default), 2=fast mode |
priorityFee | NO | number | >= 0 | Solana chain only. Extra priority fee in addition to tip |
tip (required) -- Universal priority fee for ALL chains. EVM chains (eth/bsc/base) use tip as the priority fee. If tip is not provided, the API falls back to priorityFee.
priorityFee (optional) -- Only effective on Solana chain. Solana supports both tip and priorityFee simultaneously.GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/trade?txId=<tx_id>
Response fields: txId, status (pending/success/failed), statusDesc, chain, tokenAddress, walletAddress, isBuy, baseAmount, quoteAmount
GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/trades?walletAddress=<wallet>&chain=<chain>
Paginated query of successful trade records for a specific wallet. Only returns completed transactions, sorted by creation time (newest first).
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
walletAddress | YES | string | Wallet address | Must belong to current API Key user |
chain | YES | string | sol / eth / bsc / base | Chain identifier (required) |
tokenAddress | NO | string | Contract address | Filter by specific token |
pageNum | NO | int | >= 1 | Page number, default 1 |
pageSize | NO | int | 1-20 | Items per page, default 20 |
{
"code": 200,
"data": {
"pageNum": 1,
"pageSize": 10,
"total": 56,
"list": [
{
"txId": "5xYz...",
"status": 2,
"statusDesc": "success",
"chain": "sol",
"tokenAddress": "EPjF...",
"walletAddress": "5xYz...",
"isBuy": 1,
"baseAmount": 0.5,
"quoteAmount": 1000,
"createTime": "2026-03-18T10:00:00",
"updateTime": "2026-03-18T10:00:05"
}
]
}
}
Response fields: txId, status (fixed 2=success), statusDesc, chain, tokenAddress, walletAddress, isBuy (1=buy, 0=sell), baseAmount, quoteAmount, createTime, updateTime
GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/ping
Returns "pong" if API key is valid.
POST ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/feed/{type}?chain={chain}
Retrieve Meme token lists: newly launched, almost graduated, or graduated.
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
type | YES | path string | NEW / ALMOST / COMPLETED | NEW = newly launched, ALMOST = almost graduated, COMPLETED = graduated |
chain | NO | query string | sol / bsc | Only these 2 chains supported. Default sol |
All filters are optional. Range parameters use comma-separated string format "min,max". Leave one side empty to set only min or max (e.g. "100," = min 100, ",50" = max 50).
| Param | Type | Description | Example |
|---|---|---|---|
dex | string[] | DEX platform filter | See DEX Values by Chain below |
quoteTokens | string[] | Quote token filter | See quoteTokens Values by Chain below |
link | string[] | Social media link filter | ["x","tg","web"] |
keywords | string[] | Token name/symbol keyword match | ["pepe","doge"] |
ignoreWords | string[] | Ignore keywords | ["scam"] |
mc | string | Market cap range (USD) | "10000,500000" |
liq | string | Liquidity range (USD) | "1000," |
vol | string | Trading volume range (USD) | "5000,100000" |
holder | string | Holder count range | "50," |
createTime | string | Creation time range (minutes from now) | "1,20" |
tradeCount | string | Trade count range | "100," |
buyCount | string | Buy count range | "50," |
sellCount | string | Sell count range | "10," |
devBuy | string | Dev buy amount range (native token) | "0.001," |
devSell | string | Dev sell amount range (native token) | "0.001," |
devHp | string | Dev holding % range | ",60" |
topHp | string | Top10 holding % range | ",60" |
insiderHp | string | Insider holding % range | ",50" |
bundleHp | string | Bundle holding % range | ",60" |
newWalletHp | string | New wallet holding % range | ",30" |
progress | string | Graduation progress % range (NEW/ALMOST only) | "1,90" |
snipers | string | Sniper count range | ",5" |
xnameCount | string | Twitter rename count range | ",3" |
tagHolder | string | Watched wallet buy count range | "1,2" |
kol | string | KOL buy count range | "1,2" |
dexPay | int | DexScreener paid, 1 = filter paid only | 1 |
oneLink | int | At least one social link, 1 = enabled | 1 |
live | int | Currently live streaming, 1 = filter live | 1 |
pump, pumpmayhem, bonk, heaven, believe, daosfun, launchlab, mdbc, jupstudio, mdbcbags, trends, moonshotn, boop, moon, timefour, four_agent, bnonly, flapsol, usdc, usd1bnb, usdt, usdc, usd1, aster, u{
"code": 200,
"msg": "success",
"data": {
"items": [
{
"tokenAddress": "...",
"symbol": "TOKEN",
"name": "Token Name",
"createTime": 1773140232851,
"dexName": "PUMPFUN",
"launchPlatform": { "name": "PUMPFUN", "progress": "12.89", "completed": false },
"holders": 3,
"priceUSD": 0.000003046,
"marketCapUSD": 3046.80,
"devHoldPercent": 12.48,
"hasLink": false,
"snipers": 0,
"quoteToken": "sol"
}
]
},
"success": true
}
Key response fields: tokenAddress, symbol, name, createTime, dexName, launchPlatform (name/progress/completed), holders, priceUSD, marketCapUSD, devHoldPercent, hasLink, snipers, volume, tradeCount, buyCount, sellCount, topHolderPercent, insiderHp, bundleHp
GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/query?ca={contract_address}&chain={chain}
Query token details: price, security checks, tax rates, holder distribution, etc.
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
ca | YES | string | Contract address | Token contract address |
chain | NO | string | sol / eth / bsc / base | Default sol. All 4 chains supported |
{
"code": 200,
"msg": "success",
"data": {
"chainId": "bsc",
"tokenAddress": "0x...",
"baseSymbol": "TOKEN",
"tradeInfo": {
"marketCapUsd": 15464629.87,
"price": 0.01546,
"holder": 7596,
"hourTradeNum": 20611,
"hourTradeVolume": 2564705.05
},
"pairInfo": {
"pairAddress": "0x...",
"pair": "TOKEN - WBNB",
"liquidateUsd": 581750.57,
"createTime": 1772182240000
},
"securityInfo": {
"honeyPot": false,
"openSource": true,
"noOwner": true,
"locked": true
},
"taxInfo": { "buy": "0", "sell": "0" },
"linkInfo": { "tg": "", "x": "", "web": "" },
"dev": { "address": "0x...", "pct": 0.0 },
"topHolderPct": 25.14,
"topHolderList": [
{ "address": "0x...", "balance": 98665702.34, "pct": 9.86 }
]
},
"success": true
}
Response groups:
GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/wallets
Query the current user's wallet list (with balances) for a specific chain.
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
chain | NO | string | sol / eth / bsc / base | Default sol |
pageNum | NO | int | >= 1 | Page number, default 1 |
pageSize | NO | int | 1-20 | Items per page, default 20 |
tokenAddress | NO | string | Contract address | Returns token holdings per wallet |
{
"code": 200,
"msg": "success",
"data": {
"totalCount": 3,
"pageSize": 20,
"totalPage": 1,
"currPage": 1,
"list": [
{
"userId": 12345,
"chain": 1,
"name": "Wallet-1",
"address": "5xYz...abc",
"balance": 1.523456789,
"topUp": 1,
"tokenBalance": null,
"createTime": "2025-01-01 00:00:00",
"updateTime": "2025-06-01 12:00:00",
"isImport": false
}
]
},
"success": true
}
Response fields:
tokenAddress is provided). Contains amount, decimals, uiAmount, uiAmountString| Code | Chain |
|---|---|
| 1 | SOL |
| 2 | BSC |
| 3 | ETH |
| 6 | BASE |
GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/wallet/info
Query a single wallet's details (native balance + optional token balance).
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
walletAddress | YES | string | Wallet address | EVM chains are case-insensitive |
chain | NO | string | sol / eth / bsc / base | Default sol |
tokenAddress | NO | string | Contract address | Returns token holdings for this token |
{
"code": 200,
"msg": "success",
"data": {
"address": "5xY...abc",
"name": "MyWallet",
"chain": 1,
"isImport": false,
"topUp": 0,
"balance": 1.234567,
"tokenBalance": {
"amount": "1000000",
"uiAmount": 1.0,
"decimals": 6
}
},
"success": true
}
Response fields:
tokenAddress is provided. Contains amount, uiAmount, decimalsGET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/pnl?walletAddress=<wallet>&tokenAddress=<token>&chain=<chain>
Query PNL (profit and loss) data for a specific wallet-token pair. Returns buy/sell totals, current holdings, and profit in both native currency and USD. Covers the last 30 days.
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
walletAddress | YES | string | Wallet address | Must belong to current API Key user |
tokenAddress | YES | string | Contract address | Token contract address |
chain | YES | string | sol / eth / bsc / base | Chain identifier (required) |
{
"code": 200,
"data": {
"wallet": "5xYz...",
"tokenMint": "EPjF...",
"balance": 1.5,
"buy": 2.0,
"sell": 0.8,
"hold": 1.2,
"pnl": 0.5,
"pnlusd": 75.0,
"holdTokenNum": 1000,
"holdTokenPercent": 0.05,
"lastTradeTime": 1710000000000,
"meta": {
"symbol": "TOKEN",
"dexId": "raydium",
"pairAddress": "xxx"
}
}
}
Response fields:
GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/ip
Get the current outbound IP address of this server. Use this to check which IP to add to your API Key's whitelist. This endpoint is exempt from IP whitelist restrictions — it will work even if your IP is not whitelisted.
No parameters required.
{
"code": 200,
"data": {
"ip": "203.0.113.42"
},
"success": true
}
Response fields:
GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/kol-buy-list?chain={chain}
Get KOL (Key Opinion Leader) recent buy list. Shows tokens recently purchased by influential traders.
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
chain | NO | string | sol / bsc | Default sol. Only SOL and BSC supported |
{
"code": 200,
"msg": "success",
"data": [
{
"tokenMeta": {
"symbol": "TOKEN",
"dexId": "pump",
"dexIcon": "https://...",
"imageUrl": "https://...",
"pairAddress": "PairAddress...",
"mint": "TokenMintAddress..."
},
"priceNative": 0.0000001,
"priceUsd": 0.0000085,
"marketCap": 8500.0,
"priceChange24h": 15.0,
"walletBuyCnt": 2,
"lastTradeTime": 1711234567890,
"holder": 120,
"volumeNative": 5000.0,
"volumeUSD": 5000.0,
"walletBuyItemList": [
{
"wallet": "KolWalletAddress...",
"walletName": "KOL Name",
"walletBuyAmount": 1.5
}
]
}
]
}
Response fields:
GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/tag-holder-buy-list?chain={chain}
Get tag holder (Smart Money, Whale, etc.) recent buy list. Shows tokens recently purchased by tagged wallets.
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
chain | NO | string | sol / bsc | Default sol. Only SOL and BSC supported |
{
"code": 200,
"msg": "success",
"data": [
{
"tokenMeta": {
"symbol": "TOKEN",
"dexId": "pump",
"dexIcon": "https://...",
"imageUrl": "https://...",
"pairAddress": "PairAddress...",
"mint": "TokenMintAddress..."
},
"priceNative": 0.0000001,
"priceUsd": 0.0000085,
"marketCap": 8500.0,
"priceChange24h": -5.0,
"walletBuyCnt": 1,
"lastTradeTime": 1711234567890,
"holder": 250,
"volumeNative": 12000.0,
"volumeUSD": 12000.0,
"walletBuyItemList": [
{
"wallet": "HolderWalletAddress...",
"walletName": "Smart Money",
"walletBuyAmount": 2.5
}
]
}
]
}
Response fields:
GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/label-list?chain={chain}&labelType={labelType}
Get tokens with specific labels (e.g., AGENT_KOL marked tokens). Currently only supports Solana chain.
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
chain | NO | string | sol / bsc | Default sol. Supports SOL and BSC |
labelType | NO | string | AGENT_KOL | Default AGENT_KOL. Currently only AGENT_KOL supported |
{
"code": 200,
"msg": "success",
"data": [
{
"pairAddress": "PairAddress...",
"dexId": "raydium",
"dexName": "Raydium",
"symbol": "TOKEN",
"name": "Token Name",
"tokenAddress": "TokenAddress...",
"imageUrl": "https://...",
"priceUSD": "0.00123",
"marketCapUSD": "123456.78",
"priceChange24H": "15.5",
"launchFrom": "pump",
"links": {
"tg": "https://t.me/...",
"x": "https://x.com/...",
"web": "https://..."
}
}
],
"success": true
}
Response fields:
POST ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/signal-list?type={type}&chain={chain}
Get AI trend signal list (e.g., open-ai-trending tokens). Supports SOL and BSC chains.
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
type | NO | string | open-ai-trending | Default open-ai-trending. Currently only open-ai-trending supported |
chain | NO | string | sol / bsc | Default sol. Supports SOL and BSC |
Request body: Empty JSON object {}
{
"code": 200,
"msg": "success",
"data": [
{
"pairAddress": "PairAddress...",
"dexId": "raydium",
"dexName": "Raydium",
"symbol": "TOKEN",
"name": "Token Name",
"tokenAddress": "TokenAddress...",
"imageUrl": "https://...",
"priceUSD": "0.00456",
"marketCapUSD": "456789.12",
"priceChange24H": "-5.2",
"launchFrom": "pump",
"links": {
"tg": "https://t.me/...",
"x": "https://x.com/...",
"web": "https://..."
}
}
],
"success": true
}
Response fields: Same as Label List (see above)
POST ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/trending-list?chain={chain}
Get trending/hot token list. Shows the most active tokens within a given time period. Supports SOL and BSC chains.
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
chain | NO | string | sol / bsc | Default sol. Only SOL and BSC supported |
period | YES | string | 1M / 5M / 30M / 1H / 6H / 24H | Time period for trending. Not all periods available for all internal categories |
Request body:
{ "period": "5M" }
{
"code": 200,
"msg": "success",
"data": [
{
"imageUrl": "https://...",
"createTime": "1774581395318",
"symbol": "TOKEN",
"name": "Token Name",
"dexId": "pfamm",
"headerImage": "https://...",
"pairAddress": "PairAddress...",
"tokenAddress": "TokenMintAddress...",
"priceUSD": "0.00005670",
"priceChange24H": "98.00",
"launchPlatform": {
"name": "PUMP",
"progress": 85,
"completed": false,
"launchedPair": null
},
"dexName": "Pump AMM",
"dexIcon": "https://...",
"marketCapUSD": "56708.41",
"links": { "tg": "", "x": "https://x.com/...", "web": "" },
"security": {
"mintAuthority": { "value": false, "passed": true },
"freezeAuthority": { "value": false, "passed": true },
"topHolder": { "value": 18.61, "passed": false },
"lpBurned": { "value": 100.0, "passed": true }
},
"holders": 641,
"devHoldPercent": "0.0000000000000",
"smartWallets": { "total": 3, "records": [{ "wallet": "...", "action": "buy", "nativeAmount": "1.5" }] },
"sourceDexIcon": "https://...",
"launchFrom": "pump",
"extendFlags": { "live": false },
"volume": 142092.91,
"liquid": 20995.35,
"buyCount": 2123,
"sellCount": 1620,
"auditInfo": {
"devHp": 0,
"snipers": 20,
"insiderHp": 0,
"newHp": 10.63,
"bundleHp": 0,
"dexPaid": true
}
}
]
}
Response fields:
POST ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/{chain}/launch
Launch (create) a new token on SOL or BSC chain. Optionally buy an initial amount of the newly created token.
| Param | Required | Type | Valid values | Description |
|---|---|---|---|---|
chain | YES | string | sol / bsc | Only SOL and BSC supported |
| Param | Required | Type | Description |
|---|---|---|---|
walletAddress | YES | string | Wallet address (must belong to the API Key's account) |
name | YES | string | Token name |
symbol | YES | string | Token symbol |
buyAmount | NO | string | Native token amount for initial buy. "0" = create only. Default: "0" |
solOptions | Sol only | object | Solana chain specific options (see below) |
bscOptions | BSC only | object | BSC chain specific options (see below) |
buyAmount Limits:
| Param | Required | Type | Default | Description |
|---|---|---|---|---|
uri | YES | string | - | Metadata JSON URI (Metaplex standard, containing name/symbol/description/image) |
slippage | NO | integer | 100 | Slippage in basis points. 100 = 1%. Only effective when buyAmount > 0 |
priorityFee | NO | long | 100000 | Priority fee in lamports |
tipFee | NO | long | 100000 | Tip fee in lamports |
model | NO | integer | 1 | 1 = MEV protection, 2 = fast mode |
creator | NO | string | null | Creator address (base58). Defaults to signing wallet |
mayhemMode | NO | boolean | false | Pump mayhem mode |
cashback | NO | boolean | false | Pump cashback |
Platform fee (1%) is charged automatically when buyAmount > 0, not configurable.
| Param | Required | Type | Default | Description |
|---|---|---|---|---|
desc | YES | string | - | Token description |
image | YES | string | - | Image URL / base64 / data URI (≤5MB) |
label | NO | string | "Meme" | Category: Meme, AI, Defi, Games, Infra, De-Sci, Social, Depin, Charity, Others |
gasPrice | NO | string | null | Custom gas price (wei). Auto-fetched if not provided |
model | NO | integer | 1 | 1 = MEV protection (bundle), 2 = fast mode |
feePlan | NO | boolean | false | Fee plan toggle |
webUrl | NO | string | "" | Website URL |
twitterUrl | NO | string | "" | Twitter URL |
telegramUrl | NO | string | "" | Telegram URL |
tokenTaxInfo | NO | object | null | Token tax configuration (see below) |
| Param | Required | Type | Description |
|---|---|---|---|
feeRate | YES | integer | Trading fee rate. Fixed options: 1, 3, 5, 10 (representing 1%-10%) |
burnRate | YES | integer | Burn rate (0-100) |
divideRate | YES | integer | Dividend distribution rate (0-100) |
liquidityRate | YES | integer | Liquidity pool rate (0-100) |
recipientRate | YES | integer | Recipient allocation rate (0-100) |
minSharing | Conditional | long | Min token amount for dividend participation (in ether). Required when divideRate > 0. Format: d × 10^n (n≥5, 1≤d≤9) |
recipientAddress | Conditional | string | Recipient address (0x...). Required when recipientRate > 0 |
Constraint: burnRate + divideRate + liquidityRate + recipientRate must equal 100.
Success:
{
"code": 200,
"msg": "success",
"data": {
"txHash": "transaction hash or signature",
"tokenAddress": "newly created token address",
"success": true
},
"success": true
}
On-chain execution failed:
{
"code": 200,
"msg": "success",
"data": {
"txHash": "transaction hash or signature",
"tokenAddress": null,
"success": false
},
"success": true
}
| Code | Message | Description |
|---|---|---|
| 8004 | wrong_parameter | Missing or invalid required fields |
| 8006 | insufficient_balance | Wallet balance below minimum |
| 8060 | api_key_invalid | Invalid API Key |
| 8062 | api_key_rate_limited | QPS limit exceeded |
| 8106 | open_api_launch_chain_not_supported | Chain not supported (only sol/bsc) |
| 8107 | open_api_launch_buy_amount_exceed | buyAmount exceeds max (SOL: 100, BSC: 20) |
| 8108 | open_api_launch_failed | Node service call failed |
| 9006 | wallet_not_exists | Wallet not found or not owned by current account |
/swap, /launch, /autoSell/*), confirm with the user: chain, token address, amount/percentage, buy or sell, and which wallet. Prefer an inline summary; do not block the user with multiple back-and-forth prompts once details are clear.
API Key = wallet access, no read-only key exists, IP whitelist recommended — and have them confirm once via AskUserQuestion. Subsequent writes in the same session skip this risk block and only confirm trade details for speed.chain must be one of sol/eth/bsc/baseisBuy must be boolean true or falseamount for buy: must be > 0; for sell: must be 1-100tip must be provided; SOL chain: 0.0001-0.1 (unit: SOL); EVM chains: 0.1-100 (unit: Gwei). If tip is outside the recommended range, must warn the user about potentially high cost and require explicit confirmation before proceedingmodel if provided must be 1 or 2priorityFee if provided only applies to Solana chainNEW, ALMOST, COMPLETED (uppercase). Reject any other value.sol and bsc. If user specifies eth or base, reject and inform them that Feed scanning is only available on Solana and BSC chains.tokenAddress — only display newly appeared tokenstokenAddress set to avoid repeatscode == 200 with success == true means success; code == 300 is server error (inform user to retry later); code == 8060/8061 means stop immediately; code == 8062 means wait 2 seconds and retry.ca) must be provided. If missing, ask user for it.sol, eth, bsc, base. Default sol.securityInfo.honeyPot == true, display a prominent warning that this token is a honeypot and trading it is extremely risky.taxInfo.buy or taxInfo.sell > 5%, warn user about high tax rates.sol.tokenAddress to show per-wallet balance.Manage take-profit and stop-loss rules. When auto-sell is enabled, buying a token automatically creates pending sell orders based on these rules.
GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/autoSell/list
No parameters. Returns all rules for current user.
Response:
{
"code": 200,
"data": [
{
"id": 123,
"taskFlag": 0,
"pricePercent": 30,
"sellPercent": 100,
"isTrailing": 1,
"createTime": "2026-04-09T08:00:00.000+00:00"
}
],
"success": true
}
Fields:
taskFlag: 0 = stop-loss (止损), 1 = take-profit (止盈)pricePercent: trigger percentage (e.g. 30 = price drops/rises 30% from buy price)sellPercent: percentage of holdings to sell (0-100)isTrailing: 1 = trailing stop enabled, 0 = disabled. Only effective for stop-loss rules (taskFlag=0). When enabled, the stop-loss price automatically trails upward as token price rises, locking in profits.POST ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/autoSell/createOrUpdate
⚠️ This is a full replacement -- all existing rules are deleted and replaced with the provided list. Always include ALL desired rules (both new and existing) in the request.
{
"infos": [
{ "taskFlag": 1, "pricePercent": 100, "sellPercent": 50, "isTrailing": 0 },
{ "taskFlag": 0, "pricePercent": 30, "sellPercent": 100, "isTrailing": 1 }
]
}
Behavior notes:
isTrailing is ignored for take-profit rules (taskFlag=1) and always stored as 0.GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/autoSell/delete?ids=123,456
ids (required): comma-separated rule IDs to delete. Only deletes rules owned by current user.GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/autoSell/open
| Param | Required | Default | Description |
|---|---|---|---|
| flag | yes | — | true to enable, false to disable auto-sell |
| tokenAddress | no | "" | If set, only close pending orders for this token |
| closeAll | no | false | If true, close ALL pending auto-sell orders |
Behavior notes:
closeAll=true removes all pending limit orders generated by auto-sell rules.tokenAddress and closeAll are only relevant when flag=false.Query token holder information including top holders, followed wallets, KOL wallets, and insider wallets.
GET ${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/holders/{type}
| Param | Type | Required | Description |
|---|---|---|---|
| type | path | yes | Holder type: top (top 20 holders), follow (followed wallets), kol (KOL wallets), insider (insider wallets) |
| mint | query | no | Token contract address |
| pair | query | no | Pool/pair address |
| wallet | query | no | Wallet address to filter |
| chain | query | no | Blockchain, default sol. Supports bsc, base, etc. |
Response fields (per holder):
address — Wallet addressname — Wallet name (only for followed wallets, null otherwise)holdAmount — Token amount heldholdPercent — Hold percentage (e.g. "39.16" = 39.16%)holdValueNative — Hold value in native token (SOL/BNB)holdValueUSD — Hold value in USDtags — Labels: NEW, SNIPER, BUNDLE, INSIDER, LPtradeCount / buyCount / sellCount — Trade statistics (nullable)profitNative / profitUSD / profitPercent — Profit data (nullable)avgBuyPrice / avgSellPrice — Average trade prices (nullable)tokenSourceType — Token source: 1 = bought, 2 = transferrednativeBalance — Native token balance of the walletBehavior notes:
mint or pair should be provided to get meaningful results.follow type returns holders from the user's followed wallet list — results depend on user's follow configuration.Trigger: Automatically execute once when the skill is first activated in a session. Run only once per session.
$XXYY_API_KEY is set in the environment.export XXYY_API_KEY=xxyy_ak_xxxxsol, eth, bsc, base) via List Wallets API. For each chain, pick the index-0 wallet as the default; if no wallet exists, show "N/A". Display:
修改默认钱包 {chain} {wallet name or address} to change defaultsWhen user says "修改默认钱包 {chain} {wallet name or address}":
If the user sends an action command (e.g., buy/sell/scan) before onboarding completes, silently finish the detection in the background and proceed to handle their command directly.
These rules apply to all three strategies below.
Trigger: User provides a token contract address with buy/sell intent (e.g., "买 0x... 0.1 BNB", "sell 50% of ...").
0x prefix → EVM chain. If the specific EVM chain (eth/bsc/base) cannot be determined, ask user. Base58 format → SOL.Trigger: User says "AI扫链", "AI scan", "auto scan", "smart scan", or "开始AI扫链".
Three tiers run in parallel each polling round. These are pre-validated filter parameters; users can modify them.
Tier A — NEW (freshly launched tokens):
{"topHp":"22,40","snipers":",6","insiderHp":",8","holder":"10,","mc":"8000,","oneLink":1,"createTime":"1,70"}
Feed type: NEW
Tier B — ALMOST (near graduation):
{"createTime":"1,120","dexPay":1,"mc":"13000,"}
Feed type: ALMOST
Tier C — COMPLETED (graduated tokens):
{"createTime":"1,240","topHp":"18,","holder":"300,","mc":"20000,160000"}
Feed type: COMPLETED
tokenAddress across all rounds and chains. Only display newly discovered tokens.For each new token found, show:
| Field | Source |
|---|---|
| Symbol | symbol |
| Chain | request chain |
| Price | priceUSD |
| Market Cap | marketCapUSD |
| Holders | holders |
| Dev Hold % | devHoldPercent |
| Platform + Progress | launchPlatform.name + launchPlatform.progress |
| Matched Tier | A / B / C |
After displaying new tokens, user can:
Trigger: User says "推文扫链", "tweet scan", "twitter scan", or "开始推文扫链".
@heyibinance, @cz_binance — recommended defaults. User can modify before or during scanning.
Every 5 seconds:
POST /feed/NEW?chain=bsc with body {"oneLink":1} to get new BSC tokens with social links.tokenAddress using seen_token_addresses set.hasLink == true:
a. Call GET /query?ca={tokenAddress}&chain=bsc to fetch full token details including linkInfo.
b. Check if linkInfo.x contains any monitored account handle (case-insensitive substring match).
c. Also deduplicate by linkInfo.x URL using seen_twitter_urls set.Display a status line during scanning:
[HH:MM:SS] Scanning BSC... (watching: @heyibinance, @cz_binance) #N
Where #N is the count of tokens scanned so far.
| Chain | Format | Example pattern |
|---|---|---|
| SOL | Base58, 32-44 characters | 7xKX... |
| ETH / BSC / Base | 0x + 40 hex characters | 0x1a2B... |
https://solscan.io/tx/{txId}https://etherscan.io/tx/{txId}https://bscscan.com/tx/{txId}https://basescan.org/tx/{txId}| Code | Meaning | Scope |
|---|---|---|
| 200 | Success | Data query APIs (Feed, Token Query) |
| 300 | Server error — inform user to retry later | Data query APIs (Feed, Token Query) |
| 8060 | API Key invalid | All APIs |
| 8061 | API Key disabled | All APIs |
| 8062 | Rate limited | All APIs — data query: retry after 2s; trade: retry after 1s (except swap, see Execution Rules #5) |
| 8063 | IP not in whitelist — use get_ip to check current IP, update whitelist at https://www.xxyy.io/apikey | All APIs |
# Buy
curl -s -X POST "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/swap" \
-H "Authorization: Bearer $XXYY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"chain":"sol","walletAddress":"...","tokenAddress":"...","isBuy":true,"amount":0.1,"tip":0.0001}'
# Query Trade
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/trade?txId=..." \
-H "Authorization: Bearer $XXYY_API_KEY"
# Feed - Scan newly launched tokens on SOL (with filters)
curl -s -X POST "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/feed/NEW?chain=sol" \
-H "Authorization: Bearer $XXYY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"mc":"10000,500000","holder":"50,","insiderHp":",50"}'
# Token Query
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/query?ca=TOKEN_ADDRESS&chain=sol" \
-H "Authorization: Bearer $XXYY_API_KEY"
# List Wallets
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/wallets?chain=sol" \
-H "Authorization: Bearer $XXYY_API_KEY"
# Wallet Info
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/wallet/info?walletAddress=YOUR_WALLET&chain=sol" \
-H "Authorization: Bearer $XXYY_API_KEY"
# PNL Query
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/pnl?walletAddress=YOUR_WALLET&tokenAddress=TOKEN_ADDRESS&chain=sol" \
-H "Authorization: Bearer $XXYY_API_KEY"
# Trade History
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/trades?walletAddress=YOUR_WALLET&chain=sol&pageNum=1&pageSize=10" \
-H "Authorization: Bearer $XXYY_API_KEY"
# Get IP (exempt from IP whitelist)
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/ip" \
-H "Authorization: Bearer $XXYY_API_KEY"
# KOL Buy List
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/kol-buy-list?chain=sol" \
-H "Authorization: Bearer $XXYY_API_KEY"
# Tag Holder Buy List
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/tag-holder-buy-list?chain=bsc" \
-H "Authorization: Bearer $XXYY_API_KEY"
# Label List (SOL only)
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/label-list?chain=sol&labelType=AGENT_KOL" \
-H "Authorization: Bearer $XXYY_API_KEY"
# Signal List (SOL/BSC)
curl -s -X POST "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/signal-list?type=open-ai-trending&chain=sol" \
-H "Authorization: Bearer $XXYY_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
# Trending List (SOL/BSC)
curl -s -X POST "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/trending-list?chain=sol" \
-H "Authorization: Bearer $XXYY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"period": "5M"}'
# Launch Token - SOL (create only)
curl -s -X POST "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/sol/launch" \
-H "Authorization: Bearer $XXYY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"walletAddress":"<SOL_WALLET>","name":"My Token","symbol":"MTK","buyAmount":"0","solOptions":{"uri":"https://arweave.net/<metadata_id>","slippage":10000,"priorityFee":100000,"tipFee":100000,"model":1}}'
# Launch Token - SOL (create + buy 0.5 SOL)
curl -s -X POST "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/sol/launch" \
-H "Authorization: Bearer $XXYY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"walletAddress":"<SOL_WALLET>","name":"My Token","symbol":"MTK","buyAmount":"0.5","solOptions":{"uri":"https://arweave.net/<metadata_id>","slippage":10000,"priorityFee":100000,"tipFee":100000,"model":1,"cashback":true}}'
# Launch Token - BSC (create + buy 0.001 BNB)
curl -s -X POST "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/bsc/launch" \
-H "Authorization: Bearer $XXYY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"walletAddress":"<BSC_WALLET>","name":"Exchange the world","symbol":"ETW","buyAmount":"0.001","bscOptions":{"desc":"Exchange the world","image":"https://example.com/image.png","label":"Meme","gasPrice":"3000000000","model":1,"feePlan":false}}'
# Launch Token - BSC (with token tax)
curl -s -X POST "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/bsc/launch" \
-H "Authorization: Bearer $XXYY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"walletAddress":"<BSC_WALLET>","name":"Tax Token","symbol":"TAXT","buyAmount":"0.1","bscOptions":{"desc":"A token with tax","image":"https://example.com/image.png","label":"Defi","model":1,"tokenTaxInfo":{"feeRate":5,"burnRate":20,"divideRate":30,"liquidityRate":0,"recipientRate":50,"minSharing":100000,"recipientAddress":"0x..."}}}'
# Auto-Sell: List rules
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/autoSell/list" \
-H "Authorization: Bearer $XXYY_API_KEY"
# Auto-Sell: Create rules (full replacement - include ALL desired rules)
curl -s -X POST "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/autoSell/createOrUpdate" \
-H "Authorization: Bearer $XXYY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"infos":[{"taskFlag":1,"pricePercent":100,"sellPercent":50,"isTrailing":0},{"taskFlag":0,"pricePercent":30,"sellPercent":100,"isTrailing":1}]}'
# Auto-Sell: Delete rules by ID
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/autoSell/delete?ids=123,456" \
-H "Authorization: Bearer $XXYY_API_KEY"
# Auto-Sell: Enable
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/autoSell/open?flag=true" \
-H "Authorization: Bearer $XXYY_API_KEY"
# Auto-Sell: Disable and close all pending orders
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/autoSell/open?flag=false&closeAll=true" \
-H "Authorization: Bearer $XXYY_API_KEY"
# Holders: Top holders (SOL)
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/holders/top?mint=<TOKEN_ADDRESS>&chain=sol" \
-H "Authorization: Bearer $XXYY_API_KEY"
# Holders: KOL holders (BSC, with pair)
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/holders/kol?mint=<TOKEN_ADDRESS>&pair=<PAIR_ADDRESS>&chain=bsc" \
-H "Authorization: Bearer $XXYY_API_KEY"
# Holders: Followed wallets
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/holders/follow?mint=<TOKEN_ADDRESS>&chain=sol" \
-H "Authorization: Bearer $XXYY_API_KEY"
# Holders: Insider wallets
curl -s "${XXYY_API_BASE_URL:-https://www.xxyy.io}/api/trade/open/api/holders/insider?mint=<TOKEN_ADDRESS>&chain=sol" \
-H "Authorization: Bearer $XXYY_API_KEY"