← Protocols
AssetMantle
NFT / Marketplace·Cosmos · AssetMantle

AssetMantle

01Description

Cosmos-SDK NFT marketplace and asset framework. Runs as `mantleNode` (the AssetMantle chain in the Cosmos ecosystem) plus the MantlePlace marketplace dApp. Exposes Cosmos REST/gRPC endpoints for assets, identities, splits, and orders, all defined as native Cosmos modules.

02Best for
  • 01Cosmos NFT marketplace integrations
  • 02IBC-aware NFT issuance
  • 03metadata-as-on-chain-state (`assets` module)
  • 04Cosmos-native identity + splits
03Install
  • pnpm add @cosmjs/stargate @cosmjs/proto-signing
  • # AssetMantle protobufs are in AssetMantle/modules — generate TS types from the .proto files for typed messages.
04Environment variables
VariableScopeDescription
ASSETMANTLE_RPC_URLClientTendermint RPC endpoint for the AssetMantle chain (e.g. `https://rpc.assetmantle.one`).
ASSETMANTLE_REST_URLClientCosmos LCD/REST endpoint (e.g. `https://rest.assetmantle.one`) for queries.
NEXT_PUBLIC_ASSETMANTLE_CHAIN_IDClientChain ID — `mantle-1` for mainnet.
05Prompt snippet
Connect with CosmJS: `const client = await SigningStargateClient.connectWithSigner(ASSETMANTLE_RPC_URL, signer, { gasPrice: GasPrice.fromString('0.01umntl') })`. AssetMantle defines custom Cosmos modules — to mint an NFT, broadcast `MsgDefine` (declare an asset class) then `MsgMint` (issue an asset) from `assetmantle.modules.assets.transactions`. Listings live in the `orders` module via `MsgPut` (put an asset on order) and `MsgTake` (fulfill). Query state through the Cosmos REST gateway: `GET /assetmantle/assets/v1beta1/assets`, `GET /assetmantle/orders/v1beta1/orders`, `GET /assetmantle/identities/v1beta1/identities`. The MantlePlace marketplace UI is a thin client over these messages — same flows from your own app are first-class.
06Gotchas
  • AssetMantle uses custom Cosmos modules (`assets`, `identities`, `splits`, `classifications`, `orders`, `metas`) — generic `cosmos.nft.v1beta1` (Cosmos SDK x/nft) clients will not see AssetMantle assets; you must use AssetMantle's protobufs from `AssetMantle/modules`.
  • Royalty enforcement: royalties are encoded in the asset's `metas` and enforced by the `orders` module at `MsgTake` settlement — but only when traded through AssetMantle's orders module; transferring via `MsgSend` bypasses royalties entirely.
  • Marketplace fee is governance-controlled and can change via on-chain proposals; read `params` from the `orders` module rather than hardcoding.
  • Chain coverage is the AssetMantle Cosmos chain only — IBC transfer is supported but receiving chains lose the AssetMantle metadata model and treat the asset as a generic IBC denom.
  • Gas token is `umntl` (micro-MNTL); transactions fail with `insufficient fees` if you submit with `uatom` or other denoms.
  • Project momentum: as of 2026 AssetMantle development has slowed and validator set is small — assess decentralization/uptime risk before relying on it for production marketplaces.
07Alternatives