Engineer reviewing real-time oracle price feeds on ultrawide monitor, data visualizations on second screen, clean desk setup in bright apartment.
Protocols

Fungible Asset (FA) Standard

The canonical specification for fungible tokens on Aptos, built on the object model. It replaces the legacy coin standard with a paired Object<Metadata> and FungibleStore model, enforced by capability-based access control.
introduction
CANONICAL TOKEN SPECIFICATION

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.

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.

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.

REPLACING THE LEGACY COIN STANDARD

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.

AreaWhat changesWho is affectedAction

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-context
THE FUNGIBLE ASSET DATA MODEL

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.

IMPACT SURFACE

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 FungibleStore resources instead of the legacy CoinStore.
  • Implement UI logic for paired metadata objects to display token symbols, decimals, and icons correctly.
  • Adapt transfer flows to use fungible_asset::transfer with the correct store references.
  • For custody platforms, review key management for TransferRef and BurnRef capabilities 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
ACTION REQUIRED

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.

01

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.

02

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.

03

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.

04

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.

06

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.

FUNGIBLE ASSET STANDARD MIGRATION

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.

AreaFailure ModeSeverityAffected ActorsMitigation / 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.

FA STANDARD READINESS

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.

Chains We Build On

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 logo
    Ethereum
  • Arbitrum logo
    Arbitrum
  • Optimism logo
    Optimism
  • Polygon logo
    Polygon
  • Avalanche logo
    Avalanche
  • Cronos logo
    Cronos

Non-EVM ecosystems

  • Solana logo
    Solana
  • Sui logo
    Sui
  • Aptos logo
    Aptos
  • Hedera logo
    Hedera
  • Stellar logo
    Stellar
  • NEAR logo
    NEAR

Additional ecosystems

  • Polkadot logo
    Polkadot
  • Cosmos logo
    Cosmos
  • TON logo
    TON
  • Cardano logo
    Cardano
  • Algorand logo
    Algorand
  • Tempo logo
    Tempo

Also available for Base, appchains, custom EVM networks, and cross-chain product architecture.

FA STANDARD FAQ

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> and FungibleStore objects. 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 the CoinStore resource and generic coin::transfer functions.
  • Unified Value Transfer: The FA standard provides a single fungible_asset::transfer entry 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.

Trusted by Industry Leaders

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

ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
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.
L
Lee Erswell
CEO, Telos Foundation
how to get started

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.

01

Exploration & Strategy

Define your product goals and choose the right blockchain architecture for your use case.

02

Architecture & Design

Design the smart contracts, tokenomics, and security parameters of your system.

03

Development & Integration

Build and integrate with wallets, oracles, and front-end dApps for a seamless experience.

04

Security & Launch

Comprehensive audits followed by a risk-managed mainnet deployment to protect your users.

Start a build

Need a blockchain engineering team?

Send the project context and we will respond with next steps, scope questions, and a practical path to delivery.