autonomous-agentCornerStone MCP x402 skill for agents. Tools for stock predictions, backtests, bank linking, and agent/borrower scores. Payment-protected MCP tools (run_prediction, run_backtest, link_bank_account, get_agent_reputation_score, get_borrower_score, by-email variants) with x402 flow (Aptos + Base). Skill handles 402 โ pay โ retry. Wallet attestation for onboarding. For marketplaces where agents download and use skills autonomously.
Install via ClawdBot CLI:
clawdbot install Josephrp/autonomous-agentRequires:
This skill gives you (the agent) a set of tools to: create and manage Aptos and EVM wallets, check balances, and call x402-paid MCP tools (stock prediction, backtest, bank linking, agent/borrower scores). Payment is automatic โ when a paid tool returns 402, the skill signs, verifies, settles, and retries transparently. You just call the tool; the result comes back.
Follow this sequence on first use, then skip to the tool you need:
get_wallet_addresses (no args).create_aptos_wallet then create_evm_wallet.credit_aptos_wallet (Aptos faucet) and fund_evm_wallet (EVM faucet instructions).https://arnstein.ch/flow.html.balance_aptos (must have USDC for predictions/backtests) and/or balance_evm (must have ETH for bank linking).run_prediction, run_backtest, link_bank_account, or score tools.Important: Paid tools will fail with a wallet/whitelist error if the address has not been funded and whitelisted. Always verify wallets and balances first.
get_wallet_addresses{ aptos: [{ address, network }], evm: [{ address, network }] } โ may be empty arrays.create_aptos_wallet{ force?: boolean, network?: "testnet" | "mainnet" } โ defaults: force=false, network=testnet.{ success, address, network, message } or { success: false, message, addresses } if wallet exists and force=false.get_wallet_addresses returns empty aptos array, or user requests a new wallet.success: false and wallet already exists, either use the existing wallet or retry with force: true to add another.create_evm_wallet{ force?: boolean, network?: "testnet" | "mainnet" } โ defaults: force=false, network=testnet.{ success, address, network, message } or { success: false, message, addresses }.create_aptos_wallet.credit_aptos_wallet{ amount_octas?: number } โ default 100,000,000 (= 1 APT).{ success: true, address } (programmatic faucet funded).{ success: true, address, faucet_url } (instructions only; no programmatic faucet).create_aptos_wallet first).fund_evm_wallet{ success: true, address, faucet_url, message } (manual funding instructions).create_evm_wallet first).balance_aptos{ address, balances: { usdc, apt } } or { error }.run_prediction, run_backtest, or score tools to confirm sufficient USDC.balance_evm{ chain?: string } โ default "base". Supported: base, baseSepolia, ethereum, polygon, arbitrum, optimism.{ address, chain, balance, symbol } or { error }.link_bank_account to confirm sufficient ETH on Base Sepolia.chain: "baseSepolia".All paid tools accept both Aptos and EVM payment. The skill picks the best option or follows PREFERRED_PAYMENT_ORDER. You never see 402 errors โ just call the tool and get the result or an error message.
run_prediction{ symbol: string, horizon?: number } โ symbol is a stock ticker (e.g. "AAPL"), horizon is days (default 30).{ error }.run_prediction({ symbol: "AAPL", horizon: 30 })run_backtest{ symbol: string, startDate?: string, endDate?: string, strategy?: string } โ dates in "YYYY-MM-DD", strategy defaults to "chronos".{ error }.run_backtest({ symbol: "TSLA", startDate: "2024-01-01", endDate: "2024-12-31", strategy: "chronos" })link_bank_account{ link_token } or account ID for Plaid bank linking, or { error }.get_agent_reputation_score{ agent_address?: string, payer_wallet?: string } โ both optional; uses the configured wallet if omitted.{ reputation_score: number } (e.g. 100) or 403 if not allowlisted, or { error }.payer_wallet).get_borrower_score{ agent_address?: string, payer_wallet?: string } โ same pattern.{ score: number } (100 base; higher with bank linked) or { error }.get_agent_reputation_score_by_email{ email: string, payer_wallet?: string } โ resolves email to allowlisted agent.{ reputation_score: number } or { error }.SCORE_BY_EMAIL_ENABLED must be set on the server. Higher fee.get_borrower_score_by_email{ email: string, payer_wallet?: string } โ same pattern.{ score: number } or { error }.SCORE_BY_EMAIL_ENABLED must be set on the server. Higher fee.get_wallet_addresses
โ aptos empty? โ create_aptos_wallet โ credit_aptos_wallet โ tell user to whitelist
โ aptos exists? โ balance_aptos
โ has USDC? โ run_prediction({ symbol: "X", horizon: 30 })
โ no USDC? โ tell user to fund USDC, provide address
get_wallet_addresses
โ evm empty? โ create_evm_wallet โ fund_evm_wallet โ tell user to whitelist
โ evm exists? โ balance_evm({ chain: "baseSepolia" })
โ has ETH? โ link_bank_account
โ no ETH? โ fund_evm_wallet (returns faucet URL)
get_wallet_addresses
โ has aptos or evm? โ get_agent_reputation_score + get_borrower_score
โ neither? โ create wallets first, whitelist, then query
| Error pattern | Meaning | What to do |
|--------------|---------|------------|
| "No Aptos wallet" | Wallet file missing | Call create_aptos_wallet |
| "No EVM wallet" | Wallet file missing | Call create_evm_wallet |
| "already exist. Use force: true" | Wallet exists, not overwriting | Use existing wallet, or pass force: true to add another |
| "Payment verification failed" | Insufficient funds or wrong asset | Check balance; tell user to fund the wallet |
| "No Aptos wallet configured" / "No EVM wallet configured" | Paid tool needs wallet that doesn't exist | Create the missing wallet type |
| "Unsupported chain" | Invalid chain name for balance_evm | Use one of: base, baseSepolia, ethereum, polygon, arbitrum, optimism |
| "timed out after 300s" | MCP call took too long | Retry once; the server may be under load |
| "403" or "not allowlisted" | Wallet not whitelisted | Tell user to whitelist address at https://arnstein.ch/flow.html |
npm install from repo root. Copy .env.example to .env.APTOS_WALLET_PATH, EVM_WALLET_PATH or EVM_PRIVATE_KEY).create_aptos_wallet, create_evm_wallet) or CLI (node src/setup-aptos.js, node src/setup.js). Fund and whitelist all addresses at https://arnstein.ch/flow.html.| Task | Command |
|------|--------|
| Generate Aptos wallet | npm run setup:aptos |
| Generate EVM wallet | npm run setup |
| Show addresses for whitelist | npm run addresses |
| Credit Aptos (devnet) | npm run credit:aptos (set APTOS_FAUCET_NETWORK=devnet) |
| EVM balance | npm run balance -- |
| Transfer ETH/tokens | npm run transfer -- |
| Swap tokens (Odos) | npm run swap -- |
| Run skill demo | npx cornerstone-agent "Run a 30-day prediction for AAPL" |
| Attest Aptos wallet | npm run attest:aptos |
| Attest EVM wallet | npm run attest:evm |
Source: FinTechTonic/autonomous-agent
Generated Feb 28, 2026
An autonomous agent uses this skill to perform stock predictions and backtests for a user's investment portfolio. It automatically handles micro-payments in USDC for each analysis, enabling real-time market insights without manual payment steps. This is ideal for robo-advisors or personal finance apps.
A lending platform integrates this skill to fetch agent reputation and borrower scores via automated payments. It streamlines risk assessment for loan approvals by leveraging x402 flows, reducing operational costs and improving decision speed. Useful for peer-to-peer lending or banking services.
A financial app uses the link_bank_account tool to connect user bank accounts through Plaid, with payments handled seamlessly via EVM wallets. This enables secure onboarding for budgeting or payment apps without users managing transactions manually. Targets fintech startups needing compliance-ready integrations.
A marketplace where agents download and use this skill to offer paid services like predictions or scores. The automatic payment retry and wallet attestation ensure reliable monetization, allowing agents to focus on service delivery rather than payment logistics. Suitable for decentralized AI agent ecosystems.
A learning platform uses the skill's backtesting and prediction tools in a testnet environment to teach trading strategies. Students fund wallets via faucets and practice with real-time data, gaining hands-on experience without financial risk. Ideal for educational institutions or trading courses.
Charge users a small fee (e.g., ~6ยข per call) for accessing prediction, backtest, or scoring tools. Revenue is generated through micro-transactions handled automatically by the x402 flow, making it scalable for high-volume usage. This model suits SaaS platforms offering financial analytics.
Offer tiered subscription plans that include monthly credits for tool usage, such as predictions or bank linking. Users pay upfront, and the skill deducts credits via automated payments, providing predictable revenue and encouraging loyalty. Effective for B2B clients needing regular access.
Operate a marketplace where agents use this skill to sell services, taking a commission on each transaction. The automatic payment handling reduces friction, and revenue comes from a percentage of tool fees. Ideal for platforms aggregating autonomous agent offerings.
๐ฌ Integration Tip
Always call get_wallet_addresses first to check existing wallets, then fund and whitelist them before using paid tools to avoid errors.
Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Clau...
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Search and analyze your own session logs (older/parent conversations) using jq.
Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.
Ultimate AI agent memory system for Cursor, Claude, ChatGPT & Copilot. WAL protocol + vector search + git-notes + cloud backup. Never lose context again. Vibe-coding ready.
Headless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection