← Protocols
Paras
01Description

NFT marketplace on the NEAR Protocol focused on digital collectibles, comics, and trading-card-style series. Open marketplace contract (`marketplace.paras.near`) with a public REST API and a NEAR-native minting pipeline (`x.paras.near`).

02Best for
  • 01NEAR NFT marketplace integrations
  • 02creator-driven series / collection mints
  • 03digital comics + trading-card storefronts
  • 04secondary marketplace listings
03Install
  • # No first-party npm SDK; integrate via the public Paras API + NEAR's near-api-js to call marketplace.paras.near and x.paras.near directly.
  • pnpm add near-api-js
04Environment variables
VariableScopeDescription
NEXT_PUBLIC_NEAR_NETWORK_IDClientNEAR network — 'mainnet' or 'testnet'.
NEXT_PUBLIC_PARAS_MARKETPLACE_CONTRACTClientParas marketplace contract account (mainnet: `marketplace.paras.near`).
05Prompt snippet
Use the Paras REST API at `https://api-v2-mainnet.paras.id/` for reads: `GET /token` (filter by `contract_id`, `owner_id`, `token_series_id`), `GET /collections`, `GET /activities`, `GET /offers`. To create a listing, call the marketplace contract via `near-api-js`: the seller calls `nft_approve` on the NFT contract with `msg = JSON.stringify({ price, market_type: 'sale', ft_token_id: 'near' })` and `account_id = 'marketplace.paras.near'` — the marketplace's `nft_on_approve` callback registers the listing. Buyers call `marketplace.paras.near.buy({ nft_contract_id, token_id, ft_token_id, price })` attaching `price` in yoctoNEAR. Paras-native NFTs use `x.paras.near` (token series → token ID model: `nft_mint(token_series_id, receiver_id)`).
06Gotchas
  • NEAR's storage staking model: minting and listing both require the caller to attach storage deposits (often 0.01–0.1 NEAR); the call reverts with `Not enough storage deposit` rather than auto-charging — surface this to the user.
  • Royalty enforcement on Paras: royalties are set at token-series creation and split among up to 10 receivers; marketplace pays them at settlement, but third-party NEAR marketplaces (e.g. Mintbase) may not honor them — assume worst-case off-Paras.
  • Marketplace fee is 2.5% (treasury); confirm by reading `marketplace.paras.near.get_market_data` because the contract is upgradable.
  • Chain coverage is NEAR mainnet only; no EVM compatibility — token IDs are strings (e.g. `'1234:5'`) not uint256, and contracts are accounts (e.g. `x.paras.near`) not addresses.
  • Listing flow uses the NEP-178 `nft_approve` pattern: a re-approval is required after every transfer or the marketplace's listing becomes invalid silently (the NFT remains in the wallet but `buy` reverts).
  • Paras token series cap supply at series-creation time — once a series is minted out, you must create a new series; `nft_mint` on a closed series fails with `Series capped`.
07Alternatives