aeon-distribute-tokens/SKILL.md
Batch token payouts via the Bankr Wallet API with per-recipient idempotency, two-phase resolve→execute, dry-run preview, and recovery from partial runs. Re-runs within the same UTC day are a no-op for completed rows. Use for weekly contributor rewards, tip pools, leaderboard payouts — any "pay N wallets X amount" flow where double-sending must be impossible. Triggers: "distribute tokens", "pay contributors", "weekly payout", "send USDC to this list", "tip these handles".
npx skillsauth add bankrbot/skills aeon-distribute-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.
Production-grade batch payouts. State is keyed on (list, recipient, utc_date) so any re-run within the same day skips already-completed rows.
BANKR_API_KEY scope (read-write required), preflight portfolio balance, resolve every @handle to an EVM address via Bankr Agent, build the plan. Aborts before any transfer if balance < total × 1.05.READY row, call POST /wallet/transfer. Persist state to disk after every line, not at the end.Dry-run runs RESOLVE only and prints the plan with no transfers.
defaults:
token: USDC
amount: "5"
chain: base
lists:
contributors:
description: "Weekly contributor rewards"
token: USDC
amount: "10"
recipients:
- handle: "@alice"
amount: "15"
- handle: "@bob"
- address: "0x742d...5678"
label: "Charlie"
amount: "20"
Token addresses on Base:
0x833589fcd6edb6e08f4c7c32d4f71b54bda02913tokenAddress: 0x000...000, isNativeToken: true| Endpoint | Purpose |
|---|---|
| GET /wallet/me | Preflight: identity + scope check. 403 → key is read-only, abort. |
| GET /wallet/portfolio?chain=base | Balance check vs total × 1.05. |
| POST /agent/prompt + GET /agent/job/{id} | @handle → address resolution. Never used for transfers. |
| POST /wallet/transfer | The only sanctioned transfer endpoint. |
curl -fsS -X POST "https://api.bankr.bot/wallet/transfer" \
-H "X-API-Key: ${BANKR_API_KEY}" -H "Content-Type: application/json" \
-d '{"recipientAddress":"0x...","tokenAddress":"0x8335...","amount":"15","isNativeToken":false}'
{
"contributors|@alice|2026-05-12": {
"list": "contributors", "recipient": "@alice", "address": "0x...",
"amount": "15", "token": "USDC",
"status": "completed", "txHash": "0x...",
"timestamp": "2026-05-12T12:34:56Z"
}
}
Read before sending; persist after every line.
| Response | Action |
|---|---|
| 200 + success: true | Mark completed, store txHash, persist immediately. |
| 200 + success: false | Mark failed with error reason. |
| 403 | Key lost write scope — abort remaining rows. |
| 429 | Sleep 60s, retry once; if still 429 abort remaining. |
| 5xx / network | Retry once after 10s; mark failed if still bad. |
Verdict line first: COMPLETE / PARTIAL / FAILED / DRY_RUN / NOTHING_TO_SEND. Then per-row breakdown with basescan tx links for successes and reason codes for failures.
RESOLVE_FAILED, not loudly failed — the rest of the plan runs.BANKR_API_KEY with Wallet API enabled and read-write access. Read-only keys 403 at preflight.
data-ai
Discover, bet on, track, and settle Hunch prediction markets in natural language. Trigger when a user wants to bet, take a position, or get odds on a crypto outcome — token market-cap milestones and flips, launchpad races (Bankr vs pump.fun volume / #1-days / launches over a cap), token head-to-head outperformance, mcap strike-ladders, and up/down price rounds. Also trigger on "what can I bet on about $TOKEN", "odds on …", "take YES/NO on …", "show my Hunch bets", "did my market resolve". Settles in USDC on Base via x402 (≤ $10 / bet); every bet returns an on-chain proof.
tools
HSM-backed secret management for AI agents. Store API keys (including Bankr `bk_` keys), passwords, and credentials in an encrypted vault; retrieve them at runtime via MCP without keeping secrets in chat context. Bankr Dynamic Key Vending issues short-lived scoped `bk_usr_` keys from a partner key (`bk_ptr_`) without manual rotation. Policy-based access control, secret rotation, sharing, EVM transaction intents (sign/simulate/broadcast), multi-chain signing keys, treasury multisig proposals, OIDC federation for external service auth, built-in prompt injection detection, and optional Shroud TEE LLM proxy. Use when the agent needs secure credential storage, just-in-time secret access, guarded on-chain signing, or security scanning — not for Bankr trading prompts, portfolio checks, or x402 calls (use the bankr skill instead).
testing
Stake $GEM tokens on Gem Miner (gemminer.app) to earn yield and unlock the in-game earn/cashout system. Use when the user wants to stake GEM, check their staking balance or rewards, unstake, claim rewards, or check whether they meet the 25M GEM gate. Base mainnet only.
development
CodeGrid is a native macOS canvas where multiple coding agents (Claude, Codex, Gemini, Cursor, Grok, shells) run side by side in panes and collaborate via a local agent bus — no tmux, no cloud, no account, no stored API keys. Install this skill when an agent should know how to operate inside a CodeGrid pane, drive the workspace from outside (control socket or codegrid:// deep links), spawn or message sibling agents, or coordinate multi-agent work (delegate, review, pipeline, parallel fan-out, monitor, debate). The differentiator: multiple coding agents collaborating on one canvas, addressable by stable session_id, with a read → message → read protocol built for orchestration.