Crypto Wallet
Discover supported cryptocurrencies, generate deposit addresses, and withdraw crypto to external wallets.
Like a lobster shell, security has layers — review code before you run it.
License
Runtime requirements
SKILL.md
Crypto Wallet
Use this skill when the user needs to deposit cryptocurrency into their wallet or withdraw to an external address.
Configuration
The default API base URL is https://payment-api-dev.aiotnetwork.io. All endpoints are relative to this URL.
To override (e.g. for local development):
export AIOT_API_BASE_URL="http://localhost:8080"
If AIOT_API_BASE_URL is not set, use https://payment-api-dev.aiotnetwork.io as the base for all requests.
Available Tools
get_coins— List all supported cryptocurrencies |GET /api/v1/wallet/coins| Requires authget_coin_networks— List supported blockchain networks for a specific coin |GET /api/v1/wallet/coins/:coin_id/networks| Requires authget_deposit_address— Generate or retrieve a deposit address for a coin on a specific network |POST /api/v1/wallet/deposit/address| Requires authget_withdraw_quote— Get a quote for a crypto withdrawal (fees, limits) |POST /api/v1/wallet/withdraw/quote| Requires authinitiate_withdraw— Start a crypto withdrawal to an external address |POST /api/v1/wallet/withdraw| Requires authget_withdraw_status— Check the status of a crypto withdrawal |GET /api/v1/wallet/withdraw/:id| Requires authconfirm_withdraw— Confirm a pending crypto withdrawal |POST /api/v1/wallet/withdraw/:id/confirm| Requires auth | Requires transaction PIN
Recommended Flows
Deposit Crypto
Generate a deposit address and fund your wallet with crypto
- List coins: GET /api/v1/wallet/coins — find the coin you want to deposit
- Get networks: GET /api/v1/wallet/coins/:coin_id/networks — choose the blockchain network
- Get address: POST /api/v1/wallet/deposit/address with {coin_id, network_id} — returns deposit address
- Send crypto to the returned address from your external wallet
Withdraw Crypto
Send crypto from your wallet to an external address
- Get quote: POST /api/v1/wallet/withdraw/quote with {coin_id, network_id, amount, address}
- Initiate: POST /api/v1/wallet/withdraw with quote details
- Confirm: POST /api/v1/wallet/withdraw/:id/confirm (requires transaction PIN)
- Track: GET /api/v1/wallet/withdraw/:id — monitor until completed
Rules
- Always verify the correct network before depositing — sending to the wrong network will lose funds
- Withdrawal follows a quote-then-confirm pattern — confirmation requires a transaction PIN
- Deposit addresses are deterministic — the same coin+network always returns the same address
Agent Guidance
Follow these instructions when executing this skill:
-
Always follow the documented flow order. Do not skip steps.
-
If a tool requires authentication, verify the session has a valid bearer token before calling it.
-
If a tool requires a transaction PIN, ask the user for it fresh each time. Never cache or log PINs.
-
Never expose, log, or persist secrets (passwords, tokens, full card numbers, CVVs).
-
If the user requests an operation outside this skill's scope, decline and suggest the appropriate skill.
-
If a step fails, check the error and follow the recovery guidance below before retrying.
-
Always verify the user selected the correct blockchain network before generating a deposit address. Sending to the wrong network will permanently lose funds.
-
Withdrawal follows: get quote → initiate → confirm with transaction PIN. The confirmation step requires a 4-digit transaction PIN. Never skip the quote step.
-
Deposit addresses are deterministic — the same coin + network always returns the same address.
Files
1 totalComments
Loading comments…
