internet-court/okx-agentic-wallet
OKX Agentic Wallet — the single skill for the user's wallet and on-chain execution. Use it whenever the user wants to operate their wallet or execute an on-chain action, including: login & accounts, balance / holdings, wallet address / deposit / receive, send / transfer, contract calls (approve / deposit / withdraw), transaction history & status, message signing, wallet export & policy; pay gas with a stablecoin (Gas Station, Solana); swap / trade / buy / sell / convert, get a quote; cross-chain bridge & track arrival; limit orders (buy dip / take profit / stop loss / buy above) plus cancel / list / resume them; broadcast / gas / simulate / track a transaction; look up any public address's holdings; security scanning (token / honeypot 蜜罐 / 貔貅, DApp phishing, tx & signature checks, approvals); audit log. Once matched, follow this skill's Intent Routing to dispatch to the exact action.
npx skills add https://github.com/internet-court/internet-court-skill --skill okx-agentic-wallet
Unified wallet skill driving the onchainos CLI: wallet lifecycle, Gas Station, DEX swap, cross-chain bridge, limit-order strategy, transaction gateway, public-address portfolio, security scanning, and audit log.
Match the user intent to a row, then read that row's linked file first — it holds the flow. Read only the matched file; do not load other rows' files. Each file links its own deeper files (cli-reference, troubleshooting) at the bottom via explicit links — open those when the flow needs them; never construct a file path yourself.
| User Intent | Reference |
| --- | --- |
| Sign in / connect / OTP verify / API-Key login / logout; add / switch account; login status | wallet |
| My wallet address / QR code; check my (logged-in) balance / holdings | wallet |
| Send / transfer native or ERC-20 / SPL tokens | wallet |
| Call a contract (approve / deposit / withdraw / custom function) | wallet |
| Transaction history / tx detail / order status; sign a message (personalSign / EIP-712) | wallet |
| Policy / spending limit / whitelist; export wallet / mnemonic; MEV protection for a contract-call; third-party Solana plugin write pre-flight | wallet |
| Pay gas with a stablecoin on Solana; enable / disable / change default gas token / status; a send / contract-call returns gasStationUsed or a Gas Station Confirming; Gas Station FAQ / "check order" | gas-station |
| Swap / trade / buy / sell / convert tokens; quote; best route; calldata-only swap; liquidity sources; ERC-20 approval for a DEX | swap |
| Bridge / cross-chain swap / move tokens between chains; bridge quote / fee comparison; supported bridges; track cross-chain arrival | bridge |
| Limit order: buy dip / take profit / stop loss / buy above; cancel / list / resume limit (strategy) orders | strategy |
| Broadcast a signed / raw tx; estimate gas price / gas-limit; simulate a tx; track a broadcast order | gateway |
| A given public address's balance / holdings / total value (0xAbc… / a Solana address) | portfolio |
| Token / honeypot (蜜罐 / 貔貅) safety; DApp / URL phishing; tx or signature pre-check; check / list / revoke token approvals (ERC-20 / Permit2) | security |
| Export / locate audit log, view command history | audit-log |
Before the first onchainos command this session, read and follow _shared/preflight.md.
onchainos <group> <subcommand> --help (the CLI is the source of truth), or load that domain's -cli-reference.md when the flow needs it (each domain file lists its own deeper files at the bottom). Don't load it up front.--chain accepts numeric chain IDs and human-readable names. Resolution rules and the supported-chain matrix live in _shared/chain-support.md. If <100% confident of a chain name, run onchainos wallet chains.
Some state-changing commands return confirming (exit code 2) when the backend needs user confirmation. The response carries message (prompt to show) and next (what to do after they confirm).
message and ask for confirmation.next (usually: re-run the same command with --force appended).Never pass --force on the FIRST invocation of a state-changing command. Add --force only after all of: (1) you ran the command once without it, (2) the CLI returned a Confirming response (exit code 2, "confirming": true), (3) you displayed message and the user explicitly confirmed.
1.5 ETH), never base units.< 0.01, show full precision.$1.2M, $340K); sort holdings by USD value descending.0x1234...abcd); native tokens with empty tokenAddress → (native).wETH, stETH, wBTC, xOKB…) and its price differs >50% from the base token, add an inline price unverified flag and suggest onchainos token price-info to cross-check.clientId, API keys, private keys, seed phrases, or passwords. Never expose: accessToken, refreshToken, apiKey, secretKey, passphrase, sessionKey, sessionCert, teeId, encryptedSessionSk, signingKey, raw tx data. Show raw accountName (never raw accountId to the user).txHash, signature, contract address) MUST be echoed verbatim, character-for-character from the most recent CLI stdout. Never reproduce an identifier from memory, expand an abbreviated form, or re-type it across messages — re-invoke the CLI (wallet addresses --format json or wallet status) and copy from fresh stdout. Never paraphrase, normalize case, insert spaces, or line-break inside an identifier. Always display the full txHash.0x-prefixed, 42 chars; Solana Base58, 32–44 chars. Validate before sending.executeResult is false → show executeErrorMsg, do NOT broadcast.block > warn > empty (safe). Top-level action = highest priority from riskItemDetail.Take internet-court/okx-agentic-wallet from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.