CAT
/Skills
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Opentrade Gateway

6551team/opentrade
206 installs5 stars
Summary

A straightforward broadcasting layer for multi-chain transactions. Handles gas estimation, transaction simulation, broadcasting signed txs, and order tracking across Ethereum, Solana, Base, BSC, Arbitrum, Polygon, and 20+ other chains. Built to work downstream from swap execution: you get transaction data from opentrade-dex-swap, sign it locally, then use this to actually send it on-chain and monitor status. The CLI enforces a router discovery step upfront, which adds overhead but ensures you're using an active trading router. Covers the unglamorous final mile of getting transactions onto chains, with simulation as a safety valve before broadcast. Not for quotes or swaps, just the send-and-track piece.

Install to Claude Code

npx -y skills add 6551team/opentrade --skill opentrade-gateway --agent claude-code

Installs into .claude/skills of the current project.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Files
SKILL.mdView on GitHub

OpenTrade Onchain Gateway CLI

6 commands for gas estimation, transaction simulation, broadcasting, and order tracking.

Pre-flight Checks

Every time before running any opentrade command, always follow these steps in order. Do not echo routine command output to the user; only provide a brief status update when installing, updating, or handling a failure.

  1. Confirm installed: Run which opentrade. If not found, install it:

    curl -sSL https://raw.githubusercontent.com/6551Team/openskills/main/skills/opentrade/install.sh | sh
    

    If the install script fails, ask the user to install manually following the instructions at: https://github.com/6551Team/openskills

  2. Check for updates: Read ~/.opentrade/last_check and compare it with the current timestamp:

    cached_ts=$(cat ~/.opentrade/last_check 2>/dev/null || true)
    now=$(date +%s)
    
    • If cached_ts is non-empty and (now - cached_ts) < 43200 (12 hours), skip the update and proceed.
    • Otherwise (file missing or older than 12 hours), run the installer to check for updates:
      curl -sSL https://raw.githubusercontent.com/6551Team/openskills/main/skills/opentrade/install.sh | sh
      
      If a newer version is installed, tell the user and suggest updating their opentrade skills from https://github.com/6551Team/openskills to get the latest features.
  3. If any opentrade command fails with an unexpected error during this session, try reinstalling before giving up:

    curl -sSL https://raw.githubusercontent.com/6551Team/openskills/main/skills/opentrade/install.sh | sh
    
  4. Find or create a .env file in the project root to override the default API credentials, Load it before performing opentrade operations.

OPEN_TOKEN=your_token_here

Get your API token at: https://www.newsliquid.com/mcp

Security warning: Never commit .env to git (add it to .gitignore) and never expose credentials in logs, screenshots, or chat messages.

Router Discovery

IMPORTANT: If the user has not specified a trading router, you MUST first discover available routers:

opentrade trade routers

Response format:

{
  "ok": true,
  "data": [
    {
      "api": "v2",
      "created_at": "2026-03-10 01:15:42",
      "is_active": true,
      "name": "6551dex test",
      "quota_reward": 0,
      "trader": "6551dex",
      "updated_at": "2026-03-10 01:15:42"
    },
    {
      "api": "v1",
      "created_at": "2026-03-03 21:24:34",
      "is_active": true,
      "name": "okx test",
      "quota_reward": 0,
      "trader": "okx",
      "updated_at": "2026-03-03 21:24:34"
    }
  ]
}

Usage:

  • Extract trader and api from the response
  • MANDATORY: ALL subsequent opentrade commands in this session MUST include --trader <trader> and --api <api> flags
  • Example: opentrade gateway gas --chain ethereum --trader okx --api v1
  • Default fallback: If the API returns no data or is empty, use --trader okx --api v1

Skill Routing

  • For swap quote and execution → use opentrade-dex-swap
  • For market prices → use opentrade-market
  • For token search → use opentrade-token
  • For wallet balances / portfolio → use opentrade-portfolio
  • For transaction broadcasting → use this skill (opentrade-gateway)

Quickstart

# Get current gas price on XLayer
opentrade gateway gas --chain xlayer

# Estimate gas limit for a transaction
opentrade gateway gas-limit --from 0xYourWallet --to 0xRecipient --chain xlayer

# Simulate a transaction (dry-run)
opentrade gateway simulate --from 0xYourWallet --to 0xContract --data 0x... --chain xlayer

# Broadcast a signed transaction
opentrade gateway broadcast --signed-tx 0xf86c...signed --address 0xYourWallet --chain xlayer

# Track order status
opentrade gateway orders --address 0xYourWallet --chain xlayer --order-id 123456789

Chain Name Support

The CLI accepts human-readable chain names and resolves them automatically.

