autonomous-agent

CornerStone 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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "autonomous-agent" with this command: npx skills add Josephrp/autonomous-agent

CornerStone MCP x402 Skill (for Agents)

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.


Quick-start workflow

Follow this sequence on first use, then skip to the tool you need:

  1. Check wallets → call get_wallet_addresses (no args).
  2. If empty → call create_aptos_wallet then create_evm_wallet.
  3. Fund → call credit_aptos_wallet (Aptos faucet) and fund_evm_wallet (EVM faucet instructions).
  4. Tell the user to whitelist the returned addresses at https://arnstein.ch/flow.html.
  5. Check balance → call balance_aptos (must have USDC for predictions/backtests) and/or balance_evm (must have ETH for bank linking).
  6. Use paid toolsrun_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.


Tool reference

Wallet management tools (local)

get_wallet_addresses

  • Args: none
  • Returns: { aptos: [{ address, network }], evm: [{ address, network }] } — may be empty arrays.
  • When to use: Always call first before any wallet or paid tool action. Determines what exists.
  • Decision: If both arrays are empty → create wallets. If only one is empty → create the missing one. If both have entries → proceed to balance check or paid tools.

create_aptos_wallet

  • Args: { force?: boolean, network?: "testnet" | "mainnet" } — defaults: force=false, network=testnet.
  • Returns: { success, address, network, message } or { success: false, message, addresses } if wallet exists and force=false.
  • When to use: When get_wallet_addresses returns empty aptos array, or user requests a new wallet.
  • Error handling: If success: false and wallet already exists, either use the existing wallet or retry with force: true to add another.

create_evm_wallet

  • Args: { force?: boolean, network?: "testnet" | "mainnet" } — defaults: force=false, network=testnet.
  • Returns: { success, address, network, message } or { success: false, message, addresses }.
  • Same pattern as create_aptos_wallet.

credit_aptos_wallet

  • Args: { amount_octas?: number } — default 100,000,000 (= 1 APT).
  • Returns on devnet: { success: true, address } (programmatic faucet funded).
  • Returns on testnet: { success: true, address, faucet_url } (instructions only; no programmatic faucet).
  • Prerequisite: Aptos wallet must exist (create_aptos_wallet first).
  • Note: Funded APT is for gas; tools pay in USDC (~6¢). The user may need to acquire testnet USDC separately.

fund_evm_wallet

  • Args: none
  • Returns: { success: true, address, faucet_url, message } (manual funding instructions).
  • Prerequisite: EVM wallet must exist (create_evm_wallet first).
  • Note: Returns a Base Sepolia faucet URL. The user must fund manually; there is no programmatic faucet.

Balance tools (local)

balance_aptos

  • Args: none
  • Returns: { address, balances: { usdc, apt } } or { error }.
  • When to use: Before calling run_prediction, run_backtest, or score tools to confirm sufficient USDC.

balance_evm

  • Args: { chain?: string } — default "base". Supported: base, baseSepolia, ethereum, polygon, arbitrum, optimism.
  • Returns: { address, chain, balance, symbol } or { error }.
  • When to use: Before calling link_bank_account to confirm sufficient ETH on Base Sepolia.
  • Note: For testnet tools, use chain: "baseSepolia".

Paid MCP tools (x402 — payment handled automatically)

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

  • Args: { symbol: string, horizon?: number } — symbol is a stock ticker (e.g. "AAPL"), horizon is days (default 30).
  • Returns: Prediction result object (forecast data, confidence intervals, etc.) or { error }.
  • Cost: ~6¢ USDC (Aptos or EVM).
  • Prerequisite: Funded + whitelisted Aptos or EVM wallet.
  • Example call: run_prediction({ symbol: "AAPL", horizon: 30 })

run_backtest

  • Args: { symbol: string, startDate?: string, endDate?: string, strategy?: string } — dates in "YYYY-MM-DD", strategy defaults to "chronos".
  • Returns: Backtest result (returns, drawdown, sharpe, etc.) or { error }.
  • Cost: ~6¢ USDC.
  • Example call: run_backtest({ symbol: "TSLA", startDate: "2024-01-01", endDate: "2024-12-31", strategy: "chronos" })

