tokens/SKILL.md
SIP-010 fungible token operations on Stacks L2 — check balances, transfer tokens, get token metadata, list all tokens owned by an address, and get top token holders. Supports well-known tokens by symbol (sBTC, USDCx, ALEX, DIKO) or full contract ID.
npx skillsauth add aibtcdev/skills tokensInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Provides SIP-010 fungible token operations on Stacks L2. Transfer operations require an unlocked wallet (use bun run wallet/wallet.ts unlock first). Balance and info queries work without a wallet.
Supports well-known tokens by symbol: sBTC, USDCx, ALEX, DIKO
Or use the full contract ID: SP2...address.contract-name
bun run tokens/tokens.ts <subcommand> [options]
Get the balance of any SIP-010 token for a wallet address.
bun run tokens/tokens.ts get-balance --token <symbol-or-id> [--address <addr>]
Options:
--token (required) — Token symbol (e.g., USDCx, sBTC) or contract ID--address (optional) — Stacks address to check (uses active wallet if omitted)Output:
{
"address": "SP2...",
"network": "mainnet",
"token": {
"contractId": "SP2...address.usdc-token",
"symbol": "USDCx",
"name": "USD Coin",
"decimals": 6
},
"balance": {
"raw": "1000000",
"formatted": "1 USDCx"
}
}
Transfer any SIP-010 token to a recipient address. Requires an unlocked wallet.
bun run tokens/tokens.ts transfer --token <symbol-or-id> --recipient <addr> --amount <amount> [--memo <text>] [--fee low|medium|high|<microStx>]
Options:
--token (required) — Token symbol or contract ID--recipient (required) — Stacks address to send to--amount (required) — Amount in smallest unit (depends on token decimals)--memo (optional) — Memo message (max 34 bytes)--fee (optional) — Fee preset (low|medium|high) or micro-STX amount; auto-estimated if omittedOutput:
{
"success": true,
"txid": "abc123...",
"from": "SP2...",
"recipient": "SP3...",
"token": "USDCx",
"amount": "1000000",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet"
}
Get metadata for a SIP-010 token (name, symbol, decimals, total supply).
bun run tokens/tokens.ts get-info --token <symbol-or-id>
Options:
--token (required) — Token symbol or contract IDOutput:
{
"network": "mainnet",
"contractId": "SP2...address.usdc-token",
"name": "USD Coin",
"symbol": "USDCx",
"decimals": 6,
"totalSupply": "1000000000000",
"tokenUri": "https://..."
}
List all fungible tokens owned by an address.
bun run tokens/tokens.ts list-user-tokens [--address <addr>]
Options:
--address (optional) — Stacks address to check (uses active wallet if omitted)Output:
{
"address": "SP2...",
"network": "mainnet",
"tokenCount": 2,
"tokens": [
{ "contractId": "SP2....usdc-token::usdcx", "balance": "1000000" },
{ "contractId": "SP3....alex-token::alex", "balance": "500000000" }
]
}
Get the top holders of a SIP-010 token.
bun run tokens/tokens.ts get-holders --token <symbol-or-id> [--limit <n>] [--offset <n>]
Options:
--token (required) — Token symbol or contract ID--limit (optional) — Maximum number of holders to return (default: 20)--offset (optional) — Offset for pagination (default: 0)Output:
{
"token": "USDCx",
"network": "mainnet",
"total": 1234,
"holders": [
{ "address": "SP2...", "balance": "50000000000" },
{ "address": "SP3...", "balance": "25000000000" }
]
}
sBTC, USDCx, ALEX, DIKO — or use the full contract IDdecimals field to convert to human-readable valuesdevelopment
Web of Trust operations for Nostr pubkeys — trust scoring, sybil detection, trust path analysis, neighbor discovery, follow recommendations, and network health. Free tier (wot.klabo.world, 50 req/day) with paid fallback (maximumsats.com, 100 sats via L402). Covers 52K+ pubkeys and 2.4M+ zap-weighted trust edges. Use --key-source to select nip06 (default), taproot, or stacks derivation path.
data-ai
BTC ordinals marketplace operations via Magic Eden — browse active listings, list inscriptions for sale via PSBT flow, submit signed listings, buy inscriptions, and cancel active listings. BTC ordinals only (not Solana). Mainnet-only.
testing
Pay-per-call access to LunarCrush social and market intelligence (Galaxy Score, AltRank, market cap rank, price, 24h change) via x402 on Stacks. USD-pegged pricing recomputed hourly from live STX/USD. Mainnet endpoint live; testnet supported.
devops
Detects HODLMM LP inventory drift (token-ratio imbalance from one-sided swap flow) and restores the target ratio via a corrective Bitflow swap plus a hodlmm-move-liquidity redeploy, gated by the 4h per-pool cooldown.