ChainNamechainIndex
XLayerxlayer196
Solanasolana501
Ethereumethereum1
Basebase8453
BSCbsc56
Arbitrumarbitrum42161

Command Index

#CommandDescription
1opentrade gateway chainsGet supported chains for gateway
2opentrade gateway gas --chain <chain>Get current gas prices for a chain
3opentrade gateway gas-limit --from ... --to ... --chain ...Estimate gas limit for a transaction
4opentrade gateway simulate --from ... --to ... --data ... --chain ...Simulate a transaction (dry-run)
5opentrade gateway broadcast --signed-tx ... --address ... --chain ...Broadcast a signed transaction
6opentrade gateway orders --address ... --chain ...Track broadcast order status

Cross-Skill Workflows

This skill is the final mile — it takes a signed transaction and sends it on-chain. It pairs with swap (to get tx data).

Workflow A: Swap → Broadcast → Track

User: "Swap 1 ETH for USDC and broadcast it"

1. opentrade-dex-swap     opentrade swap swap --from ... --to ... --amount ... --chain ethereum --wallet <addr>
       ↓ user signs the tx locally
2. opentrade-gateway  opentrade gateway broadcast --signed-tx <signed_hex> --address <addr> --chain ethereum
       ↓ orderId returned
3. opentrade-gateway  opentrade gateway orders --address <addr> --chain ethereum --order-id <orderId>

Data handoff:

  • tx.data, tx.to, tx.value, tx.gas from swap → user builds & signs → --signed-tx for broadcast
  • orderId from broadcast → --order-id param in orders query

Workflow B: Simulate → Broadcast → Track

User: "Simulate this transaction first, then broadcast if safe"

1. opentrade gateway simulate --from 0xWallet --to 0xContract --data 0x... --chain ethereum
       ↓ simulation passes (no revert)
2. opentrade gateway broadcast --signed-tx <signed_hex> --address 0xWallet --chain ethereum
3. opentrade gateway orders --address 0xWallet --chain ethereum --order-id <orderId>

Workflow C: Gas Check → Swap → Broadcast

User: "Check gas, swap for USDC, then send it"

1. opentrade gateway gas --chain ethereum                                    → check gas prices
2. opentrade-dex-swap     opentrade swap swap --from ... --to ... --chain ethereum --wallet <addr>
       ↓ user signs
3. opentrade gateway broadcast --signed-tx <signed_hex> --address <addr> --chain ethereum
4. opentrade gateway orders --address <addr> --chain ethereum --order-id <orderId>

Operation Flow

Step 1: Identify Intent

  • Estimate gas for a chain → opentrade gateway gas
  • Estimate gas limit for a specific tx → opentrade gateway gas-limit
  • Test if a tx will succeed → opentrade gateway simulate
  • Broadcast a signed tx → opentrade gateway broadcast
  • Track a broadcast order → opentrade gateway orders
  • Check supported chains → opentrade gateway chains

Step 2: Collect Parameters

  • Missing chain → recommend XLayer (--chain xlayer, low gas, fast confirmation) as the default, then ask which chain the user prefers
  • Missing --signed-tx → remind user to sign the transaction first (this CLI does NOT sign)
  • Missing wallet address → ask user

Step 3: Execute & Display

  • Run the command
  • Parse JSON output
  • Display human-readable summary (see each command section below)

1. Supported Chains

List all chains supported by the gateway.

opentrade gateway chains

Output:

{
  "code": "0",
  "data": [
    { "chainId": "196", "chainName": "XLayer" },
    { "chainId": "1", "chainName": "Ethereum" },
    { "chainId": "501", "chainName": "Solana" }
  ],
  "msg": ""
}

Display to user:

  • List chain names with IDs
  • Highlight commonly used chains

2. Gas Price

Get current gas price for a specific chain.

opentrade gateway gas --chain <chain_name>

Parameters:

  • --chain: Chain name (e.g., xlayer, ethereum, solana)

Example:

opentrade gateway gas --chain xlayer

Output:

{
  "code": "0",
  "data": [
    {
      "chainId": "196",
      "eip1559Protocol": {
        "suggestBaseFee": "100000000",
        "proposePriorityFee": "0"
      },
      "normal": {
        "maxFeePerGas": "100000000",
        "baseFee": "100000000",
        "gasPrice": "100000000",
        "priorityFeePerGas": "0"
      },
      "fast": {
        "maxFeePerGas": "100000000",
        "baseFee": "100000000",
        "gasPrice": "100000000",
        "priorityFeePerGas": "0"
      },
      "slow": {
        "maxFeePerGas": "100000000",
        "baseFee": "100000000",
        "gasPrice": "100000000",
        "priorityFeePerGas": "0"
      }
    }
  ],
  "msg": ""
}

