本文へ移動
cccskills
無料GitHub で公開

aptos-agent

Interact with Aptos blockchain - check balances, transfer APT, swap tokens, stake, and execute Move view functions. Features game-theoretic decision analysis with Nash equilibrium detection. All transactions require explicit approval.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md9.9 KB
  • CONCOMITANT_SKILLS.md3.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Aptos Claude Agent

Aptos blockchain interaction with game-theoretic decision analysis.

When to Use

  • Check APT wallet balances
  • Transfer APT tokens
  • Swap tokens on DEX (Liquidswap, etc.)
  • Stake APT
  • Call Move view functions
  • Process natural language blockchain intents
  • Query NFT/token collections
  • Interact with multisig accounts

Setup

MCP server configured in ~/.mcp.json:

{
  "aptos": {
    "command": "node",
    "args": ["/path/to/aptos-claude-agent/dist/mcp/server.js"],
    "env": {
      "APTOS_NETWORK": "mainnet",
      "APTOS_PRIVATE_KEY": "${APTOS_PRIVATE_KEY}"
    }
  }
}

Available MCP Tools

ToolDescription
aptos_balanceGet wallet balance
aptos_transferTransfer APT (requires approval)
aptos_swapSwap tokens on DEX (requires approval)
aptos_stakeStake APT (requires approval)
aptos_viewRead-only view function call
aptos_intentProcess natural language intent
aptos_approveApprove/reject pending decision
aptos_pendingList pending decisions

Security Model

  1. Simulation First: All transactions simulated before execution
  2. Approval Required: Every state-changing operation needs explicit approval
  3. Game-Theoretic Analysis: Transactions modeled as open games
  4. Wallet Validation: ALWAYS validate key→address before funding

CRITICAL: Wallet Derivation Safety

NEVER use derive-resource-account-address for wallet creation.

Correct Workflow

# 1. Generate key
aptos key generate --output-file my_key

# 2. Derive address FROM PRIVATE KEY
aptos init --private-key-file my_key --network mainnet --profile my_wallet

# 3. VALIDATE before funding
just aptos-validate "PRIVATE_KEY" "EXPECTED_ADDRESS"

# 4. Only fund AFTER validation passes

What Can Go Wrong

  • Using derive-resource-account-address with pubkey = PERMANENT FUND LOSS
  • Resource accounts need signer capabilities from source account
  • If key doesn't match address, funds are unrecoverable

Validation

Run just aptos-validate-all to verify all configured wallets before any funding operation.


Aptos Framework Reference (0x1)

Core Modules

ModulePurpose
0x1::coinLegacy fungible token standard
0x1::fungible_assetNew FA standard (object-based)
0x1::aptos_coinNative APT token
0x1::accountAccount creation/management
0x1::objectObject model foundation
0x1::stakeValidator staking
0x1::delegation_poolDelegated staking
0x1::multisig_accountMulti-signature accounts
0x1::aptos_governanceOn-chain governance
0x1::codeModule deployment

0x1::coin Module

Key Structs:

  • Coin<CoinType> - Fungible token container
  • CoinStore<CoinType> - Account balance storage
  • CoinInfo<CoinType> - Token metadata
  • MintCapability<CoinType> - Minting rights
  • BurnCapability<CoinType> - Burning rights
  • FreezeCapability<CoinType> - Freeze rights

View Functions:

0x1::coin::balance<CoinType>(owner: address): u64
0x1::coin::is_account_registered<CoinType>(account: address): bool
0x1::coin::name<CoinType>(): vector<u8>
0x1::coin::symbol<CoinType>(): vector<u8>
0x1::coin::decimals<CoinType>(): u8
0x1::coin::supply<CoinType>(): Option<u128>

Entry Functions:

0x1::coin::transfer<CoinType>(from: &signer, to: address, amount: u64)
0x1::coin::register<CoinType>(account: &signer)

0x1::fungible_asset Module

Key Structs:

  • Metadata - Asset metadata object
  • FungibleStore - Balance storage
  • FungibleAsset - Asset container
  • MintRef, BurnRef, TransferRef - Capabilities

View Functions:

0x1::fungible_asset::balance<T>(store: Object<T>): u64
0x1::primary_fungible_store::balance(account: address, metadata: Object<Metadata>): u64

0x1::stake Module

Key Structs:

  • StakePool - Validator stake pool
  • ValidatorConfig - Validator configuration
  • OwnerCapability - Pool ownership

View Functions:

0x1::stake::get_validator_state(pool_address: address): u64
0x1::stake::get_stake(pool_address: address): (u64, u64, u64, u64)

0x1::delegation_pool Module

View Functions:

0x1::delegation_pool::get_stake(pool_address: address, delegator: address): (u64, u64, u64)
0x1::delegation_pool::calculate_and_update_voter_total_voting_power(pool_address: address): u64

0x1::multisig_account Module

Key Functions:

0x1::multisig_account::create(owner: &signer, num_signatures_required: u64, owners: vector<address>)
0x1::multisig_account::create_transaction(multisig: address, payload: vector<u8>)
0x1::multisig_account::approve_transaction(owner: &signer, multisig: address, sequence_number: u64)
0x1::multisig_account::execute_transaction(multisig: address, sequence_number: u64)

Token Standards Reference

Legacy Token (0x3::token)