link_bank_account

  • Args: none
  • Returns: { link_token } or account ID for Plaid bank linking, or { error }.
  • Cost: ~5¢ (EVM/Base).
  • Prerequisite: Funded + whitelisted EVM wallet (Base Sepolia for testnet).

get_agent_reputation_score

  • Args: { agent_address?: string, payer_wallet?: string } — both optional; uses the configured wallet if omitted.
  • Returns: { reputation_score: number } (e.g. 100) or 403 if not allowlisted, or { error }.
  • Cost: ~6¢ via x402, or free with lender credits (pass payer_wallet).

get_borrower_score

  • Args: { agent_address?: string, payer_wallet?: string } — same pattern.
  • Returns: { score: number } (100 base; higher with bank linked) or { error }.
  • Cost: ~6¢ via x402, or free with lender credits.

get_agent_reputation_score_by_email

  • Args: { email: string, payer_wallet?: string } — resolves email to allowlisted agent.
  • Returns: { reputation_score: number } or { error }.
  • Prerequisite: SCORE_BY_EMAIL_ENABLED must be set on the server. Higher fee.

get_borrower_score_by_email

  • Args: { email: string, payer_wallet?: string } — same pattern.
  • Returns: { score: number } or { error }.
  • Prerequisite: SCORE_BY_EMAIL_ENABLED must be set on the server. Higher fee.

Decision tree for common tasks

"Run a prediction for X"

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

"Link a bank account"

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 my scores"

get_wallet_addresses
  → has aptos or evm? → get_agent_reputation_score + get_borrower_score
  → neither? → create wallets first, whitelist, then query

Error handling

Error patternMeaningWhat to do
"No Aptos wallet"Wallet file missingCall create_aptos_wallet
"No EVM wallet"Wallet file missingCall create_evm_wallet
"already exist. Use force: true"Wallet exists, not overwritingUse existing wallet, or pass force: true to add another
"Payment verification failed"Insufficient funds or wrong assetCheck balance; tell user to fund the wallet
"No Aptos wallet configured" / "No EVM wallet configured"Paid tool needs wallet that doesn't existCreate the missing wallet type
"Unsupported chain"Invalid chain name for balance_evmUse one of: base, baseSepolia, ethereum, polygon, arbitrum, optimism
"timed out after 300s"MCP call took too longRetry once; the server may be under load
"403" or "not allowlisted"Wallet not whitelistedTell user to whitelist address at https://arnstein.ch/flow.html

Setup (for the human installing this skill)

  1. Install: npm install from repo root. Copy .env.example to .env.
  2. Configure: Set wallet paths (APTOS_WALLET_PATH, EVM_WALLET_PATH or EVM_PRIVATE_KEY).
  3. Wallets: Create via tools (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.

CLI commands (from repo root)

TaskCommand
Generate Aptos walletnpm run setup:aptos
Generate EVM walletnpm run setup
Show addresses for whitelistnpm run addresses
Credit Aptos (devnet)npm run credit:aptos (set APTOS_FAUCET_NETWORK=devnet)
EVM balancenpm run balance -- <chain>
Transfer ETH/tokensnpm run transfer -- <chain> <to> <amount> [tokenAddress]
Swap tokens (Odos)npm run swap -- <chain> <fromToken> <toToken> <amount>
Run skill demonpx cornerstone-agent "Run a 30-day prediction for AAPL"
Attest Aptos walletnpm run attest:aptos
Attest EVM walletnpm run attest:evm

Source: FinTechTonic/autonomous-agent

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Web3

OpenClaw News Watcher

Monitors CoinDesk or PANews for new crypto articles, summarizes them, and sends updates to Telegram without API keys or login.

Registry SourceRecently Updated
Web3

research analyst

AI-powered stock & crypto research with 8-dimension analysis, portfolio tracking, and trend detection | AI 驱动的股票与加密货币研究工具,提供 8 维度分析、投资组合追踪和趋势检测

Registry SourceRecently Updated
01
Profile unavailable
Web3

PredictClash

Predict Clash - join prediction rounds on crypto prices and stock indices for PP rewards. Server assigns unpredicted questions, you analyze and submit. Use w...

Registry SourceRecently Updated
1642
Profile unavailable