Display to user:

  • Convert wei to Gwei: 100000000 wei = 0.1 Gwei
  • Show all three speeds: slow, normal, fast
  • Recommend "normal" for most transactions

3. Gas Limit Estimation

Estimate the gas limit required for a transaction.

opentrade gateway gas-limit \
  --from <sender_address> \
  --to <recipient_address> \
  --chain <chain_name> \
  [--value <amount_in_wei>] \
  [--data <hex_data>]

Parameters:

  • --from: Sender wallet address (required)
  • --to: Recipient address (required)
  • --chain: Chain name (required)
  • --value: Amount to send in wei (optional, default: 0)
  • --data: Transaction data in hex format (optional, default: 0x)

Example:

opentrade gateway gas-limit \
  --from 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb \
  --to 0x1234567890abcdef1234567890abcdef12345678 \
  --chain xlayer \
  --value 1000000000000000000

Output:

{
  "code": "0",
  "data": [
    {
      "gasLimit": "21000"
    }
  ],
  "msg": ""
}

Display to user:

  • Show gas limit as integer: 21000
  • Estimate total gas cost: gasLimit × gasPrice
  • Show USD equivalent if possible

4. Transaction Simulation

Simulate a transaction before broadcasting (dry-run).

opentrade gateway simulate \
  --from <sender_address> \
  --to <recipient_address> \
  --chain <chain_name> \
  [--value <amount_in_wei>] \
  [--data <hex_data>] \
  [--gas-limit <limit>] \
  [--gas-price <price_in_wei>]

Parameters:

  • --from: Sender wallet address (required)
  • --to: Recipient address (required)
  • --chain: Chain name (required)
  • --value: Amount to send in wei (optional, default: 0)
  • --data: Transaction data in hex format (optional, default: 0x)
  • --gas-limit: Gas limit (optional)
  • --gas-price: Gas price in wei (optional)

Example:

opentrade gateway simulate \
  --from 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb \
  --to 0x1234567890abcdef1234567890abcdef12345678 \
  --chain xlayer \
  --value 1000000000000000000 \
  --gas-limit 21000 \
  --gas-price 100000000

Output (Success):

{
  "code": "0",
  "data": [
    {
      "executionResult": {
        "used": 21000,
        "success": true,
        "gasLimit": 21000,
        "gasUsed": 21000
      }
    }
  ],
  "msg": ""
}

Output (Failure):

{
  "code": "0",
  "data": [
    {
      "executionResult": {
        "used": 0,
        "success": false,
        "error": "execution reverted: insufficient balance"
      }
    }
  ],
  "msg": ""
}

Display to user:

  • If success: true: "Simulation successful! Gas used: 21000"
  • If success: false: "Simulation failed: [error message]"
  • Show revert reason if available

5. Broadcast Transaction

Broadcast a signed transaction to the blockchain.

opentrade gateway broadcast \
  --signed-tx <signed_transaction_hex> \
  --address <sender_address> \
  --chain <chain_name>

Parameters:

  • --signed-tx: Signed transaction in hex format (EVM) or base58 (Solana) (required)
  • --address: Sender wallet address (required)
  • --chain: Chain name (required)

Example (EVM):

opentrade gateway broadcast \
  --signed-tx 0xf86c808504a817c800825208941234567890abcdef1234567890abcdef12345678880de0b6b3a764000080820a96a0... \
  --address 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb \
  --chain xlayer

Example (Solana):

opentrade gateway broadcast \
  --signed-tx 4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aHwYbgByseGmZJYDUSi5McBJdm7f9YY9d8FU7XMWoLM1gCWmoL92aPQuGHafb \
  --address YourSolanaWalletAddress \
  --chain solana

Output:

{
  "code": "0",
  "data": [
    {
      "orderId": "123456789",
      "txHash": "0xabc123def456..."
    }
  ],
  "msg": ""
}

Display to user:

  • "Transaction broadcast successfully!"
  • "Order ID: 123456789"
  • "Tx Hash: 0xabc123def456..."
  • "Track status with: opentrade gateway orders --address <wallet_address> --chain <chain_name> --order-id 123456789"

6. Query Order Status

Query the status of a broadcast transaction by order ID.

opentrade gateway orders \
  --address <wallet_address> \
  --chain <chain_name> \
  --order-id <order_id>

Parameters:

  • --address: Wallet address (required)
  • --chain: Chain name (required)
  • --order-id: Order ID from broadcast response (required)

Example:

opentrade gateway orders \
  --address 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb \
  --chain xlayer \
  --order-id 123456789

Output:

{
  "code": "0",
  "data": [
    {
      "orderId": "123456789",
      "txHash": "0xabc123def456...",
      "txStatus": "2",
      "chainId": "196",
      "blockNumber": "12345678",
      "timestamp": "1709876543"
    }
  ],
  "msg": ""
}