Key Structs:

  • Token - Token instance with id, amount, properties
  • TokenId - Global unique identifier (creator + collection + name + version)
  • TokenData - Shared metadata (max supply, uri, royalty)
  • TokenStore - Account's token holdings
  • CollectionData - Collection metadata
  • Royalty - Royalty configuration

Entry Functions:

0x3::token::create_collection_script(creator: &signer, name: String, description: String, uri: String, maximum: u64)
0x3::token::create_token_script(creator: &signer, collection: String, name: String, description: String, ...)
0x3::token::mint_script(creator: &signer, token_data_address: address, collection: String, name: String, amount: u64)
0x3::token::direct_transfer_script(sender: &signer, receiver: &signer, creators_address: address, ...)

View Functions:

0x3::token::balance_of(owner: address, id: TokenId): u64
0x3::token::get_royalty(token_data_id: TokenDataId): Royalty
0x3::token::get_token_supply(creator: address, collection: String, name: String): Option<u64>

Digital Asset (0x4::token + 0x4::aptos_token)

Key Structs (0x4::token):

  • Token - Object-based token with collection, index, description, name
  • BurnRef - Burning capability
  • MutatorRef - Mutation capability

Key Structs (0x4::aptos_token):

  • AptosCollection - No-code collection with mutability settings
  • AptosToken - Minimally viable token

Entry Functions:

0x4::aptos_token::create_collection(creator: &signer, description: String, name: String, uri: String, ...)
0x4::aptos_token::mint(creator: &signer, collection: String, description: String, name: String, uri: String, ...)
0x4::aptos_token::mint_token_object(creator: &signer, collection: String, ...) -> Object<AptosToken>
0x4::aptos_token::burn(owner: &signer, token: Object<AptosToken>)
0x4::aptos_token::freeze_transfer(creator: &signer, token: Object<AptosToken>)
0x4::aptos_token::set_description(creator: &signer, token: Object<AptosToken>, description: String)

View Functions:

0x4::token::creator(token: Object<Token>): address
0x4::token::collection_name(token: Object<Token>): String
0x4::aptos_token::are_properties_mutable(token: Object<AptosToken>): bool
0x4::aptos_token::is_burnable(token: Object<AptosToken>): bool

Supporting Modules

0x4::collection:

0x4::collection::count(collection: Object<Collection>): Option<u64>
0x4::collection::creator(collection: Object<Collection>): address
0x4::collection::name(collection: Object<Collection>): String

0x4::royalty:

0x4::royalty::get(token: Object<Token>): Option<Royalty>
0x4::royalty::payee_address(royalty: &Royalty): address
0x4::royalty::numerator(royalty: &Royalty): u64
0x4::royalty::denominator(royalty: &Royalty): u64

0x4::property_map:

0x4::property_map::read_string(object: &Object<T>, key: &String): String
0x4::property_map::read_u64(object: &Object<T>, key: &String): u64
0x4::property_map::read_bool(object: &Object<T>, key: &String): bool

Common View Function Patterns

Check APT Balance

aptos_view(
  functionId: "0x1::coin::balance",
  typeArgs: ["0x1::aptos_coin::AptosCoin"],
  args: ["0xADDRESS"]
)

Check Token Balance (Legacy)

aptos_view(
  functionId: "0x3::token::balance_of",
  typeArgs: [],
  args: ["0xOWNER", { token_data_id: {...}, property_version: 0 }]
)

Check Stake

aptos_view(
  functionId: "0x1::stake::get_stake",
  typeArgs: [],
  args: ["0xVALIDATOR_POOL"]
)

Check Delegation

aptos_view(
  functionId: "0x1::delegation_pool::get_stake",
  typeArgs: [],
  args: ["0xPOOL", "0xDELEGATOR"]
)

Game-Theoretic Features

Nashator Analysis

Computes deviation incentives for transactions:

  • LAX monoidal (fire): Actual execution
  • STRONG monoidal (exec): Simulation only

Bisimulation Self-Play

Explores alternatives via attacker/defender games. Equilibrium detected when |utility - quality| < 0.15.

Risk Visualization

Decisions map to colors via deterministic LCG:

  • HOT ZONE [160-220]: High-risk indices

DeFi Protocols on Aptos

ProtocolCategoryKey Functions
LiquidswapDEXSwap, add/remove liquidity
ThalaDEX + StablecoinMOD stablecoin, LP farming
Amnis FinanceLiquid StakingstAPT, 7-8% APY
Aries MarketsLendingSupply, borrow, liquidate
CellanaDEXve(3,3) model
Echo ProtocolBTC BridgeCross-chain BTC

Related Skills

  • aptos-trading - Alpha executor trading scripts
  • acsets-algebraic-databases - ACSet schemas for Aptos data
  • asi-integrated - Unified ASI skill orchestration

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Model ElevenLabs voice synthesis as an ACSet schema with Unison ability handlers for typed voice operations. Use when integrating ElevenLabs TTS into category-theoretic pipelines, building typed voice synthesis workflows, or managing multi-voice narration with GF(3) conservation.

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

Systematic process for analyzing and modernizing legacy applications to comply with the 12-Factor App methodology. Covers code analysis, configuration externalization, dependency management, and container/Kubernetes best practices.

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

13c0e3

無料

Gay MCP skill at invocation 26

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

19d57d

無料

Gay MCP skill at invocation 5

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

1ea91a

無料

Gay MCP skill at invocation 27

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

1eab21

無料

Gay MCP skill at invocation 3

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

plurigrid のスキルをすべて見る

このスキルの問題を報告する