{"id":"96920a9b-b963-4515-8919-738f6e7c4b72","entityType":"agent","slug":"clawhub-ketiyohanneschromaway-skill-a","name":"skillet","canonicalUrl":"https://www.xpersona.co/agent/clawhub-ketiyohanneschromaway-skill-a","canonicalPath":"/agent/clawhub-ketiyohanneschromaway-skill-a","generatedAt":"2026-10-12T17:36:23.850Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T23:51:54.540Z","emptyReason":null},"description":"BSC (Binance Smart Chain) trading on PancakeSwap - wallet registration, swaps, discover tokens and pairs, funding. Skill: skillet Owner: ketiyohanneschromaway Summary: BSC (Binance Smart Chain) trading on PancakeSwap - wallet registration, swaps, discover tokens and pairs, funding. Tags: latest:1.0.0 Version history: v1.0.0 | 2026-02-18T07:23:27.268Z | user **Initial release of PancakeSwap trading skill for BSC (Binance Smart Chain).** - Enables wallet creation, with private key and address stored in a secure file for trading on","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 973 downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17ekh6ng7bw0we1gxvt2yrefn884pbv:skill-a","sourceUrl":"https://clawhub.ai/ketiyohanneschromaway/skill-a","homepage":"https://clawhub.ai/ketiyohanneschromaway/skills/skill-a","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/ketiyohanneschromaway/skill-a","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/ketiyohanneschromaway/skills/skill-a","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"BSC (Binance Smart Chain) trading on PancakeSwap - wallet registration, swaps, discover tokens and pairs, funding. Skill: skillet Owner: ketiyohanneschromaway S"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T23:51:54.540Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T23:51:54.540Z","emptyReason":null},"stars":null,"forks":null,"downloads":973,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.0.0","tractionLabel":"973 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T23:51:54.528Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T23:51:54.540Z","lastCrawledAt":"2026-10-11T23:51:54.528Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T23:51:54.528Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.0","createdAt":"2026-02-18T07:23:27.268Z","changelog":"**Initial release of PancakeSwap trading skill for BSC (Binance Smart Chain).** - Enables wallet creation, with private key and address stored in a secure file for trading on PancakeSwap. - Supports discovering available tokens, swaps, and verifying token liquidity. - Allows swapping any BEP-20 tokens using PancakeSwap Router. - Users can fund the agent’s wallet with BNB (for gas) and any tokens for trading. - Includes steps for registering and linking the wallet’s public key to the user’s agent account on Chromia for EVM event tracking. - Provides detailed setup, configuration, and usage instructions for both mainnet and testnet.","fileCount":2,"zipByteSize":5967}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17ekh6ng7bw0we1gxvt2yrefn884pbv:skill-a","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ketiyohanneschromaway-skill-a/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ketiyohanneschromaway-skill-a/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ketiyohanneschromaway-skill-a/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ketiyohanneschromaway-skill-a/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ketiyohanneschromaway-skill-a/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-ketiyohanneschromaway-skill-a/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-12T17:36:23.850Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ketiyohanneschromaway-skill-a/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ketiyohanneschromaway-skill-a/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ketiyohanneschromaway-skill-a/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-ketiyohanneschromaway-skill-a/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T23:51:54.540Z","emptyReason":null},"readme":"Skill: skillet\n\nOwner: ketiyohanneschromaway\n\nSummary: BSC (Binance Smart Chain) trading on PancakeSwap - wallet registration, swaps, discover tokens and pairs, funding.\n\nTags: latest:1.0.0\n\nVersion history:\n\nv1.0.0 | 2026-02-18T07:23:27.268Z | user\n\n**Initial release of PancakeSwap trading skill for BSC (Binance Smart Chain).**\n\n- Enables wallet creation, with private key and address stored in a secure file for trading on PancakeSwap.\n- Supports discovering available tokens, swaps, and verifying token liquidity.\n- Allows swapping any BEP-20 tokens using PancakeSwap Router.\n- Users can fund the agent’s wallet with BNB (for gas) and any tokens for trading.\n- Includes steps for registering and linking the wallet’s public key to the user’s agent account on Chromia for EVM event tracking.\n- Provides detailed setup, configuration, and usage instructions for both mainnet and testnet.\n\nArchive index:\n\nArchive v1.0.0: 2 files, 5967 bytes\n\nFiles: skills.md (13654b), _meta.json (126b)\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7299g17v69303zbghcj6wpqd810rzc\",\n  \"slug\": \"skill-a\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1771399407268\n}\n\nFile v1.0.0:skills.md\n\n---\nname: bsc-pancakeswap\nversion: 1.3.0\ndescription: BSC (Binance Smart Chain) trading on PancakeSwap - wallet registration, swaps, discover tokens and pairs, funding. \nhomepage: https://pancakeswap.finance\n---\n\n# BSC PancakeSwap Trading Skill\n\nThis skill lets the AI agent create a BSC wallet (private key + address saved in one file), **discover which tokens and swaps are available** on PancakeSwap, swap tokens, and receive top-ups from the user. The agent is not limited to specific tokens — it can resolve token addresses and check which pairs have liquidity.\n\n## Configuration (BSC Mainnet)\n\n```bash\nexport BSC_RPC_URL=\"https://bsc-dataseed1.binance.org\"\nexport BSC_CHAIN_ID=56\n\n# PancakeSwap V2 (BSC mainnet)\nexport PANCAKE_ROUTER=\"0x10ED43C718714eb63d5aA57B78B54704E256024E\"\nexport WBNB=\"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\"\n```\n\n**Block explorer:** https://bscscan.com\n\n**PancakeSwap UI:** https://pancakeswap.finance/swap?chain=bsc\n\n### Optional: switch to testnet\n\nFor testnet (tBNB, tCHR, etc.), use:\n\n```bash\nexport BSC_RPC_URL=\"https://data-seed-prebsc-1-s1.binance.org:8545\"\nexport BSC_CHAIN_ID=97\nexport PANCAKE_ROUTER=\"0xD99D1c33F9fC3444f8101754aBC46c52416550D1\"\nexport WBNB=\"0xae13d989dac2f0debff460ac112a837c89baa7cd\"\n```\n\n**Prerequisite:** Node.js 18+ with `ethers` (v6):\n\n```bash\nnpm install ethers\n# or: pnpm add ethers\n```\n\n---\n\n## 1. Registration — Create Wallet and Save Keys to One File\n\nThe agent needs one file that stores both the **private key** and **public address** so it can sign transactions. Create it once and reuse it.\n\n### Option A: Using Node.js (recommended)\n\nRun this script to generate a new wallet and write it to a file:\n\n```bash\nnode -e \"\nconst fs = require('fs');\nconst path = require('path');\nconst { ethers } = require('ethers');\nconst wallet = ethers.Wallet.createRandom();\nconst dir = process.env.HOME + '/.config/bsc_agent';\nfs.mkdirSync(dir, { recursive: true });\nconst file = dir + '/wallet.json';\nfs.writeFileSync(file, JSON.stringify({\n  privateKey: wallet.privateKey,\n  address: wallet.address,\n  publicKey: wallet.publicKey\n}, null, 2));\nconsole.log('Wallet saved to ' + file);\nconsole.log('Address: ' + wallet.address);\n\"\n```\n\nDefault file location: `~/.config/bsc_agent/wallet.json`.\n\n**File format (wallet.json):**\n\n```json\n{\n  \"privateKey\": \"0x...\",\n  \"address\": \"0x...\",\n  \"publicKey\": \"0x...\"\n}\n```\n\n- **privateKey** — Used to sign transactions. Keep this file secret and only on the agent's machine.\n- **address** — The agent's BSC account. User sends BNB/tokens to this address to top up.\n- **publicKey** — Optional; derived from private key.\n\n### Option B: Custom path\n\nTo use a different path, set the output file in the script:\n\n```bash\nexport BSC_WALLET_FILE=\"$HOME/.config/bsc_agent/wallet.json\"\n# Then in the script, write to process.env.BSC_WALLET_FILE\n```\n\n### After registration\n\n1. Read `address` and `publicKey` from `wallet.json`.\n2. Tell the user: **My BSC address for top-ups is:** `<address>`\n3. User must send native BNB (for gas) and any tokens they want the agent to swap to this address.\n4. **Register public key on Chromia:** Link your BSC wallet public key to your ClawChain agent account to enable tracking EVM events on Chromia.\n\n---\n\n## 1.5. Register Public Key on Chromia\n\nAfter creating your BSC wallet, register the public key on Chromia to link your PancakeSwap wallet to your ClawChain agent account. This enables tracking EVM events on your Chromia chain.\n\n### Prerequisites\n\n- You must have a registered agent account on ClawChain (Chromia)\n- You must have an authenticated session (FT4 session from MetaMask or Chromia Vault)\n- Your `wallet.json` file must exist with `publicKey` (required) and optionally `address`\n\n### Registration Steps\n\n#### Option A: Using Chromia CLI\n\n```bash\n# Set your ClawChain configuration\nexport CLAWCHAIN_BRID=\"9D728CC635A9D33DAABAC8217AA8131997A8CBF946447ED0B98760245CE5207E\"\nexport CLAWCHAIN_NODE=\"https://chromia.01node.com:7740\"\n\n# Read wallet info\nWALLET_FILE=\"$HOME/.config/bsc_agent/wallet.json\"\nPUBLIC_KEY=$(cat $WALLET_FILE | grep -o '\"publicKey\": \"[^\"]*' | cut -d'\"' -f4)\nADDRESS=$(cat $WALLET_FILE | grep -o '\"address\": \"[^\"]*' | cut -d'\"' -f4)\n\n# Register public key on Chromia\nchr tx register_evm_public_key \\\n  \"pancakeswap\" \\\n  \"$PUBLIC_KEY\" \\\n  \"BSC\" \\\n  56 \\\n  \"$ADDRESS\" \\\n  --ft-auth \\\n  --secret ~/.config/clawchain/credentials.json \\\n  -brid $CLAWCHAIN_BRID \\\n  --api-url $CLAWCHAIN_NODE \\\n  --await\n```\n\n**Arguments:** `wallet_type` `public_key` `chain` `network_id` `address`\n\n**Network IDs:**\n- BSC Mainnet: `56`\n- BSC Testnet: `97`\n- Ethereum Mainnet: `1`\n- Ethereum Goerli: `5`\n- Polygon Mainnet: `137`\n\n**Note:** If you don't have an address, use `\"\"` (empty string) for the last parameter.\n\n#### Option B: Using JavaScript/TypeScript\n\nIf you're integrating this into a web application with an authenticated FT4 session:\n\n```javascript\nconst fs = require('fs');\nconst walletData = JSON.parse(fs.readFileSync('~/.config/bsc_agent/wallet.json', 'utf8'));\n\n// Assuming you have a Chromia session object (from @chromia/ft4)\nconst result = await session.call({\n  name: 'register_evm_public_key',\n  args: [\n    'pancakeswap',              // wallet_type\n    walletData.publicKey,      // public_key (required)\n    'BSC',                      // chain\n    56,                         // network_id (56 for BSC mainnet, 97 for testnet)\n    walletData.address || \"\"   // address (optional)\n  ]\n});\n\nconsole.log('Public key registered:', result);\n```\n\n### Query Registered Public Keys\n\nTo check which public keys are registered for your agent:\n\n```bash\n# Get all registered public keys for an agent\nchr query get_evm_public_keys 'agent_name=your_agent_name' \\\n  -brid $CLAWCHAIN_BRID --api-url $CLAWCHAIN_NODE\n\n# Get specific public key by wallet type\nchr query get_evm_public_key_by_type \\\n  'agent_name=your_agent_name' \\\n  'wallet_type=pancakeswap' \\\n  -brid $CLAWCHAIN_BRID --api-url $CLAWCHAIN_NODE\n```\n\n### Error Handling\n\n- **\"Public key already registered\"**: The public key is already registered for this agent. Query existing keys to verify.\n- **\"Public key is required for EIF event tracking\"**: You must provide a public key.\n- **\"Invalid public key format\"**: Public key must start with `0x` and be at least 66 characters (0x + 64 hex chars).\n- **\"Agent not found\"**: Ensure your agent account exists on ClawChain.\n- **Authentication errors**: Ensure you have a valid FT4 session authenticated with your Chromia account.\n\n---\n\n---\n\n## 2. How the User Can Top Up the Agent Account\n\nThe agent does not have an \"account\" on a server — it has a BSC address (from `wallet.json`). Fund the agent by sending BNB and tokens to that address:\n\n### Get BNB for gas and swaps\n\n1. Buy BNB on an exchange or bridge from another chain.\n2. Send **BNB** to the agent address: `<address>` from `wallet.json`.\n3. Add BSC Mainnet in MetaMask (Chain ID 56, RPC above), then transfer BNB to the agent.\n\n### Get tokens\n\n- Send any BEP-20 token to `<address>`. The agent can swap via PancakeSwap if a pair exists (e.g. USDT/BNB, BUSD/BNB).\n\n### Check balance\n\n- **Native (BNB):** `provider.getBalance(address)`\n- **Any BEP-20 token:** call `balanceOf(address)` on the token contract.\n\n---\n\n## 3. Discovering Available Tokens and Swaps\n\nThe agent must support **any** BEP-20 token and determine **which swaps are possible**.\n\n### Which tokens are available\n\n- **By contract address:** Any BEP-20 token is identified by its contract address. Accept token addresses from the user or from token lists.\n- **Resolve symbol and decimals:** Call the token contract (ERC-20/BEP-20):\n  - `symbol()` → e.g. \"USDT\", \"WBNB\"\n  - `decimals()` → use for amount math and display (e.g. 18 or 6)\n  - `name()` → full name (optional)\n- **Token lists (optional):** PancakeSwap and BSC publish token lists; the agent can also accept any user-provided contract address.\n- **Native gas token:** BNB is the chain native token; the wrapped version is WBNB (address in config). Use WBNB in router paths.\n\n### Which swaps are available\n\n- **Get the Factory:** Call the router's `factory()` (read-only) to get the PancakeSwap V2 Factory address.\n- **Check if a pair exists:** Call `factory.getPair(tokenA, tokenB)`. If the result is the zero address (`0x000...`), no pair exists. Otherwise it is the pair contract address.\n- **Check liquidity:** On the pair contract, call `getReserves()`. If both reserves are > 0, the pair has liquidity and that swap is available.\n- **Quote before swapping:** Use the router's `getAmountsOut(amountIn, path)` (read-only). If the call reverts or returns zero for the output amount, the swap is not feasible (no liquidity or invalid path).\n- **Multi-hop paths:** If there is no direct A–B pair, try a path via WBNB: `[tokenA, WBNB, tokenB]`. Call `getAmountsOut(amountIn, path)`; if it succeeds and returns a positive amount, the swap is available.\n- **Optional:** PancakeSwap API or subgraph can list pairs for a token; the agent may use these to discover pairs in addition to on-chain checks.\n\n---\n\n## 4. Making a Trade (Swap on PancakeSwap)\n\nThe agent uses the private key from `wallet.json` to sign a swap transaction and sends it to BSC.\n\n### PancakeSwap V2 router (BSC mainnet)\n\n| Contract | Address |\n|----------|---------|\n| Router | `0x10ED43C718714eb63d5aA57B78B54704E256024E` |\n| WBNB | `0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c` |\n\n### Common swap methods\n\n| Method | Use case |\n|--------|----------|\n| `swapExactETHForTokens` | Swap exact BNB for tokens (min amount out) |\n| `swapExactTokensForETH` | Swap exact tokens for BNB |\n| `swapExactTokensForTokens` | Swap exact token A for token B |\n| `swapTokensForExactTokens` | Swap tokens for exact amount of token B |\n\n### Swap flow (any token pair with liquidity)\n\n1. **Load wallet** from `wallet.json` (privateKey + address).\n2. **Connect** to BSC: `new ethers.JsonRpcProvider(BSC_RPC_URL)` (mainnet: chain id 56).\n3. **Resolve tokens:** Use token contract addresses (from user or discovery). For native BNB use WBNB in the path.\n4. **Check swap availability:** Call router `getAmountsOut(amountIn, path)`. If it reverts or returns zero, try a multi-hop path (e.g. `[tokenA, WBNB, tokenB]`) or inform the user the pair has no liquidity.\n5. **Build path:** e.g. BNB → token: `[WBNB, tokenAddress]`; token → BNB: `[tokenAddress, WBNB]`; token → token: `[tokenA, WBNB, tokenB]` (or direct if pair exists).\n6. **Get router contract** (address above), ABI for `swapExactETHForTokens`, `swapExactTokensForETH`, or `swapExactTokensForTokens`.\n7. **Deadline:** `Math.floor(Date.now() / 1000) + 300` (e.g. 5 minutes).\n8. **amountOutMin:** from `getAmountsOut(amountIn, path)` then apply slippage (e.g. 1% = amountOut * 0.99).\n9. **Sign and send:** For BNB → token use `{ value: amountInWei }`; for token → BNB or token → token, approve router for the token first, then call the swap.\n\n### Slippage\n\n- **amountOutMin** = expected output × (1 - slippage). E.g. 1% slippage → multiply by 0.99.\n- For volatile pairs use 2–5%.\n\n### Token decimals\n\n- BNB has 18 decimals. 1 BNB = `1e18` wei.\n- Many BEP-20 tokens use 18 decimals; USDT/USDC often use 6. Check the token contract or docs.\n\n---\n\n## 5. Command / Script Patterns for the Agent\n\n### Read wallet (do not expose private key in logs)\n\n- Read `~/.config/bsc_agent/wallet.json` (or `BSC_WALLET_FILE`).\n- Use `address` when telling the user where to top up.\n- Use `privateKey` only inside the signing process (ethers Wallet).\n\n### Execute swap (high level)\n\n1. Load `wallet.json`.\n2. Create `ethers.Wallet(privateKey, provider)`.\n3. Build router call (e.g. `swapExactETHForTokens`) with path, deadline, amountOutMin.\n4. Send transaction: `tx = await router.swapExactETHForTokens(...); await tx.wait()`.\n5. Return tx hash to user: `https://bscscan.com/tx/<hash>`.\n\n### Get quote before swapping\n\n- Call router `getAmountsOut(amountIn, path)` (read-only) to get expected `amountOut`, then compute `amountOutMin` with slippage.\n\n---\n\n## 6. Example Token Addresses (BSC Mainnet)\n\n| Symbol | Address | Notes |\n|--------|---------|--------|\n| WBNB | `0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c` | Native wrapped; use in paths |\n| USDT | `0x55d398326f99059fF775485246999027B3197955` | Stablecoin |\n| BUSD | `0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56` | Stablecoin |\n\n**Do not limit to these.** The agent should accept any BEP-20 address and discover availability via `getPair` / `getReserves` and `getAmountsOut` (see §3). If a pair has no liquidity, add liquidity via the PancakeSwap UI or use another token pair.\n\n---\n\n## 7. Security Notes\n\n- **wallet.json** contains the private key. Restrict access: `chmod 600 ~/.config/bsc_agent/wallet.json`.\n- Use this wallet only for the agent and only with amounts you accept to lose if the machine or file is compromised.\n- Prefer a dedicated BSC wallet; do not reuse a wallet that holds large funds elsewhere.\n\n---\n\n## 8. Errors\n\n| Error | Meaning / action |\n|-------|------------------|\n| insufficient funds | Not enough BNB for gas or not enough token/BNB for the swap. User should top up. |\n| execution reverted: PancakeRouter: INSUFFICIENT_OUTPUT_AMOUNT | Slippage too low; increase or retry. |\n| execution reverted: PancakeRouter: EXPIRED | Deadline passed; rebuild tx with new deadline. |\n| nonce too low | Reuse of nonce; wait and retry or refresh nonce from chain. |\n\n---\n\n## 9. Links\n\n- PancakeSwap (BSC mainnet): https://pancakeswap.finance/swap?chain=bsc  \n- PancakeSwap V2 docs: https://docs.pancakeswap.finance/developers/smart-contracts/pancakeswap-exchange/v2-contracts  \n- BSC explorer: https://bscscan.com","readmeExcerpt":"Skill: skillet Owner: ketiyohanneschromaway Summary: BSC (Binance Smart Chain) trading on PancakeSwap - wallet registration, swaps, discover tokens and pairs, funding. Tags: latest:1.0.0 Version history: v1.0.0 | 2026-02-18T07:23:27.268Z | user **Initial release of PancakeSwap trading skill for BSC (Binance Smart Chain).** - Enables wallet creation, with private key and address stored in a secure file for trading on ","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"export BSC_RPC_URL=\"https://bsc-dataseed1.binance.org\"\nexport BSC_CHAIN_ID=56\n\n# PancakeSwap V2 (BSC mainnet)\nexport PANCAKE_ROUTER=\"0x10ED43C718714eb63d5aA57B78B54704E256024E\"\nexport WBNB=\"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\""},{"language":"bash","snippet":"export BSC_RPC_URL=\"https://data-seed-prebsc-1-s1.binance.org:8545\"\nexport BSC_CHAIN_ID=97\nexport PANCAKE_ROUTER=\"0xD99D1c33F9fC3444f8101754aBC46c52416550D1\"\nexport WBNB=\"0xae13d989dac2f0debff460ac112a837c89baa7cd\""},{"language":"bash","snippet":"npm install ethers\n# or: pnpm add ethers"},{"language":"bash","snippet":"node -e \"\nconst fs = require('fs');\nconst path = require('path');\nconst { ethers } = require('ethers');\nconst wallet = ethers.Wallet.createRandom();\nconst dir = process.env.HOME + '/.config/bsc_agent';\nfs.mkdirSync(dir, { recursive: true });\nconst file = dir + '/wallet.json';\nfs.writeFileSync(file, JSON.stringify({\n  privateKey: wallet.privateKey,\n  address: wallet.address,\n  publicKey: wallet.publicKey\n}, null, 2));\nconsole.log('Wallet saved to ' + file);\nconsole.log('Address: ' + wallet.address);\n\""},{"language":"json","snippet":"{\n  \"privateKey\": \"0x...\",\n  \"address\": \"0x...\",\n  \"publicKey\": \"0x...\"\n}"},{"language":"bash","snippet":"export BSC_WALLET_FILE=\"$HOME/.config/bsc_agent/wallet.json\"\n# Then in the script, write to process.env.BSC_WALLET_FILE"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7299g17v69303zbghcj6wpqd810rzc\",\n  \"slug\": \"skill-a\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1771399407268\n}"},{"path":"skills.md","content":"---\nname: bsc-pancakeswap\nversion: 1.3.0\ndescription: BSC (Binance Smart Chain) trading on PancakeSwap - wallet registration, swaps, discover tokens and pairs, funding. \nhomepage: https://pancakeswap.finance\n---\n\n# BSC PancakeSwap Trading Skill\n\nThis skill lets the AI agent create a BSC wallet (private key + address saved in one file), **discover which tokens and swaps are available** on PancakeSwap, swap tokens, and receive top-ups from the user. The agent is not limited to specific tokens — it can resolve token addresses and check which pairs have liquidity.\n\n## Configuration (BSC Mainnet)\n\n```bash\nexport BSC_RPC_URL=\"https://bsc-dataseed1.binance.org\"\nexport BSC_CHAIN_ID=56\n\n# PancakeSwap V2 (BSC mainnet)\nexport PANCAKE_ROUTER=\"0x10ED43C718714eb63d5aA57B78B54704E256024E\"\nexport WBNB=\"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\"\n```\n\n**Block explorer:** https://bscscan.com\n\n**PancakeSwap UI:** https://pancakeswap.finance/swap?chain=bsc\n\n### Optional: switch to testnet\n\nFor testnet (tBNB, tCHR, etc.), use:\n\n```bash\nexport BSC_RPC_URL=\"https://data-seed-prebsc-1-s1.binance.org:8545\"\nexport BSC_CHAIN_ID=97\nexport PANCAKE_ROUTER=\"0xD99D1c33F9fC3444f8101754aBC46c52416550D1\"\nexport WBNB=\"0xae13d989dac2f0debff460ac112a837c89baa7cd\"\n```\n\n**Prerequisite:** Node.js 18+ with `ethers` (v6):\n\n```bash\nnpm install ethers\n# or: pnpm add ethers\n```\n\n---\n\n## 1. Registration — Create Wallet and Save Keys to One File\n\nThe agent needs one file that stores both the **private key** and **public address** so it can sign transactions. Create it once and reuse it.\n\n### Option A: Using Node.js (recommended)\n\nRun this script to generate a new wallet and write it to a file:\n\n```bash\nnode -e \"\nconst fs = require('fs');\nconst path = require('path');\nconst { ethers } = require('ethers');\nconst wallet = ethers.Wallet.createRandom();\nconst dir = process.env.HOME + '/.config/bsc_agent';\nfs.mkdirSync(dir, { recursive: true });\nconst file = dir + '/wallet.json';\nfs.writeFileSync(file, JSON.stringify({\n  privateKey: wallet.privateKey,\n  address: wallet.address,\n  publicKey: wallet.publicKey\n}, null, 2));\nconsole.log('Wallet saved to ' + file);\nconsole.log('Address: ' + wallet.address);\n\"\n```\n\nDefault file location: `~/.config/bsc_agent/wallet.json`.\n\n**File format (wallet.json):**\n\n```json\n{\n  \"privateKey\": \"0x...\",\n  \"address\": \"0x...\",\n  \"publicKey\": \"0x...\"\n}\n```\n\n- **privateKey** — Used to sign transactions. Keep this file secret and only on the agent's machine.\n- **address** — The agent's BSC account. User sends BNB/tokens to this address to top up.\n- **publicKey** — Optional; derived from private key.\n\n### Option B: Custom path\n\nTo use a different path, set the output file in the script:\n\n```bash\nexport BSC_WALLET_FILE=\"$HOME/.config/bsc_agent/wallet.json\"\n# Then in the script, write to process.env.BSC_WALLET_FILE\n```\n\n### After registration\n\n1. Read `address` and `publicKey` from `wallet.json`.\n2. Tell the user: **My BSC address for top-ups is:** `<address>`\n3. User must send"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"BSC (Binance Smart Chain) trading on PancakeSwap - wallet registration, swaps, discover tokens and pairs, funding. Skill: skillet Owner: ketiyohanneschromaway Summary: BSC (Binance Smart Chain) trading on PancakeSwap - wallet registration, swaps, discover tokens and pairs, funding. Tags: latest:1.0.0 Version history: v1.0.0 | 2026-02-18T07:23:27.268Z | user **Initial release of PancakeSwap trading skill for BSC (Binance Smart Chain).** - Enables wallet creation, with private key and address stored in a secure file for trading on","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":716,"uniquenessScore":55,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T23:51:54.540Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T23:51:54.540Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-12T17:36:23.850Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}