When Every NFT Is Born an Account, a Container, and a Contract: ArcBlock Chain's Unified Asset Design

In the dictionary of most blockchains, an account is an account, a fungible token (FT) is a balance counter, and a non-fungible token (NFT) is a static receipt pointing to a picture in someone's wallet. Inside the ledger of ArcBlock Chain, our next-generation Agentic Layer 1, those three things were never separated in the first place.
In our architecture, every NFT is born an independent account. It can hold multiple FTs and nested child NFTs, mount leased components like a modular Lego baseplate, support tens of thousands of co-owners with automatic revenue splits, and even represent a fungible token's master charter or an on-chain smart contract itself.
What makes this especially satisfying from an engineering standpoint is that none of this composability was bolted on through dozens of proxy contracts. It grew naturally out of a single first-principles axiom we wrote into the ledger eight years ago.
Everything Is a DID: Why Every NFT Is Natively a First-Class Account
If you look back at how the Ethereum ecosystem evolved over the past decade, you will notice an ironic detour. Early standards split fungible tokens (ERC-20) and non-fungible tokens (ERC-721) into two completely separate worlds. Years later, when builders tried to create games, membership passes, and structured financial notes, everyone realized a static NFT sitting passively in a wallet was far too limited. So the community spent eight years piling on patch after patch: ERC-1155, ERC-3525 (semi-fungible tokens), and ERC-6551 (Token-Bound Accounts). Every time you want an NFT to hold other assets on an EVM chain, you have to deploy external registry entries and smart contract proxies, adding extra gas overhead and new attack surfaces.
Why did other chains have to take such a long detour while ArcBlock Chain handled this natively?
The secret goes all the way back to a core axiom established in our first-generation OCAP architecture: Everything is a DID. Under our ABT DID specification, human accounts, AI agents, application nodes, fungible tokens, asset factories, and every individual NFT share the exact same 26-byte self-describing did:abt: address space. Whether an address represents a person, a token, or an NFT is self-explained by its embedded role-type bits and cryptographic metadata.

