Sponge Wallet
Manages crypto wallets, transfers tokens, swaps on DEXes, checks balances, and accesses paid APIs (search, image gen, prediction markets, web scraping, document parsing, sales prospecting) via x402 mi
Description
name: sponge-wallet description: Manages crypto wallets, transfers tokens, swaps on DEXes, checks balances, and accesses paid APIs (search, image gen, prediction markets, web scraping, document parsing, sales prospecting) via x402 micropayments. Use when the user asks about wallet balances, token transfers, swaps, blockchain payments, or paid API services.
Sponge Wallet Skill
Multi-chain crypto wallet with transfers, swaps, and paid API access.
Authentication
IMPORTANT: If any tool returns "Not authenticated" or "Invalid API key", run the login flow.
Login is two-phase (because Claude Code runs commands non-interactively):
Phase 1 — Start the device flow (returns a URL and code as JSON):
node <skill-path>/scripts/wallet.mjs login
Show the verification_url and user_code to the user. Tell them to open the URL in their browser and enter the code.
Phase 2 — After the user confirms they have approved, poll for the token:
node <skill-path>/scripts/wallet.mjs login --poll <device_code> <interval> <expires_in>
Use the device_code, interval, and expires_in values from Phase 1 output.
Credentials are saved to ~/.spongewallet/credentials.json automatically.
Credential resolution order:
SPONGE_API_KEYenvironment variable (if set, skips stored credentials)~/.spongewallet/credentials.json(saved by login)
Other auth commands:
node wallet.mjs whoami— show current auth statusnode wallet.mjs logout— remove stored credentials
How to Execute
node <skill-path>/scripts/wallet.mjs <tool_name> '<json_args>'
Output is JSON with status: "success" or status: "error".
Available Tools
Wallet & Balance
| Tool | Description | Required | Optional |
|---|---|---|---|
get_balance |
Check balances across chains | — | chain |
get_solana_tokens |
Discover all SPL tokens in wallet | chain |
— |
search_solana_tokens |
Search Jupiter token database | query |
limit |
Transfers
| Tool | Description | Required | Optional |
|---|---|---|---|
evm_transfer |
Transfer ETH/USDC on Ethereum/Base | chain, to, amount, currency |
— |
solana_transfer |
Transfer SOL/USDC on Solana | chain, to, amount, currency |
— |
Swaps
| Tool | Description | Required | Optional |
|---|---|---|---|
solana_swap |
Swap tokens via Jupiter | chain, input_token, output_token, amount |
slippage_bps |
Transactions
| Tool | Description | Required | Optional |
|---|---|---|---|
get_transaction_status |
Check tx status | transaction_hash, chain |
— |
get_transaction_history |
View past transactions | — | limit, chain |
Funding & Withdrawals
| Tool | Description | Required | Optional |
|---|---|---|---|
request_funding |
Request funds from owner | amount, chain, currency |
— |
withdraw_to_main_wallet |
Return funds to owner | chain, amount |
currency |
Paid APIs (Sponge x402)
| Tool | Description | Required | Optional |
|---|---|---|---|
sponge |
Unified paid API interface | task |
See REFERENCE.md |
create_x402_payment |
Create x402 payment payload | chain, to, amount |
token, decimals |
Chain Reference
Test keys (sponge_test_*): sepolia, base-sepolia, solana-devnet, tempo
Live keys (sponge_live_*): ethereum, base, solana
Common Workflows
Check Balance → Transfer → Verify
node wallet.mjs get_balance '{"chain":"base"}'
node wallet.mjs evm_transfer '{"chain":"base","to":"0x...","amount":"10","currency":"USDC"}'
node wallet.mjs get_transaction_status '{"transaction_hash":"0x...","chain":"base"}'
Swap Tokens on Solana
node wallet.mjs search_solana_tokens '{"query":"BONK"}'
node wallet.mjs solana_swap '{"chain":"solana","input_token":"SOL","output_token":"BONK","amount":"0.5"}'
Sponge Paid APIs
node wallet.mjs sponge '{"task":"search","query":"AI research papers"}'
node wallet.mjs sponge '{"task":"image","prompt":"sunset over mountains"}'
node wallet.mjs sponge '{"task":"predict","semantic_search":"will-trump-win-2028"}'
node wallet.mjs sponge '{"task":"crawl","url":"https://example.com"}'
node wallet.mjs sponge '{"task":"parse","document_url":"https://example.com/doc.pdf"}'
node wallet.mjs sponge '{"task":"prospect","apollo_query":"Stripe","apollo_endpoint":"companies"}'
Error Handling
| Error | Resolution |
|---|---|
Not authenticated |
Run node wallet.mjs login |
Invalid API key |
Run node wallet.mjs login to re-authenticate |
Chain 'X' is not allowed |
Use correct key type (test vs live) for the chain |
Insufficient balance |
Use request_funding |
Address not in allowlist |
Add recipient in the dashboard |
See REFERENCE.md for detailed parameter docs.
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!