aptos

Develop Aptos Move modules, manage coins and Token V2 assets, and interact via the TypeScript SDK.

1|1|Updated May 21, 2026
One-click install
npx skills add https://github.com/naruto11eth/cryptoskills --skill aptos-naruto11eth
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: aptos
Source: https://github.com/naruto11eth/cryptoskills/tree/main/skills/aptos
Command: npx skills add https://github.com/naruto11eth/cryptoskills --skill aptos-naruto11eth

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? AI agents frequently generate incorrect Aptos code by confusing it with Sui Move or Solidity patterns, using deprecated packages like the aptos npm module or Token V1, and hallucinating contract addresses. This Skill provides verified chain configuration, correct Move module patterns, and current SDK usage for building on Aptos. ## Core Features & Use Cases - Move Module Development: Write modules using global storage operations, resource accounts, access control, events, and Block-STM-friendly per-user state patterns. - Coin and Token Standards: Create custom coins with the Coin standard and NFT collections with Token V2 (Digital Assets), with verified mainnet coin type addresses. - TypeScript SDK Integration: Transfer APT, call view functions, estimate gas, handle multi-agent transactions, and deploy modules using @aptos-labs/ts-sdk. - Use Case: Deploy a vault module to testnet, then use the SDK to deposit APT, query user balances via view functions, and decode abort codes when transactions fail. ## Quick Start Ask the agent to create and deploy an Aptos Move module with a counter resource and then interact with it using the TypeScript SDK on testnet.

Frequently Asked Questions about aptos

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Move module on Aptos?

Initialize a package with `aptos move init --name my_module`, add AptosFramework to Move.toml, and write modules using `move_to`, `borrow_global`, and `borrow_global_mut` for global storage. Compile with `aptos move compile --named-addresses my_addr=default` and publish with `aptos move publish`.

How do I transfer APT using the TypeScript SDK?

Use `@aptos-labs/ts-sdk` to build a transaction calling `0x1::aptos_account::transfer` with the recipient address and amount in octas (1 APT = 100,000,000 octas). Sign and submit with `aptos.signAndSubmitTransaction`, then wait for confirmation with `aptos.waitForTransaction`.

What is the difference between Aptos Move and Sui Move?

Aptos Move uses global storage where resources live at account addresses via `move_to` and `borrow_global`, while Sui uses an object-centric model with object IDs. Aptos has no `sui::object::UID`; data is accessed through address-based storage operations.

Should I use Token V1 or Token V2 on Aptos?

Use Token V2 (Digital Assets) via the `aptos_token_objects` module at address 0x4. Token V1 (`aptos_token`) is deprecated. V2 tokens are Move objects stored at their own addresses with capabilities managed through BurnRef, MutatorRef, and TransferRef.

Why does my Aptos transaction fail with ECOIN_STORE_NOT_PUBLISHED?

This error means the recipient account has not registered for that coin type. Call `coin::register<CoinType>` first, or use `0x1::aptos_account::transfer_coins` which auto-registers the recipient during transfer.

How do I decode Aptos Move abort codes?

Aptos abort codes follow the format `(category << 16) | reason`. Shift the code right by 16 bits to get the category (e.g., 0x6 = NOT_FOUND) and mask the lower 16 bits for the reason. For example, 0x60001 means NOT_FOUND category with reason 1.