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.
Aptos blockchain interaction with game-theoretic decision analysis.
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}"
}
}
}
| Tool | Description |
|------|-------------|
| aptos_balance | Get wallet balance |
| aptos_transfer | Transfer APT (requires approval) |
| aptos_swap | Swap tokens on DEX (requires approval) |
| aptos_stake | Stake APT (requires approval) |
| aptos_view | Read-only view function call |
| aptos_intent | Process natural language intent |
| aptos_approve | Approve/reject pending decision |
| aptos_pending | List pending decisions |
NEVER use derive-resource-account-address for wallet creation.
# 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
derive-resource-account-address with pubkey = PERMANENT FUND LOSSRun just aptos-validate-all to verify all configured wallets before any funding operation.
| Module | Purpose |
|--------|---------|
| 0x1::coin | Legacy fungible token standard |
| 0x1::fungible_asset | New FA standard (object-based) |
| 0x1::aptos_coin | Native APT token |
| 0x1::account | Account creation/management |
| 0x1::object | Object model foundation |
| 0x1::stake | Validator staking |
| 0x1::delegation_pool | Delegated staking |
| 0x1::multisig_account | Multi-signature accounts |
| 0x1::aptos_governance | On-chain governance |
| 0x1::code | Module deployment |
Key Structs:
Coin<CoinType> - Fungible token containerCoinStore<CoinType> - Account balance storageCoinInfo<CoinType> - Token metadataMintCapability<CoinType> - Minting rightsBurnCapability<CoinType> - Burning rightsFreezeCapability<CoinType> - Freeze rightsView 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)
Key Structs:
Metadata - Asset metadata objectFungibleStore - Balance storageFungibleAsset - Asset containerMintRef, BurnRef, TransferRef - CapabilitiesView Functions:
0x1::fungible_asset::balance<T>(store: Object<T>): u64
0x1::primary_fungible_store::balance(account: address, metadata: Object<Metadata>): u64
Key Structs:
StakePool - Validator stake poolValidatorConfig - Validator configurationOwnerCapability - Pool ownershipView Functions:
0x1::stake::get_validator_state(pool_address: address): u64
0x1::stake::get_stake(pool_address: address): (u64, u64, u64, u64)
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
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)
Key Structs:
Token - Token instance with id, amount, propertiesTokenId - Global unique identifier (creator + collection + name + version)TokenData - Shared metadata (max supply, uri, royalty)TokenStore - Account's token holdingsCollectionData - Collection metadataRoyalty - Royalty configurationEntry 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>
Key Structs (0x4::token):
Token - Object-based token with collection, index, description, nameBurnRef - Burning capabilityMutatorRef - Mutation capabilityKey Structs (0x4::aptos_token):
AptosCollection - No-code collection with mutability settingsAptosToken - Minimally viable tokenEntry 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
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
aptos_view(
functionId: "0x1::coin::balance",
typeArgs: ["0x1::aptos_coin::AptosCoin"],
args: ["0xADDRESS"]
)
aptos_view(
functionId: "0x3::token::balance_of",
typeArgs: [],
args: ["0xOWNER", { token_data_id: {...}, property_version: 0 }]
)
aptos_view(
functionId: "0x1::stake::get_stake",
typeArgs: [],
args: ["0xVALIDATOR_POOL"]
)
aptos_view(
functionId: "0x1::delegation_pool::get_stake",
typeArgs: [],
args: ["0xPOOL", "0xDELEGATOR"]
)
Computes deviation incentives for transactions:
fire): Actual executionexec): Simulation onlyExplores alternatives via attacker/defender games. Equilibrium detected when |utility - quality| < 0.15.
Decisions map to colors via deterministic LCG:
| Protocol | Category | Key Functions | |----------|----------|---------------| | Liquidswap | DEX | Swap, add/remove liquidity | | Thala | DEX + Stablecoin | MOD stablecoin, LP farming | | Amnis Finance | Liquid Staking | stAPT, 7-8% APY | | Aries Markets | Lending | Supply, borrow, liquidate | | Cellana | DEX | ve(3,3) model | | Echo Protocol | BTC Bridge | Cross-chain BTC |
aptos-trading - Alpha executor trading scriptsacsets-algebraic-databases - ACSet schemas for Aptos dataasi-integrated - Unified ASI skill orchestrationSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer