The Magi Market is live at altera.magi.eco. Sign in with Hive, open Magi Market in the sidebar, and you're trading.
Most marketplaces are a buy button with a fee attached. Magi Market is a toolkit, auctions, rentals, collection-wide offers, peer-to-peer swaps, and mint spots that sell the right to mint before the artwork exists. One contract, and the Hive account you already have.
Every marketplace has to answer one question, who holds the asset while it's for sale? The usual answer is "we do." That single design choice is where the horror stories come from: contracts that get paused with your art inside, upgrade keys that turn a listing into a permanent deposit, hacks that drain an escrow you never thought of as a place your NFT was stored.
Magi answers differently.
| Escrow model (most marketplaces) | Magi Market | |
|---|---|---|
| Where your NFT sits while listed | In the marketplace contract | In your wallet |
| What listing actually does | Transfers the token away | Grants an approval for just that token |
| If the market is paused or compromised | Your asset is inside it | Nothing to take — it was never there |
| Cancelling a listing | A withdrawal you have to be allowed to make | Revoking a permission you granted |
| During a live auction | Custodied | Still yours |
The market can't strand your asset, because it never holds it. That isn't a policy, a promise, or a roadmap item it's the structure of the contract.
Feature lists are boring. Here's what each one actually changes:
| Primitive | What it means in practice |
|---|---|
| Fixed-price listings & bundles | Sell one piece or a curated set as a single unit, so a collection stays a collection instead of being picked apart |
| Timed auctions | Real price discovery with on-chain bidding, minimum increments, and anti-snipe extension. Settlement is the contract's job, not a promise |
| Offers — per token and per collection | "I'll pay 25 for any piece in this series" becomes a first-class on-chain action instead of a Discord DM someone might honour |
| Rentals | Utility NFTs earn while you keep ownership. Fixed term, early termination, and the asset comes back enforced, not trusted |
| Mint spots | Sell the right to mint before the artwork exists. Fund the drop first, deliver second no pre-sale spreadsheet, no trust me bro |
| Direct swaps | Trade piece for piece, peer to peer, with nobody holding both sides mid-trade |
| Batch operations & sweep | List forty items or sweep a floor without signing forty times |
Across the wider NFT market, royalties drifted from guaranteed → optional → widely ignored, and creators absorbed the loss. The reason is simple: on most platforms royalties are marketplace policy, so a competing marketplace can simply decline to honor them.
On Magi, royalties are settled by the contract, on every secondary sale, as part of the trade itself. With multi-recipient splits the artist, the collaborator, and the community fund each take their cut automatically, in the same transaction. There is no "royalty-optional" mode to opt into, because there's no policy layer to opt out of.
You sign with your Hive account: Keychain, HiveAuth, PeakVault. No seed phrase to write down, no extra browser extension, no bridging anything anywhere.
Pricing isn't locked to one coin either any registered payment token can price a listing, on top of HBD and HIVE. Want your token accepted as payment? Tell us and we'll whitelist it.
Because Magi never escrows, selling is structurally two contracts talking: approve on the NFT contract, then list on the market. Done naively that's two signatures and a window where things are half-done approved but unlisted, or worse.
The Magi Market SDK composes those into one batch you sign once. And the approval it grants is the narrow one: scoped to the exact token and amount you're listing, not a blanket permission over your whole collection.
| Action | What's really happening under the hood | What you do |
|---|---|---|
| Sell | approve(market, tokenId, amount) on the NFT contract → list on the market | 1 signature |
| Auction | approve → createAuction | 1 signature |
| Rent out | approve → listRental | 1 signature |
| Mint spots | operator or per-token approval → listMintSpots | 1 signature |
| Buy | token approve → buy (or a native transfer.allow intent) | 1 signature |
The cross-contract dance is real. It's just not your problem any more.
The whole thing is open source at github.com/vsc-eco/market-sdk — three layers, pull only what you need.
| Package | What it gives you | Use it when |
|---|---|---|
@vsc.eco/market-core | Operation builders for every market entrypoint — listings, offers, auctions, royalties, bundles, swaps, rentals, mint spots, governance — plus the cross-contract composites. Zero runtime dependencies | You own your signing pipeline and want nothing else in the way |
@vsc.eco/market-sdk | Read providers (node state + indexer), the chunked-batch broadcast orchestrator, the cross-contract flows, deployer client | You want market.sell(...) to just work |
@vsc.eco/market-widget | Drop-in React and web components — full marketplace panel, or just the action modals (in progress) | You want a marketplace in your app this afternoon |
Embed the market in your own frontend, keep your own listing grid and adopt only the modals, or build an entirely different marketplace on the same contract. That last option is the point: the contract is the market, not the website in front of it.
The Magi Market SDK all three layers, the cross-contract orchestration, and the embeddable panels was built by @tibfox. The one-signature sell flow that makes non-custodial listing feel effortless is his design work, and it's the difference between a marketplace people can use and one they want to.
altera.magi.eco → Magi NFT Market. Hive login, and you're in.
Your keys. Your NFT. Your market.