Overview Install Files SecuritySummary This source did not publish a separate summary. Review SKILL.md before using the skill.
AgentWallex Payment Skill
What It Does
The AgentWallex Payment skill gives AI agents core capabilities for managing agents and crypto payments:
Zero-config setup — Set up AgentWallex through conversation. No config files or environment variables needed.
Create and manage agents — Create, update, suspend, and delete AI agents with dedicated wallets.
Multi-chain support — Operate across Ethereum, BSC, and Tron networks.
Check token balances — Query available, locked, and pending balances for any agent wallet on supported chains.
Send outbound transfers — Create and submit on-chain USDC/USDT transfers to any recipient address.
Query transaction status — Track payment lifecycle from pending through confirmed or failed, with full tx hash details.
Supported Chains & Tokens
Mainnet
Chain Tokens Address Format Ethereum USDC, USDT 0x... (42 chars)BSC USDC, USDT 0x... (42 chars)Tron USDT T... (34 chars)
Sandbox (Testnet)
Chain Network Tokens Ethereum Sepolia USDC, USDT BSC BSC Testnet USDC, USDT Tron Nile Testnet USDT
Start with sandbox for development and testing. Sandbox transactions use testnet tokens and don't cost real money.
Requirements Requirement Details System binaries curl, jq
No API key or environment variable is needed upfront — credentials are configured through conversation and stored locally.
Setup clawhub install agentwallex-openclaw
The agent will use the agentwallex_setup tool and guide you through:
Opening the AgentWallex Dashboard (sandbox) or Production Dashboard
Signing in with Google
Creating an API key (starts with awx_)
Copying your Agent ID
Pasting the credentials back — they're validated and saved automatically
Credentials are stored locally at ~/.openclaw/agentwallex/config.json with owner-only permissions (0600). No environment variables needed.
Reconfiguring To change credentials or switch agents, just say:
"Reconfigure AgentWallex with my new API key awx_xxx and agent ID agent-123"
The agent will validate the new credentials and update the local config.
Upgrade Update to the latest version:
openclaw plugins update @agentwallex/agentwallex-openclaw
Or update all plugins at once:
openclaw plugins update --all
Uninstall openclaw plugins uninstall @agentwallex/agentwallex-openclaw
To keep plugin files on disk:
openclaw plugins uninstall @agentwallex/agentwallex-openclaw --keep-files
To also remove locally stored credentials:
rm -rf ~/.openclaw/agentwallex
Available Tools Tool Requires Config Description agentwallex_setupNo Check configuration status and get setup instructions agentwallex_configureNo Validate and save API credentials agentwallex_create_agentYes Create a new AI agent with its own wallet agentwallex_list_agentsYes List all agents and their status agentwallex_update_agentYes Update an agent's name or description agentwallex_delete_agentYes Delete an agent agentwallex_agent_statusYes Update agent status (active / suspended) agentwallex_create_walletYes Get or create a deposit address for the agent agentwallex_check_balanceYes Check the agent's token balances (per chain) agentwallex_payYes Send a payment to a recipient address agentwallex_tx_statusYes Query the status of a transaction agentwallex_list_transactionsYes List transactions with filtering
API Reference
Environments Environment Base URL Description Sandbox https://api-sandbox.agentwallex.com/api/v1Testing and development. Use sandbox API keys (awx_sk_test_*). Production $AGENTWALLEX_BASE_URLLive environment. Use production API keys (awx_sk_live_*).
Start with sandbox for development and testing. Switch to production when ready to go live.
# Set the base URL (default: sandbox)
export AGENTWALLEX_BASE_URL="https://api-sandbox.agentwallex.com/api/v1"
All requests require the API key header:
X-API-Key: <your-api-key>
Response Format Success (single object): Returns the object directly, no envelope.
{
"agent_id": "agent-a1b2c3",
"agent_name": "payment-bot",
"chain": "ethereum",
"status": "active"
}
Success (paginated list):
{
"data": [ ... ],
"total": 42,
"has_more": true
}
{
"code": "not_found",
"type": "not_found_error",
"message": "Agent not found"
}
Error types: validation_error (400), authentication_error (401), authorization_error (403), not_found_error (404), conflict_error (409), rate_limit_error (429), internal_error (500), service_unavailable (503).
Pagination Parameters All list endpoints support:
Parameter Type Default Description page_numnumber 1 Page number page_sizenumber 20 Items per page (max 100) sortstring created_atField to sort by orderstring descSort order: asc or desc
Create Agent Creates a new AI agent with its own wallet on the specified chain. Returns 201 Created.
curl -s -X POST \
"$AGENTWALLEX_BASE_URL/agents" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_name": "payment-bot",
"chain": "ethereum",
"agent_description": "Handles outbound payments"
}' | jq
Field Type Required Description agent_namestring yes Name for the new agent chainstring yes Blockchain network: ethereum, bsc, tron (mainnet) or ethereum-sepolia, bsc-testnet, tron-nile (sandbox) agent_descriptionstring no Optional description of the agent's purpose wallet_addressstring no Existing wallet address to associate metadatastring no Arbitrary metadata string
Response — An Agent object:
Field Type Description agent_idstring Unique agent identifier agent_namestring Agent name chainstring Blockchain network statusstring Agent status (active, inactive, suspended) wallet_addressstring Associated wallet address (if any) created_atstring ISO 8601 creation timestamp
List Agents Lists all agents accessible to the current API key, with optional filtering.
curl -s -X GET \
"$AGENTWALLEX_BASE_URL/agents?status=active&page_num=1&page_size=20" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" | jq
Field Type Required Description statusstring no Filter by status: active, inactive, suspended chainstring no Filter by blockchain network page_numnumber no Page number (default: 1) page_sizenumber no Items per page (default: 20) sortstring no Sort field (default: created_at) orderstring no Sort order: asc or desc (default: desc)
Response — A paginated list:
{
"data": [
{
"agent_id": "agent-a1b2c3",
"agent_name": "payment-bot",
"chain": "ethereum",
"status": "active",
"wallet_address": "0x...",
"created_at": "2025-03-01T12:00:00Z"
}
],
"total": 1,
"has_more": false
}
Check Balance Returns balances for a specific agent (one entry per chain/token).
curl -s -X GET \
"$AGENTWALLEX_BASE_URL/agents/AGENT_ID/balance" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" | jq
Response — An array of balance objects (one per chain/token):
Field Type Description agent_idstring The agent identifier chainstring Blockchain network tokenstring Token symbol (USDC or USDT) availablestring Available balance for spending lockedstring Balance locked in pending transactions pending_incomestring Incoming funds not yet confirmed total_depositedstring Lifetime deposited amount total_withdrawnstring Lifetime withdrawn amount total_paidstring Lifetime outbound payments total_earnedstring Lifetime earned income
Get Deposit Address Returns a deposit address for funding the agent wallet. EVM chains (Ethereum, BSC) share the same address.
curl -s -X POST \
"$AGENTWALLEX_BASE_URL/agents/AGENT_ID/deposit" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chain": "ethereum"
}' | jq
Field Type Required Description chainstring no Target chain: ethereum, bsc, tron (defaults to ethereum)
{
"agent_id": "AGENT_ID",
"chain": "ethereum",
"address": "0x..."
}
Transfer Initiates a transfer from an agent's wallet.
curl -s -X POST \
"$AGENTWALLEX_BASE_URL/agents/AGENT_ID/transfer" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": "10.00",
"to_address": "0xRecipientAddress",
"chain": "ethereum",
"token": "USDC"
}' | jq
Field Type Required Description amountstring yes Amount to transfer to_addressstring yes Recipient wallet address chainstring no Target chain (defaults to ethereum) tokenstring no Token to transfer: USDC or USDT (defaults to USDC)
Field Type Description transaction_idstring Transaction identifier amountstring Transferred amount to_addressstring Recipient address chainstring Blockchain network tx_hashstring On-chain transaction hash (when available) statusstring Transaction status
Get Transaction Status Retrieves the current status and details of a transaction.
curl -s -X GET \
"$AGENTWALLEX_BASE_URL/transactions/TRANSACTION_ID" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" | jq
Field Type Description transaction_idstring Transaction identifier statusstring One of: pending, completed, failed, cancelled amountstring Transaction amount from_addressstring Sender wallet address to_addressstring Recipient wallet address tokenstring Token symbol (USDC or USDT) chainstring Blockchain network tx_hashstring On-chain transaction hash (when available) error_messagestring Error details if status is failed confirmed_atstring ISO 8601 timestamp of confirmation
List Transactions Lists transactions with optional filtering. Transactions are read-only.
curl -s -X GET \
"$AGENTWALLEX_BASE_URL/transactions?agent_id=AGENT_ID&status=completed&page_num=1" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" | jq
Field Type Required Description agent_idstring no Filter by agent statusstring no Filter by status directionstring no Filter by direction: inbound, outbound page_numnumber no Page number (default: 1) page_sizenumber no Items per page (default: 20)
Workflow Examples
Flow 1: Check Balance, Send Payment, Verify Transaction Step 1 — Check the agent's available balance:
curl -s -X GET \
"$AGENTWALLEX_BASE_URL/agents/AGENT_ID/balance" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" | jq '.[0].available'
Step 2 — Transfer funds (only if balance is sufficient):
TX=$(curl -s -X POST \
"$AGENTWALLEX_BASE_URL/agents/AGENT_ID/transfer" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": "10.00",
"to_address": "0xRecipientAddress",
"chain": "ethereum",
"token": "USDC"
}')
TX_ID=$(echo "$TX" | jq -r '.transaction_id')
echo "Transaction ID: $TX_ID"
Step 3 — Check the transaction:
curl -s -X GET \
"$AGENTWALLEX_BASE_URL/transactions?agent_id=AGENT_ID&status=completed" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" | jq '.data[0]'
Flow 2: Create Agent, Fund Wallet, Send Payment Step 1 — Create a new agent:
AGENT=$(curl -s -X POST \
"$AGENTWALLEX_BASE_URL/agents" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_name": "payment-bot",
"chain": "ethereum",
"agent_description": "Handles outbound payments"
}')
AGENT_ID=$(echo "$AGENT" | jq -r '.agent_id')
echo "Agent ID: $AGENT_ID"
Step 2 — Get a deposit address for the new agent:
DEPOSIT=$(curl -s -X POST \
"$AGENTWALLEX_BASE_URL/agents/$AGENT_ID/deposit" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"chain": "ethereum"}')
echo "Deposit to: $(echo "$DEPOSIT" | jq -r '.address')"
Step 3 — After funding, check balance and transfer:
# Check balance
curl -s -X GET \
"$AGENTWALLEX_BASE_URL/agents/$AGENT_ID/balance" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" | jq '.[0].available'
# Transfer USDC
curl -s -X POST \
"$AGENTWALLEX_BASE_URL/agents/$AGENT_ID/transfer" \
-H "X-API-Key: $AGENTWALLEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": "10.00",
"to_address": "0xRecipientAddress",
"chain": "ethereum",
"token": "USDC"
}' | jq
Guardrails & Safety When using this skill, you MUST follow these rules:
Never send to zero or null addresses. Always validate that to_address is a non-empty, properly formatted address before creating a transaction.
Always check balance before sending. Query the agent's available balance and confirm it covers the intended amount plus potential fees.
Verify transaction amounts are reasonable. Before submitting, confirm the amount matches the intended payment. Reject or flag amounts that appear unusually large.
Confirm recipient address format. For EVM chains (Ethereum, BSC): address starts with 0x and is 42 characters. For Tron: address starts with T and is 34 characters.
Verify token support on chain. Ethereum and BSC support USDC and USDT. Tron only supports USDT.
Error Handling HTTP Status Error Type Description Action 400 validation_errorInvalid request parameters Check request body and fix validation errors 401 authentication_errorInvalid or missing API key Run agentwallex_setup to reconfigure credentials 403 authorization_errorInsufficient permissions Check API key scope and agent ownership 404 not_found_errorResource does not exist Verify the ID is correct and exists 409 conflict_errorResource conflict The resource already exists or has a conflict 429 rate_limit_errorToo many requests Back off with exponential delay and retry 500 internal_errorInternal server error Retry after a short delay 503 service_unavailableService temporarily unavailable Retry after a short delay
Troubleshooting Problem Solution "AgentWallex is not configured yet" Run agentwallex_setup to start the setup flow, then use agentwallex_configure to save credentials. "Invalid API key format" API keys must start with awx_. Get a valid key from the Dashboard . Balance shows 0 but funds were deposited Deposits may take a few minutes to confirm on-chain. Wait and re-query. Also verify you are checking the correct chain. Transaction stuck in pending On-chain confirmation times vary. Poll the transaction status endpoint periodically. If stuck for over 10 minutes, check the chain's block explorer using the tx_hash. curl: command not foundInstall curl via your system package manager (apt install curl, brew install curl, etc.). jq: command not foundInstall jq via your system package manager (apt install jq, brew install jq, etc.).