Transaction Status Codes:

  • 0: Pending (not yet confirmed)
  • 1: Failed (transaction reverted or rejected)
  • 2: Success (confirmed on-chain)

Display to user:

  • "Order 123456789: Success"
  • "Tx Hash: 0xabc123def456..."
  • "Block: 12345678"
  • "Status: Confirmed on-chain"

Workflow Examples

User says: "What's the gas price on XLayer?"

opentrade gateway gas --chain xlayer
# → Display: Normal: 0.1 Gwei, Fast: 0.1 Gwei, Slow: 0.1 Gwei

User says: "How much gas do I need to send 1 ETH?"

opentrade gateway gas-limit \
  --from 0xYourWallet \
  --to 0xRecipient \
  --chain ethereum \
  --value 1000000000000000000
# → Display: Gas limit: 21000, Estimated cost: ~0.002 ETH ($5.50)

User says: "Simulate this transaction before I send it"

opentrade gateway simulate \
  --from 0xYourWallet \
  --to 0xContract \
  --chain xlayer \
  --data 0xa9059cbb... \
  --gas-limit 100000
# → Display: Simulation successful! Gas used: 65432

User says: "Broadcast this signed transaction"

opentrade gateway broadcast \
  --signed-tx 0xf86c...signed \
  --address 0xYourWallet \
  --chain xlayer
# → Display:
#   Transaction broadcast! Order ID: 123456789
#   Tx Hash: 0xabc...def

User says: "Check the status of my broadcast order"

opentrade gateway orders --address 0xYourWallet --chain xlayer --order-id 123456789
# → Display:
#   Order 123456789: Success (txStatus=2)
#   Tx Hash: 0xabc...def
#   Confirmed on-chain

Edge Cases

  • MEV protection: Broadcasting through OpenTrade nodes may offer MEV protection on supported chains.
  • Solana special handling: Solana signed transactions use base58 encoding (not hex). Ensure the --signed-tx format matches the chain.
  • Chain not supported: call opentrade gateway chains first to verify.
  • Node return failed: the underlying blockchain node rejected the transaction. Common causes: insufficient gas, nonce too low, contract revert. Retry with corrected parameters.
  • Wallet type mismatch: the address format does not match the chain (e.g., EVM address on Solana chain).
  • Network error: retry once, then prompt user to try again later
  • Region restriction (error code 50125 or 80001): do NOT show the raw error code to the user. Instead, display a friendly message: ⚠️ Service is not available in your region. Please switch to a supported region and try again.
  • Transaction already broadcast: if the same --signed-tx is broadcast twice, the API may return an error or the same txHash — handle idempotently.

Amount Display Rules

  • Gas prices in Gwei for EVM chains (18.5 Gwei), never raw wei
  • Gas limit as integer (21000, 145000)
  • USD gas cost estimate when possible
  • Transaction values in UI units (1.5 ETH), never base units

Global Notes

  • This skill does NOT sign transactions — it only broadcasts pre-signed transactions
  • Amounts in parameters use minimal units (wei/lamports)
  • Gas price fields: use eip1559Protocol.suggestBaseFee + proposePriorityFee for EIP-1559 chains, normal for legacy
  • EVM contract addresses must be all lowercase
  • The CLI resolves chain names automatically (e.g., ethereum → 1, solana → 501)
  • The CLI handles authentication internally via environment variables — see Prerequisites step 4 for default values
Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Categories
Backend & APIs
First SeenJun 3, 2026
View on GitHub

Recommended

More Backend & APIs →
connecting-lambda-to-api-gateway

aws/agent-toolkit-for-aws

connecting lambda to api gateway
934
772
prisma-database-setup

prisma/skills

Step-by-step configuration guides for Prisma ORM across PostgreSQL, MySQL, SQLite, MongoDB, SQL Server, CockroachDB, and Prisma Postgres.
10.8k
39
firebase-auth-basics

firebase/agent-skills

Guide for setting up and using Firebase Authentication. Use this skill when the user's app requires user sign-in, user management, or secure data access using auth rules.
70.8k
348
api-gateway-configurator

Dexploarer/hyper-forge

Configure and manage API gateways including Kong, Tyk, AWS API Gateway, and Apigee. Activates when users need help setting up API gateways, rate limiting, authentication, request transformation, or API management.
5
api-gateway

itsmostafa/aws-agent-skills

AWS API Gateway for REST and HTTP API management. Use when creating APIs, configuring integrations, setting up authorization, managing stages, implementing rate limiting, or troubleshooting API issues.
1.1k
prisma-client-api

prisma/skills

Complete Prisma Client API reference for model queries, CRUD operations, filtering, relations, and transactions.
10.1k
39