Multi-Asset FA2 Token on Tezos: Full-Cycle Development

Standard ERC-1155 on Ethereum is a proven choice for multi-asset tokens. But gas fees during peak hours reach tens of dollars per transaction, and gas limits restrict logic complexity. For projects where every cent counts, Tezos with its FA2 (TZIP-12) standard becomes a pragmatic alternative. One co

Blockchain Development Services

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1441
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    998
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1267
  • image_logo-advance_0.webp
    B2B Advance company logo design
    713
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    1003

Standard ERC-1155 on Ethereum is a proven choice for multi-asset tokens. But gas fees during peak hours reach tens of dollars per transaction, and gas limits restrict logic complexity. For projects where every cent counts, Tezos with its FA2 (TZIP-12) standard becomes a pragmatic alternative. One contract manages both fungible and non-fungible tokens, and the Michelson architecture minimizes gas costs. Gas savings reach 95% compared to Ethereum. We have developed dozens of FA2 contracts for DeFi protocols and NFT collections—here we share proven approaches.

FA2 (TZIP-12) is a standard that unifies fungible tokens and NFTs in one contract. Unlike ERC-1155, it uses granular operator management and built-in on-chain views. This simplifies integration with Tezos exchanges and marketplaces.

Why FA2 is more cost-effective than ERC-1155?

Instead of deploying one contract for ERC-20 and another for ERC-721, FA2 requires one contract with arbitrary token_id. This architectural decision saves gas during distribution and simplifies management. Here is a comparison with ERC-1155:

Parameter FA2 (Tezos) ERC-1155 (Ethereum)
Language SmartPy / LIGO Solidity
Gas per mint ~0.001 XTZ (at $1 price) $5-50
Metadata TZIP-16 (on-chain/IPFS) URI + base extension
Operators Granular (per token_id) SetApprovalForAll
On-chain view Explicit (onchain_view) Via callStatic
Gas limits Virtually none Strict block limits

FA2 outperforms ERC-1155 by a factor of 10 in gas costs for a typical transfer operation. At an XTZ price of around $1, an FA2 transaction costs cents, whereas on Ethereum it costs from $5 to $50. This makes Tezos attractive for high-frequency transfers and micropayments.

How to implement multi-asset in one contract?

One contract for three token types: governance (fungible), utility (fungible), and an NFT collection (non-fungible). The key is token_id in the ledger. Use big_map for large collections to avoid paying gas for storing the entire table in memory.

In one project, we combined a governance token (token_id=0), a utility token for staking (token_id=1), and an NFT collection of 10,000 avatars (token_id=1000-10999). All in one contract. This reduced gas by 3x compared to ERC-1155 and simplified the exchange logic between tokens.

import smartpy as sp @sp.module def main(): class FA2Token( FA2_ERRORS.Fungible, FA2_ERRORS.Admin, FA2_ERRORS.MintFungible, FA2_ERRORS.BurnFungible, sp.Contract ): def __init__(self, admin, metadata, token_metadata): FA2_ERRORS.Admin.__init__(self, admin) FA2_ERRORS.Fungible.__init__(self, { "ledger": sp.big_map(tkey=sp.TRecord(owner=sp.TAddress, token_id=sp.TNat), tvalue=sp.TNat), "operators": sp.big_map(tkey=sp.TRecord(owner=sp.TAddress, operator=sp.TAddress, token_id=sp.TNat), tvalue=sp.TUnit), }) self.init_metadata("metadata", metadata) self.data.token_metadata = sp.big_map({0: sp.record(token_id=0, token_info=token_metadata)}) self.data.supply = sp.big_map({0: 0}) @sp.entrypoint def mint(self, to_, token_id, amount): sp.verify(sp.sender == self.data.admin, "NOT_ADMIN") key = sp.record(owner=to_, token_id=token_id) current = self.data.ledger.get(key, default=0) self.data.ledger[key] = current + amount self.data.supply[token_id] = self.data.supply.get(token_id, default=0) + amount 

The standard transfer entrypoint includes built-in operator checks (see SmartPy documentation).

What does turnkey FA2 development include?

Our engineers with 10+ years of blockchain experience provide a full package:

  • Smart contract code in SmartPy with unit tests (>=95% coverage).
  • TZIP-16 and TZIP-21 metadata (IPFS if needed).
  • Gas optimization: using big_map for ledger, minimizing storage reads.
  • Integration with wallets (Temple, Kukai) via Taquito.
  • Deployment guide (Ghostnet for testing, Mainnet for production).
  • 2 weeks of post-launch support.

Contact us for an estimate: fill out the form on the website—we'll respond within a day.

Comparison of FA2 with the previous FA1.2 standard

Feature FA1.2 FA2
Token types Fungible only Any (fungible, NFT, mixed)
Metadata TZIP-10 TZIP-16/21
Operators SetApprovalForAll Granular per token_id
Flexibility Limited High
Popularity Deprecating Current standard

FA2 is an evolution that solves the limitations of FA1.2.

Importance of auditing FA2 contracts

Even simple FA2 contracts can contain errors: reentrancy, incorrect operator handling, faulty allowances. Auditing an FA2 contract includes checking for these vulnerabilities, formal verification (SmartPy tests), and stress tests on Ghostnet. We guarantee passing audits on critical errors—this reduces the risk of fund loss and reputational damage.

Workflow

  1. Discovery (2-3 days)—token specification, metadata, operators.
  2. Development (1-3 weeks)—coding in SmartPy, unit tests (>=95% coverage).
  3. Integration (1-2 weeks)—connecting via Taquito to Temple/Kukai.
  4. Audit—check for reentrancy, gas exhaustion, formal verification.
  5. Deployment—testing on Ghostnet, then Mainnet with verification on TzKT.

Estimated timelines: basic contract from 1 week, with customization up to 6 weeks. Get a consultation: describe your requirements in the form on the website—we'll calculate timelines and cost individually.

Our advantages

We have developed 30+ smart contracts on Tezos, including DeFi protocols, NFT marketplaces, and gamified projects. We guarantee: passing formal verification, no critical errors (Slither/Tezos), and full documentation. All work is done under a contract with a fixed budget.

Evaluate your project: describe your requirements in the form on the website—get timelines and budget within 1 day.