
Magi Token & Magi NFT
With todays release, these two contracts form a complete token ecosystem, the foundation for building DeFi, gaming, NFT experiences, and community-driven projects on Magi. Whether you’re a developer, creator, or collector, the tools are now live and ready to use. 🎇
1. Magi Token
Contract Basics
Magi Token is a fungible token contract built for the Magi network. It follows the ERC-20 standard - the most widely used token interface in crypto, originally from Ethereum.
Feature Coverage
| Feature | Notes |
|---|---|
| Transfer tokens | with self-transfer protection |
| Allowance (approve/transferFrom) | enables DEX & DeFi integration |
| Safe allowance (increase/decrease) | prevents front-running attacks |
| Mintable (owner only) | capped by maxSupply |
| Burnable (any holder) | deflationary mechanism |
| Pausable (owner only) | emergency kill switch |
| Ownership transfer | single-step transfer |
| Events | ERC-20 compliant (Transfer, Approval) |
| Safe math | overflow/underflow protection |
What You Can Do After Deploying
Ready to Go (works today)
- Distribute tokens - mint and send tokens
- List on a DEX - the allowance pattern (
approve+transferFrom) is exactly what DEXes need. Any DEX contract on Magi can integrate with this contract - Accept payments - any app can check
balanceOfand accept tokens - Deflationary events - burn tokens to reduce supply (community burn events, buyback-and-burn)
- Emergency pause - if something goes wrong, freeze all transfers instantly
- Transfer ownership to a DAO - hand control to a community-governed contract
What To Build Next (as separate contracts or upgrades)
| Use Case | What's Needed |
|---|---|
| DEX / AMM | A separate swap contract that uses transferFrom on two token contracts to create liquidity pools |
| Staking / Yield farming | A staking contract where users lock tokens and earn rewards over time |
| Governance / Voting | Snapshot mechanism so token balance at a specific block determines voting power |
| Vesting / Token locks | A contract that holds tokens and releases them on a schedule (for team, investors) |
| Airdrop tool | A batch-transfer contract or off-chain script that distributes tokens to many addresses |
| Wrapping Hive assets | A contract that accepts HIVE/HBD deposits and mints wrapped tokens 1:1 |
| NFT marketplace payments | An NFT contract that accepts tokens via the allowance pattern |
| Subscription/recurring payments | A contract that periodically calls transferFrom against a user's allowance |
The Big Picture
Magi tokens is a solid base layer token contract - comparable to deploying a well-written ERC-20 on Ethereum using OpenZeppelin. It's production-ready for the core use case: a transferable, mintable, burnable fungible token with admin controls.
What makes real tokens valuable in the crypto world isn't just the token contract itself, but the ecosystem built around it: DEXes that trade it, lending protocols that accept it as collateral, governance systems that use it for voting power, and so on. The token contract is the foundation - everything else is built on top using the allowance pattern and contract-to-contract calls that the Magi SDK already supports.
Most Impactful Next Steps
- A DEX/AMM contract - gives the token a market and a price
- A staking contract - gives holders a reason to hold
- Governance - gives the community control
2. Magi NFT
Contract Basics
Magi NFT is a multi-token contract built for the Magi network. It follows the ERC-1155 standard - the most versatile token standard in crypto, supporting both fungible (editions) and non-fungible (unique 1/1) tokens in a single contract.
This is a step up from ERC-721 (which only handles unique NFTs). With ERC-1155, one contract can manage an entire ecosystem of token types.
Feature Coverage
| Feature | Notes |
|---|---|
| Single transfers (safeTransferFrom) | with authorization checks |
| Batch transfers (safeBatchTransferFrom) | move multiple token types at once |
| Operator approval (setApprovalForAll) | marketplace integration |
| Balance queries (single + batch) | ERC-1155 compliant |
| URI management (per-token + baseURI) | custom or pattern-based metadata |
| Supply enforcement (maxSupply) | locked on first mint, per token type |
| Unique NFTs (1/1) | maxSupply=1 |
| Editioned NFTs | maxSupply>1, mint across multiple txs |
| Soulbound tokens | inspired by EIP-5192, owner can distribute |
| Track minted (permanent burns) | optional, burned tokens can't be re-minted |
| Batch minting | mint multiple token types in one call |
| Batch burning | burn multiple token types in one call |
| Pausable | emergency kill switch |
| Ownership transfer | single-step transfer |
| ERC-165 interface detection | reports ERC-1155 + ERC-165 support |
| Events | TransferSingle, TransferBatch, ApprovalForAll, URI |
| Safe math | overflow/underflow protection |
What You Can Do After Deploying
Ready to Go (works today)
- Launch an NFT collection - mint unique 1/1 art pieces, PFPs, or generative art
- Create editioned drops - mint limited runs (e.g., 100 copies of a special card)
- Issue soulbound badges - achievement tokens, POAPs, certifications that can't be resold
- Build a game economy - gold, silver, bronze tokens + unique legendary items, all in one contract
- Marketplace integration - users approve a marketplace operator, marketplace executes trades via
safeTransferFrom - Airdrop NFTs - use
mintBatchto create multiple token types at once - Credential system - soulbound tokens for KYC badges, membership passes, skill certifications
- Revocable credentials - owner can burn soulbound tokens to revoke badges/memberships
- Emergency pause - freeze all transfers if an exploit is discovered
- Support for storing data in contract state.
What To Build Next (as separate contracts or upgrades)
| Use Case | What's Needed |
|---|---|
| NFT Marketplace | A contract that escrows NFTs, lists them for sale, and executes trades via operator approval |
| Auction house | Timed auctions with bidding, uses operator pattern to transfer winning NFT |
| Royalties | A marketplace contract that splits payment between seller and original creator on every resale |
| Loot boxes / packs | A contract that randomly assigns NFTs from a pool when opened (uses VRF or commit-reveal) |
| Staking NFTs for rewards | Lock NFTs in a staking contract, earn tokens/HIVE/HBD/... over time |
| NFT gating | Other contracts check balanceOf to gate access (e.g., hold a membership NFT to access premium features) |
| Collection pages | Off-chain indexer that reads events (TransferSingle, TransferBatch) to build a frontend gallery |
| Metadata service | A server at the baseURI that serves JSON metadata (name, description, image) per token ID |
| Crafting / combining | Burn multiple tokens to mint a new, rarer token (e.g., 3 bronze = 1 silver) |
| Rentals / delegations | Allow someone to "use" an NFT without owning it (inspired by ERC-4907) |
Why It Matters:
Magi NFT is a full-featured ERC-1155 implementation with some extras that most EVM projects don't have out of the box - soulbound tokens, built-in supply caps, and the trackMinted option for permanent burns. It's comparable to deploying an OpenZeppelin ERC-1155 with Supply, Pausable, Ownable, and a custom Soulbound extension.
The combination of Magi Token (ERC-20) + Magi NFT (ERC-1155) gives you a complete token ecosystem:
| Layer | Contract | Role |
|---|---|---|
| Currency | Magi Token | Payments, DEX trading, staking rewards |
| Assets | Magi NFT | Collectibles, game items, badges, memberships |
This is the same two-contract pattern used by most successful crypto projects: a fungible token for the economy and a multi-token contract for the assets.
With Magi’s upcoming cross-chain capabilities, multi-chain wallet interoperability will allow for users outside the Hive ecosystem to directly interact with dApps built on our platform. This will expose applications to a broader crypto audience and unlock new opportunities for liquidity and engagement.
Repository links:
https://github.com/vsc-eco/magi_token-contract
https://github.com/vsc-eco/magi_nft-contract
Community built platform for easy smart contract deployment:

https://terminal.okinoko.io/
by @tibfox