Recently, while preparing this month's chain upgrade, we asked our AI coding agent to audit the ledger state machine before opening full support for NFTs holding multiple FTs and nested child NFTs. After inspecting the account and asset tables, the agent left an astonished note in the engineering log:
"This original design from years ago is remarkably ahead of its time. Because the account table and asset table are orthogonally keyed by DID without restricting ownership to human externally owned accounts, the storage engine does not need a single schema change or data migration. Physically, every NFT has been a valid account from day one!"
That is the literal truth 🤣. Because our state machine tracks balances and asset ownership by did:abt: address rather than checking "are you a human wallet?", allowing an NFT's DID to receive and hold assets unlocked two natural behaviors right out of the box:
- Implicit Ownership Penetration and Atomic Handover: When a human or AI agent owns a parent NFT, the protocol's permission verifier walks the ownership chain automatically, recognizing you as the current controller and letting you authorize the parent NFT account to spend the FTs or child NFTs inside it (supporting up to 5 levels of nesting with strict cycle detection). The moment you sell or auction that parent NFT on the marketplace, the buyer automatically inherits control over everything inside the NFT's vault, while any old session keys delegated by the previous owner are revoked in the same atomic transaction. Nobody can sell you a treasure chest while secretly keeping a backdoor key.
- Decoupling Gas Payment from Asset Spending: On traditional chains, turning an NFT into a smart contract account creates an immediate UX headache: "This gift card NFT only holds merchant points or game items and has zero native gas token inside, so how does it pay transaction fees?" In our multi-signature and delegation pipeline, the transaction payer (
from, the human owner's account) and the asset authorizer (signer, the NFT account) are naturally separate. The owner pays a tiny base fee from their main wallet while smoothly moving whatever lives inside the NFT.
From Modular Assembly and Zero-Trust Leasing to Co-Ownership at Scale
Once every NFT has its own vault and permission boundary, digital assets stop being static pictures and become modular commercial Lego blocks.
Imagine running a digital arcade island on-chain, or assembling a multi-step AI workflow. In the real world, a shopping mall or amusement park owner does not buy out the intellectual property and cash register of every claw machine or coffee shop inside the building. Instead, the venue provides bays, independent creators lease slots to operate their machines, and the venue itself is co-owned by multiple partners.
To bring that natural business structure on-chain, our NFT container protocol distinguishes between two mounting modes and pairs them with native multi-party co-ownership:
- Owned Container Slots: Think of placing rare trading cards into a deck box, or bolting an engine, armor, and weapon child NFT onto a mech NFT. Ownership of each child NFT transfers directly into the parent NFT's account, and the parent NFT automatically aggregates the underlying staked reserve value of all its parts. When the assembled mech is listed on the market, buyers can verify every component and its backing reserve at a glance; if a part is unmounted, its reserve detaches cleanly.
- Zero-Trust Leased Container Slots: This solves a long-standing dilemma for creators and builders. Suppose an independent developer builds an on-chain pinball machine or AI inference booth NFT whose internal account holds a prize pool. When the developer leases and mounts that machine into a slot on an island host's container NFT, ownership of the machine stays 100% with the developer, and the island host cannot use parent-container privileges to drain or tamper with the leased machine's internal prize vault. Both sides split revenue automatically according to the lease terms, and the machine detaches cleanly when the lease expires.

Better yet, who says a high-value NFT can only have one owner?
In our architecture, a flagship arcade venue NFT, a co-authored digital publication NFT, or a shared open-source component library NFT natively supports multi-owner co-ownership. Whether three partners pool funds to co-own an asset or ten thousand community contributors hold fractional share tokens, high-frequency incoming revenue settles into the NFT's own account vault in O(1) time. From there, payouts either flow across a bounded directed acyclic graph (DAG) to upstream component creators or accumulate in an O(1) dividend index where thousands of co-owners can claim their exact share at any time with zero state bloat.
Unifying Fungible Tokens, Prepaid ValueCards, and Smart Contracts
After turning NFTs into accounts and containers, we brought the remaining fragmented pieces of the on-chain world (fungible tokens, prepaid budget cards, and smart contracts) into the exact same unified model.
The first piece is Token-as-an-Asset (Unifying FTs and NFTs). Historically, issuing a fungible token and minting an NFT lived in separate silos. In the upgraded ArcBlock Chain, every time you create a fungible token (whether a community token, a bonding-curve token, or an app credit), the protocol deterministically mints and binds a one-to-one (1:1) Master Token Charter NFT.
This Charter NFT is far more than a decorative badge: the token's name, icon, official website, metadata description, and issuer governance ownership synchronize bidirectionally with its Charter NFT in real time (while protocol guards lock the charter against accidental burning or staking). Managing a fungible token becomes just as visual and uniform as managing an NFT.

The second piece is the everyday commercial bridge between FTs and NFTs: the prepaid ValueCard. In daily life, we use Starbucks gift cards, cloud compute vouchers, and corporate travel budget cards all the time. Pure FTs cannot attach per-card expiration dates, merchant whitelists, or daily spend caps; traditional NFTs cannot have their balance spent down incrementally. In our unified asset model, a ValueCard is simply a fungible reserve pool wrapped inside an NFT account and policy shell: the issuer stakes backing reserves to mint the card NFT, each purchase deducts the exact amount from the card's internal balance, and once the balance hits zero, the punched card NFT stays in the user's wallet as a permanent collectible stub.
And the coolest step in this unification is that every smart contract is itself an on-chain NFT.
On legacy blockchains, a smart contract is a blob of opaque bytecode sitting at a hex address with no verifiable identity card or native governance representation. On ArcBlock Chain, every declarative contract governing revenue splits, account security guards, or regulated asset compliance is minted on-chain as a cryptographically signed, version-linked W3C Verifiable Credential (VC) and NFT asset (I will dive into why our smart contracts are intentionally non-Turing-complete declarative DSLs minted as NFTs in the next article in this series 😝).
Minimal Axioms, Infinite Composability
Looking back, the most rewarding moments in software engineering rarely come from writing ten thousand lines of patch code to paper over old limitations. They come from realizing that a clean axiom chosen years ago still solves today's hardest problems with effortless clarity.
While much of the industry is still stitching together external proxy contracts to connect accounts, FTs, NFTs, and revenue splits, two simple foundations, "Everything is a DID" and "Unified Assets", allow every NFT on ArcBlock Chain to act natively as an independent account, a nested container, a zero-trust leased slot, a multi-owner vault, a prepaid ValueCard shell, and an on-chain contract carrier.
For creators, application builders, and AI coding agents, you never have to write a single line of high-risk asset custody code. Save your imagination for your product and business model; the underlying ledger already has the composability built in.
References and Further Reading
- ArcBlock Chain: A Next-Generation Agentic Layer 1 Built for a Multi-Chain World
- DID Engineering Update: Resolution, Key Rotation, and Agent Delegation
- ArcBlock Chain Upcoming Upgrade: Seamless Migration and Zero-Protocol-Fee Web Bridge Plan
- What Blockchain Needs for Quantum Computing Is Not Just New Algorithms, But a Safe Path to Migrate Accounts
- Three Generations of OCAP: From Chain Access Protocol to AFS
- W3C Decentralized Identifiers (DIDs) v1.0
- W3C Verifiable Credentials Data Model
- EIP-6551: Non-fungible Token Bound Accounts