Typhoon Starknet Account
Create an anonymous Starknet wallet via Typhoon and interact with Starknet contracts. Privacy-focused wallet creation for agents requiring anonymity.
Create an anonymous Starknet wallet via Typhoon and interact with Starknet contracts. Privacy-focused wallet creation for agents requiring anonymity.
Real data. Real impact.
Growing
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
This skill provides agent-facing scripts for:
references/ (ABI discovery, Typhoon account flow, preflight/fee simulation notes)scripts/create-account.js, scripts/parse-smart.js, scripts/resolve-smart.jsscripts/read-smart.js, scripts/invoke-contract.js, scripts/avnu-swap.jsscripts/read-smart.js (call ERC20 allowance(owner, spender))npm install starknet@^9.2.1 typhoon-sdk@^1.1.13 @andersmyrmel/vard@^1.2.0 @avnu/avnu-sdk compromise@^14.14.5 ws@^8.19.0
These scripts talk to Starknet via JSON-RPC. Configure one of:
STARKNET_RPC_URL in your environment (recommended), ORrpcUrl in the JSON input for scripts that support it.If neither is provided, scripts fall back to the public Lava mainnet RPC:
https://rpc.starknet.lava.build:443import { RpcProvider, Account, Contract } from 'starknet';const provider = new RpcProvider({ nodeUrl: process.env.STARKNET_RPC_URL || 'https://rpc.starknet.lava.build:443' });
// signer can be a private key string or Starknet Signer instance const account = new Account({ provider, address: process.env.ACCOUNT_ADDRESS, signer: process.env.PRIVATE_KEY });
const contract = new Contract({ abi, address: contractAddress, providerOrAccount: account });
// read const balance = await contract.call('balance_of', [account.address]);
// write (sign -> send -> wait) const tx = await contract.invoke('transfer', [to, amount], { waitForTransaction: false }); const receipt = await provider.waitForTransaction(tx.transaction_hash);
Common calls:
provider.getBlock('latest')provider.callContract({ contractAddress, entrypoint, calldata })provider.getClassAt(contractAddress)RPC_UNAVAILABLE → Verify STARKNET_RPC_URL, check network reachability, retry with backoff.INVALID_ADDRESS → Validate 0x... address format and expected network/account.INSUFFICIENT_FUNDS → Check STRK/token balances before write calls; reduce amount or top up.CONTRACT_CALL_FAILURE → Run read/simulate first, log contract/method/calldata, retry only for transient RPC errors.EXEC:node scripts/parse-smart.js '{"prompt":"STRING"}'
OUT (success):
{ "success": true, "security": {"safe": true}, "tokens": ["ETH","STRK"], "tokenMap": {"STRK":{"address":"0x...","decimals":18}}, "protocols": ["Ekubo","AVNU"], "abis": {"Ekubo":["swap"],"AVNU":["swap"]}, "addresses": {"Ekubo":"0x...","AVNU":"0x01"} }
OUT (no account):
{ "success": true, "canProceed": false, "needsAccount": true, "operationType": "NO_ACCOUNT", "noAccountGuide": {"steps": [...]}, "nextStep": "CREATE_ACCOUNT_REQUIRED" }
OUT (account creation intent):
{ "success": true, "canProceed": false, "operationType": "CREATE_ACCOUNT_INTENT", "hasAccount": true|false, "noAccountGuide": {"steps": [...]}, "nextStep": "ACCOUNT_ALREADY_EXISTS|CREATE_ACCOUNT_REQUIRED" }
LLM builds:
{ "parsed": { "operations": [{"action":"swap","protocol":"AVNU","tokenIn":"ETH","tokenOut":"STRK","amount":10}], "operationType": "WRITE|READ|EVENT_WATCH|CONDITIONAL", "tokenMap": {...}, "abis": {...}, "addresses": {...} } }
EXEC:node scripts/resolve-smart.js '{"parsed":{...}}'
OUT (authorization required):
{ "canProceed": true, "nextStep": "USER_AUTHORIZATION", "authorizationDetails": {"prompt":"Authorize? (yes/no)"}, "executionPlan": {"requiresAuthorization": true} }
RULE:
nextStep == "USER_AUTHORIZATION", ask the user for explicit confirmation.AVNU SDK sequence for WRITE/CONDITIONAL (boilerplate):
RpcProvider + Account).Typical AVNU SDK calls in this skill:
fetchTokens(...)getQuotes(...)executeSwap(...){ "watchers": [{ "action": "swap", "protocol": "AVNU", "tokenIn": "STRK", "tokenOut": "ETH", "amount": 10, "condition": { "eventName": "Swapped", "protocol": "Ekubo", "timeConstraint": {"amount":5,"unit":"minutes"} } }] }
TimeConstraint → creates cron job with TTL auto-cleanup.
No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.