@sperax/tool-pancakeswap
v0.2.1
Published
PancakeSwap V3 DEX data — top pools, token info, swap quotes, CAKE farming, pool analytics, and recent trades — an agent tool for SperaxOS.
Maintainers
Readme
@sperax/tool-pancakeswap
PancakeSwap V3 DEX data — top pools, token info, swap quotes, CAKE farming, pool analytics, and recent trades
PancakeSwap is an agent tool from SperaxOS, packaged headless so you can call
it from any agent framework. It ships two things: the manifest — a JSON-Schema function
definition a model can call — and the executor that runs the call against the real API.
There is no UI layer and no framework lock-in. It works anywhere TypeScript runs.
Install
npm install @sperax/tool-pancakeswapUsage
Call it directly
import { pancakeSwapExecutor } from '@sperax/tool-pancakeswap';
const result = await pancakeSwapExecutor.invoke('getTopPools', {"chain":"<chain>","limit":1}, {
messageId: 'msg-1',
});
console.log(result.content); // prose summary written for the model to read
console.log(result.state); // typed data payload for your own UIGive it to a model
import Anthropic from '@anthropic-ai/sdk';
import { PancakeSwapManifest, pancakeSwapExecutor } from '@sperax/tool-pancakeswap';
const client = new Anthropic();
const response = await client.messages.create({
model: 'claude-opus-4-8',
max_tokens: 1024,
messages: [{ role: 'user', content: 'Ask something this tool can answer' }],
tools: PancakeSwapManifest.api.map((api) => ({
name: api.name,
description: api.description,
input_schema: api.parameters,
})),
});
for (const block of response.content) {
if (block.type !== 'tool_use') continue;
const result = await pancakeSwapExecutor.invoke(block.name, block.input, { messageId: response.id });
console.log(result.content);
}PancakeSwapManifest.api is already in JSON-Schema form, so it maps onto any tool-calling API —
Anthropic, OpenAI, the Vercel AI SDK, or an MCP server — without translation.
Every executor returns a BuiltinToolResult — { success, content, state }. content is
prose written for the model to read; state is the typed data payload for your own code.
Executors never throw: a failed call comes back as { success: false, content: '<reason>' },
so a network blip degrades the answer instead of crashing the agent loop.
Configuration
None. This tool calls a public API directly and needs no key or origin configuration.
Tool identifier
sperax-pancakeswap
API reference
getTopPools
Get top PancakeSwap V3 liquidity pools. Optionally filter by chain and sort by TVL, 24h volume, APR, or fees.
| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| chain | string | no | Filter by chain: "BNB Chain", "Ethereum", "Arbitrum", "Base", "zkSync Era", "Linea". Default: all chains. |
| limit | number | no | Maximum number of pools to return (default: 10, max: 25). |
| sortBy | string | no | Sort pools by: "tvl" (default), "volume24h", "apr", "fees24h". |
getTokenInfo
Get detailed token information on PancakeSwap including price, market cap, top pools, and 7d price chart. Pass the token contract address or symbol.
| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| chain | string | no | Chain to look up the token on. Default: "BNB Chain". |
| symbol | string | no | Token symbol (e.g., "CAKE", "WBNB", "ETH"). Used for fuzzy search. |
| tokenAddress | string | no | Token contract address (e.g., "0x..."). |
getSwapQuote
Get a swap quote from PancakeSwap V3 Smart Router. Shows the best route, expected output, price impact, and gas cost.
| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| amount | string | yes | Amount to swap in human-readable units (e.g., "1.5", "1000"). |
| chain | string | no | Chain to swap on. Default: "BNB Chain". |
| fromToken | string | yes | Source token symbol or address (e.g., "BNB", "USDT", "0x..."). |
| slippage | number | no | Slippage tolerance in percent (default: 0.5). |
| toToken | string | yes | Destination token symbol or address (e.g., "CAKE", "USDC", "0x..."). |
getFarmingPools
Get CAKE farming pools with APR breakdown (LP fees + CAKE rewards). Optionally filter by chain and minimum APR.
| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| chain | string | no | Filter by chain. Default: all chains. |
| limit | number | no | Maximum number of farms to return (default: 10). |
| minApr | number | no | Minimum total APR filter. |
| sortBy | string | no | Sort by: "totalApr" (default), "stakedTvl". |
getPoolDetail
Get detailed analytics for a specific PancakeSwap pool, including TVL, volume, fees, APR, and recent trades.
| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| chain | string | no | Chain the pool is on. Default: "BNB Chain". |
| poolAddress | string | yes | Pool contract address. |
getRecentTrades
Get recent trades from a PancakeSwap pool or for a specific token. Shows trade direction, size, and maker address.
| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| chain | string | no | Chain. Default: "BNB Chain". |
| limit | number | no | Number of trades to return (default: 20, max: 50). |
| poolAddress | string | no | Pool address to fetch trades from. |
| tokenAddress | string | no | Token address to fetch trades for (across all pools). |
Types
Shared types come from @sperax/agent-tools-core:
BuiltinToolManifest, BuiltinToolResult, BuiltinToolContext, and the BaseExecutor
class every tool executor extends.
Related
@sperax/agent-tools-core— the tool contract- All SperaxOS agent tools — tool-pancakeswap is one of many
- SperaxOS — the agent workspace these tools were built for
License
Apache-2.0
