The Fungible Asset (FA) Standard, defined in the aptos_framework::fungible_asset module, is the normative specification for all fungible tokens on Aptos. It deprecates the legacy aptos_framework::coin module, migrating token logic to the object model. The standard mandates a strict separation of concerns: a Metadata object defines the token's identity, supply, and display properties, while FungibleStore objects hold balances. This paired model ensures that every token is a first-class object, enabling unified handling across wallets, exchanges, and bridges without the fragmented interfaces of the previous standard.

Fungible Asset (FA) Standard
What is the Fungible Asset (FA) Standard?
The Fungible Asset (FA) Standard is the canonical Move framework specification for fungible tokens on Aptos, replacing the legacy coin standard with a paired Object<Metadata> and FungibleStore model.
Access control is enforced through a capability-based system using MintRef, TransferRef, and BurnRef. These references are generated at token creation and must be stored securely by the token issuer to perform privileged operations. This design eliminates the need for a central registry and gives issuers granular, revocable control over their asset's lifecycle. For integrators, the standard introduces a unified transfer function that works across all FA-compliant tokens, simplifying the logic for wallets and exchanges. However, migration from the legacy coin standard requires careful state mapping, as the underlying storage model shifts from a simple balance map to distinct per-account FungibleStore objects.
The operational impact is significant for any team managing token balances. Indexers must re-write their data pipelines to track FungibleStore creation and deletion events instead of reading a single CoinStore resource. Wallets must update their balance aggregation logic to discover all FungibleStore objects owned by an account. Bridge operators must implement the FA standard's MintRef and BurnRef patterns for cross-chain asset flows. Chainscore Labs can audit FA implementations for correct capability storage, review migration scripts for state integrity, and verify that wallet and indexer integrations correctly handle the object-based balance model.
FA Standard Quick Facts
A quick-reference table for teams evaluating the impact of the Fungible Asset standard on their implementations, integrations, and migration roadmaps.
| Area | What changes | Who is affected | Action |
|---|---|---|---|
Asset Representation | Tokens are represented by a paired Object<Metadata> and FungibleStore, not a single coin resource. | Wallet, exchange, and bridge engineers. | Update indexing, balance display, and transfer logic to query and aggregate FungibleStore objects. |
Access Control | Minting, burning, and freezing are controlled by capabilities (MintRef, BurnRef, TransferRef) stored within the Metadata object. | Token issuers and DeFi protocol developers. | Review capability management logic; ensure Ref objects are not accidentally exposed or lost. |
Transfer Mechanics | Value transfer moves balance between FungibleStores, not by modifying a single resource. Primary and secondary stores are defined. | Wallet and SDK developers. | Implement the new transfer flow, including logic for automatic creation of a user's primary FungibleStore. |
Legacy Compatibility | The aptos_framework::coin module is superseded. A mapping between legacy coin types and FA Metadata objects exists. | Protocols with existing legacy coin integrations. | Verify the mapping for your asset. Plan a migration to the FA standard to ensure future compatibility. |
Bridged Assets | Bridged tokens must conform to the FA standard, using specific metadata and upgradeability patterns. | Bridge operators and multi-chain token issuers. | Audit bridge contracts against the Aptos Asset Bridge Standard to ensure correct FA representation on Aptos. |
Token Identification | Assets are identified by the address of their Metadata object, aligning with the Token Identifier Standard (CAIP-19 for Aptos). | Explorers, wallets, and cross-chain dApps. | Update token identification logic to use the Metadata object address as the canonical identifier. |
Unified Transfer | The standard creates a single, unified value transfer path for all fungible assets, including Aptos native coin. | All builders in the ecosystem. | Migrate to the FA standard to ensure your application can handle all fungible value uniformly. |
Technical Architecture: Objects, Stores, and Capabilities
The FA standard replaces the legacy coin module with a paired object model where metadata and user balances are distinct on-chain entities governed by a capability-based access control system.
The Aptos Fungible Asset (FA) standard decomposes a fungible token into two core on-chain objects: Object<Metadata> and FungibleStore. The Metadata object is a singleton that defines the token's properties—name, symbol, decimals, and supply—while each user's balance is held in a separate FungibleStore object. This design eliminates the centralized CoinStore resource map of the legacy standard, allowing balances to be treated as independent, transferable objects that can have custom logic, such as transfer hooks or freeze capabilities, attached directly to the store.
Access control is enforced through a system of capabilities (MintRef, TransferRef, BurnRef, MutateMetadataRef) generated at token creation. The creator receives these refs and can store them in a module, transfer them to a governance contract, or discard them to irrevocably renounce a privilege. This model allows auditors and integrators to verify token properties deterministically: if a MintRef is not stored, the supply is permanently capped. Wallets and exchanges must query both the Metadata object for display information and the user's FungibleStore objects for balances, rather than relying on a single resource type.
For builders, the operational impact is significant. Indexers must track object creation and transfer events rather than reading from a fixed resource map. Bridge and exchange integrations must handle the paired-object model correctly to avoid misrepresenting balances or failing to detect frozen stores. Chainscore Labs can review FA implementations to verify that capability refs are handled securely, that FungibleStore transfer hooks do not introduce denial-of-service vectors, and that migration paths from the legacy coin standard preserve user balances and supply invariants.
Who is Affected by the FA Standard?
Wallet & Custody Teams
The FA standard fundamentally changes how balances are tracked and transferred. Wallets can no longer rely on a single global registry; they must discover and manage paired Object<Metadata> and FungibleStore resources.
Key Actions:
- Update indexers to query
FungibleStoreresources instead of the legacyCoinStore. - Implement UI logic for paired metadata objects to display token symbols, decimals, and icons correctly.
- Adapt transfer flows to use
fungible_asset::transferwith the correct store references. - For custody platforms, review key management for
TransferRefandBurnRefcapabilities if supporting asset control features.
Failure to migrate means users will see zero balances for new FA tokens and transfers will fail silently against legacy coin entry functions.
Implementation Impact and Migration Path
The FA standard is not backward-compatible with the legacy coin module. Teams must execute a deliberate migration to ensure uninterrupted value transfer and compatibility with the evolving Aptos ecosystem.
Wallet and Custodian Integration Overhaul
Wallets and custodians must replace legacy coin balance queries with the paired Object<Metadata> and FungibleStore model. Balance display, transfer construction, and transaction history indexing all require re-architecture. Implement the new fungible_asset module APIs for all token interactions. Failure to migrate will result in an inability to display or transfer FA-standard tokens, fragmenting the user experience and potentially locking users out of new assets.
Exchange and Bridge Migration Path
Exchanges and bridges must update deposit and withdrawal engines to handle FA-standard tokens. This involves recognizing the new token identifiers, constructing transfers that operate on FungibleStore objects, and correctly parsing on-chain events. A parallel support period for both legacy coins and new FAs is required to avoid service disruption. Teams should audit their transaction construction logic against the canonical FA specification to prevent fund loss from malformed transfers.
Smart Contract and DeFi Protocol Upgrade
DeFi protocols that hold user balances in legacy Coin types must migrate to FungibleStore objects. This is a non-trivial state migration that requires new Move module logic to swap the underlying representation. Capability-based access control in the FA standard changes how contracts authorize transfers; review all TransferRef and BurnRef usage to ensure security invariants are maintained. A flawed migration can lead to permanently frozen or stolen user funds.
Indexing and Monitoring Infrastructure
Indexers, explorers, and monitoring tools must re-tool their event listeners and data models. The FA standard emits different events than the legacy coin module. Real-time balance tracking, supply verification, and compliance monitoring all depend on correctly parsing these new events. Teams should deploy parallel indexing for both standards during the transition and validate data integrity before deprecating legacy pipelines.
Unified Token Identifier Adoption
The FA standard mandates a canonical token identifier format aligned with CAIP-19. All off-chain systems, including wallets, exchanges, and cross-chain bridges, must adopt this identifier to prevent asset confusion and UI display errors. This is a critical dependency for multi-chain operations. Verify that your system's token registry correctly maps FA metadata addresses to their canonical identifiers to avoid integration failures with the broader Aptos ecosystem.
Risk and Compatibility Matrix
Operational risks and compatibility concerns for teams migrating from the legacy coin standard to the Fungible Asset (FA) standard, or implementing FA for the first time.
| Area | Failure Mode | Severity | Affected Actors | Mitigation / Action |
|---|---|---|---|---|
Asset Identity | Incorrect derivation of the Object<Metadata> address, leading to display of a different or non-existent asset in wallets and explorers. | Critical | Wallets, Explorers, Exchanges | Verify asset identification logic against the canonical AIP and Token Identifier Standard. Do not rely on legacy coin type hashing. |
Transfer Logic | Using legacy coin::transfer instead of fungible_asset::transfer, causing transactions to fail or funds to be sent to an unmanaged primary store. | High | Wallets, DeFi Protocols, Custodians | Audit all transfer entry functions. Ensure UI and backend systems call FA-specific Move functions and handle FungibleStore objects correctly. |
Capability Model | Mismanagement of MintRef, TransferRef, or BurnRef capabilities, leading to unauthorized minting, frozen assets, or permanent loss of control. | Critical | Token Issuers, DeFi Protocols | Review capability storage and access control logic. Ensure capabilities are stored in a secure resource account or governed by a robust multi-sig. |
Paired Store Model | Assuming a 1:1 user-to-store mapping without handling the case where a user has multiple FungibleStore objects for the same asset. | Medium | Wallets, Indexers, DeFi Protocols | Update balance aggregation logic to sum balances across all FungibleStore objects owned by a user for a given asset. Test with multiple store scenarios. |
Indexing and Events | Indexers parsing legacy coin events (DepositEvent, WithdrawEvent) and missing the new FA-specific events, leading to broken transaction histories and balances. | High | Indexers, Data Teams, Explorers | Update indexing pipelines to parse Deposit, Withdraw, and Frozen events from the fungible_asset module. Re-index historical data if necessary. |
SDK and CLI Compatibility | Using an outdated SDK or CLI version that constructs legacy coin payloads, causing transaction failures against the new framework. | High | Builders, Exchange Operations | Upgrade to the latest Aptos SDK and CLI versions that support FA. Verify transaction payload construction in staging environments before mainnet deployment. |
Bridged Asset Representation | A bridge deploying a bridged asset using the legacy coin standard instead of the FA standard, creating a fragmented and incompatible representation. | High | Bridge Operators, Token Issuers | Review the Aptos Asset Bridge Standard. Ensure bridge contracts deploy paired FA Metadata and use the canonical bridged asset pattern. Audit upgradeability controls. |
Composability | A DeFi protocol's vault or pool contract expecting a legacy coin type and failing to interact with an FA, breaking integrations. | High | DeFi Protocols, Aggregators | Update contract interfaces to accept Object<Metadata> and handle FungibleStore objects. Coordinate with ecosystem partners on migration timelines. |
Integration and Migration Checklist
A practical checklist for wallet, exchange, bridge, and protocol teams migrating from the legacy coin standard or integrating the Fungible Asset standard for the first time. Each item identifies a critical integration surface, explains why it matters, and specifies the signal that confirms readiness.
What to check: Your system must identify fungible assets by their Object<Metadata> address, not by a coin type string.
Why it matters: The FA standard pairs every asset with a Metadata object. Wallets and explorers that rely on legacy coin type lookups will fail to display FA balances correctly. Indexers must map the metadata object address to ticker, decimals, and supply.
Readiness signal: Your indexer successfully resolves a known FA metadata object address and returns the correct name, symbol, and decimals from the Metadata resource.
Canonical Resources
Primary resources for implementing, reviewing, and monitoring Aptos Fungible Asset integrations. Teams should verify behavior against the framework source and current Aptos documentation before deploying wallets, bridges, exchanges, or protocol migrations.
Looking to build on a specific blockchain?
We build smart contracts, DeFi applications, wallets, tokenization platforms, and blockchain infrastructure across the major ecosystems teams choose today. That includes Ethereum, Arbitrum, Optimism, Polygon, Avalanche, Solana, Sui, Aptos, Hedera, Stellar, and NEAR, with support for additional EVM and non-EVM networks based on your product requirements.
EVM ecosystems
- Ethereum
- Arbitrum
- Optimism
- Polygon
- Avalanche
- Cronos

