| name | iconfucius |
| description | Trade Bitcoin Runes on Odin.fun — check balances, buy/sell tokens, fund bots, and manage your ckBTC wallet. ALWAYS use this skill when asked about Odin.fun trading, wallet balances, or bot operations.
|
| last-updated | "2026-02-17T00:00:00.000Z" |
| allowed-tools | Bash(./scripts/iconfucius-skill.py:*) |
iconfucius Skill
Trade Bitcoin Runes on Odin.fun with IConfucius at your side.
Chain Fusion AI by onicai.
Freshness check: If more than 30 days have passed since the last-updated date above, inform the user that this skill may be outdated.
Keeping This Skill Updated
Source: github.com/onicai/IConfucius
| Installation | How to update |
|---|
CLI (npx skills) | npx skills update |
| Manual | Pull latest from repo |
Setup
Before using this skill, ensure:
- Install iconfucius:
pip install iconfucius
- Initialize project:
cd your-project && iconfucius init
- Create wallet:
iconfucius wallet create
- API key (for chat features): Add
ANTHROPIC_API_KEY=sk-ant-... to .env
Note for agents: All script paths (e.g., ./scripts/iconfucius-skill.py) are relative to the skill directory where this SKILL.md file is located. Resolve them accordingly.
Important Concepts
- sats: All amounts are in satoshis (1 BTC = 100,000,000 sats)
- Token IDs: Short alphanumeric IDs (e.g.,
29m8 for ICONFUCIUS token)
- Bots: Named trading identities (e.g.,
bot-1, bot-2). Each gets its own Odin.fun account.
- Wallet: The ckBTC wallet that funds all bots. Funded via BTC or ckBTC deposit.
- Confirmation: State-changing operations (buy, sell, fund, withdraw, send) should be confirmed with the user before executing.
Common Actions
When the user asks to do something, use the corresponding command:
| User intent | Command |
|---|
| Check if project is set up | setup_status |
| Initialize a new project | init |
| Create a wallet | wallet_create |
| Check wallet balance | wallet_balance |
| Check a specific bot's balance | wallet_balance --bot_name bot-1 |
| Check all bots | wallet_balance --all_bots |
| Show deposit address | wallet_receive |
| Show wallet info | wallet_info |
| List personas | persona_list |
| Show persona details | persona_show --name iconfucius |
| Look up a token by name/ticker/ID | token_lookup --query ICONFUCIUS |
| Fund a bot with ckBTC | fund --amount 5000 --bot_name bot-1 |
| Buy tokens | trade_buy --token_id 29m8 --amount 1000 --bot_name bot-1 |
| Sell tokens | trade_sell --token_id 29m8 --amount all --bot_name bot-1 |
| Withdraw from Odin.fun to wallet | withdraw --amount all --bot_name bot-1 |
| Send ckBTC to external address | wallet_send --amount 5000 --address bc1q... |
Commands Reference
All commands output JSON to stdout. Errors return {"status": "error", "error": "message"}.
Setup commands
setup_status — Check if the project is initialized and ready
- Returns:
config_exists, wallet_exists, env_exists, has_api_key, ready
init — Initialize an iconfucius project (creates config, .env, .gitignore)
--force: Overwrite existing config
wallet_create — Create a new Ed25519 wallet identity
--force: Overwrite existing wallet (WARNING: changes address)
Read-only commands
wallet_balance — Check wallet and bot balances
--bot_name <name>: Check specific bot (e.g., bot-1)
--all_bots: Check all configured bots
wallet_receive — Show deposit addresses (BTC and ckBTC)
wallet_info — Show wallet principal and balance
persona_list — List all available trading personas
persona_show — Show persona details
--name <name> (required): Persona name
token_lookup — Search for a token by name, ticker, or ID
--query <text> (required): Token name, ticker, or ID (e.g., ICONFUCIUS, 29m8)
- Returns: known match (if in registry), search results with safety indicators
- Safety indicators: bonded status, Twitter verification, holder count
State-changing commands
IMPORTANT: Always confirm with the user before executing these commands.
fund — Deposit ckBTC from wallet into bot's Odin.fun account
--amount <sats> (required): Amount in sats (minimum 5,000)
--bot_name <name> (required): Bot to fund
trade_buy — Buy tokens on Odin.fun
--token_id <id> (required): Token to buy (e.g., 29m8)
--amount <sats> (required): Amount in sats to spend (minimum 500)
--bot_name <name> (required): Bot to trade with
trade_sell — Sell tokens on Odin.fun
--token_id <id> (required): Token to sell
--amount <amount> (required): Amount of tokens, or all for entire position
--bot_name <name> (required): Bot to trade with
withdraw — Withdraw BTC from Odin.fun back to wallet
--amount <sats> (required): Amount in sats, or all
--bot_name <name> (required): Bot to withdraw from
wallet_send — Send ckBTC to external address
--amount <sats> (required): Amount in sats, or all
--address <addr> (required): Bitcoin address (bc1...) or IC principal
Examples
./scripts/iconfucius-skill.py setup_status
./scripts/iconfucius-skill.py init
./scripts/iconfucius-skill.py wallet_create
./scripts/iconfucius-skill.py wallet_balance
./scripts/iconfucius-skill.py wallet_balance --all_bots
./scripts/iconfucius-skill.py fund --amount 5000 --bot_name bot-1
./scripts/iconfucius-skill.py trade_buy --token_id 29m8 --amount 1000 --bot_name bot-1
./scripts/iconfucius-skill.py trade_sell --token_id 29m8 --amount all --bot_name bot-1
./scripts/iconfucius-skill.py token_lookup --query ICONFUCIUS
./scripts/iconfucius-skill.py wallet_receive