Non-EVM ecosystems
- Solana
- Sui
- Aptos
- Hedera
- Stellar
- NEAR
Additional ecosystems
- Polkadot
- Cosmos
- TON
- Cardano
- Algorand
- Tempo
Also available for Base, appchains, custom EVM networks, and cross-chain product architecture.
Frequently Asked Questions
Common questions from builders, wallet teams, and exchange operators implementing or migrating to the Fungible Asset standard.
The legacy Coin standard (aptos_framework::coin) treats coins as a generic Move resource stored under a user's account. The Fungible Asset standard treats every fungible token as a top-level Object derived from the Object model. The key architectural shift is:
- Storage Model: FA uses paired
Object<Metadata>andFungibleStoreobjects. Each store is a separate object, not a resource under a user's account. This allows for fine-grained access control per store. - Access Control: FA uses capability-based access control (
MintRef,TransferRef,BurnRef) rather than the Coin standard's reliance on theCoinStoreresource and genericcoin::transferfunctions. - Unified Value Transfer: The FA standard provides a single
fungible_asset::transferentry function that works for all FAs, eliminating the need for token-specific transfer logic. - Deterministic Addressing: FA Metadata and FungibleStore objects have deterministic addresses derived from the creator's address and a seed, making them discoverable without on-chain queries.
Teams maintaining legacy Coin-based protocols should plan a migration path. Chainscore can audit migration contracts and verify that capability refs are handled securely.
Delivering blockchain solutions for 5+ years.
We have partnered with 50+ leading DeFi protocols, NFT ecosystems, and fintech innovators to build secure, scalable, and capital-efficient blockchain products.
Selected Partners & Clients
“I've been working with Chainscore Labs for last 3+ years, they've consistently delivered with strong ownership across multiple projects. The team is reliable and detail-oriented.”
How to get started?
If you're looking for blockchain integration, ChainScore Labs has 5+ years of experience helping teams build and integrate exchanges, wallets, smart contracts, tokenization solutions, and protocol-connected products, we can help you choose the right path, integrate securely, and get to production faster. Our team consists of experienced blockchain developers and architects who can help you with your blockchain integration needs.
Exploration & Strategy
Define your product goals and choose the right blockchain architecture for your use case.
Architecture & Design
Design the smart contracts, tokenomics, and security parameters of your system.
Development & Integration
Build and integrate with wallets, oracles, and front-end dApps for a seamless experience.
Security & Launch
Comprehensive audits followed by a risk-managed mainnet deployment to protect your users.
Discover our
blockchain development services.
We build production-grade blockchain solutions for top-tier projects across DeFi and Web3.
Need a blockchain engineering team?
Send the project context and we will respond with next steps, scope questions, and a practical path to delivery.


