Tensor website screenshot

Tensor

Tensor is the Solana-native NFT marketplace and trading protocol founded by Tensor HQ and now stewarded by the Tensor Foundation. The platform exposes a public read REST API, a transaction-construction (TX) API that returns unsigned Solana transactions for list / buy / bid / pool flows, and a WebSocket subscription stream for realtime marketplace events. Five open-source Anchor programs — Marketplace, AMM v2, Whitelist, Escrow, and Fees — back the protocol and ship as `@tensor-foundation/*` JavaScript SDKs and `tensor-*` Rust crates. Tensor supports legacy NFTs, programmable NFTs (pNFT), and Bubblegum compressed NFTs (cNFT), and serves as the execution layer behind aggregators, wallets, sales bots, and AMM bonding-curve liquidity providers across the Solana ecosystem. Governance and ecosystem grants flow through the TNSR token and the Tensor DAO on Realms.

3 APIs 16 Features
NFTMarketplaceSolanaBlockchainWeb3CryptocurrencyTradingDAODeFiAMM

APIs

Tensor API

Read API surface for the Tensor marketplace covering collections, NFT mint metadata, active listings, bids (collection-wide, single-NFT, trait), TSwap and TAmm pool state, user ...

Tensor Transaction API

Server-side transaction construction API that returns base64-encoded unsigned Solana transactions for the canonical Tensor marketplace flows — list, delist, edit listing, buy, p...

Tensor WebSocket API

Subscription-based realtime stream of Tensor marketplace events. Channels include `newTransaction` (every confirmed marketplace action), `ammOrderUpdate` / `ammOrderUpdateAll` (...

Collections

Tensor API

OPEN

Pricing Plans

Tensor Plans Pricing

2 plans

PLANS

Rate Limits

Tensor Rate Limits

3 limits

RATE LIMITS

FinOps

Tensor Finops

FINOPS

Features

Solana's leading NFT marketplace covering 30,000+ collections with deep liquidity
Read API (REST) covering collections, listings, bids, pools, mints, user portfolios, transaction history, and royalty enforcement
Transaction (TX) API that returns unsigned base64 Solana transactions for list / delist / buy / bid / pool ops — clients sign locally
WebSocket subscriptions for `newTransaction`, `ammOrderUpdate`, `tcompBidUpdate`, with ping/unsubscribe control frames
Supports legacy NFTs, programmable NFTs (pNFT), and Bubblegum compressed NFTs (cNFT)
TensorSwap AMM v2 with bonding curves (linear, exponential) and shared escrow for capital-efficient market making
Collection-wide bids, single-NFT bids, and trait-attribute bids
Creator Portal — collection claim/verification, launchpad, and royalty configuration
YOLO Buy aggregator and floor-purchase recipes
On-chain programs are open-source (Apache-2.0) Anchor programs published as IDLs, npm packages, and Rust crates
Five official programs — Marketplace, AMM v2, Whitelist, Escrow, Fees — each shipped as `@tensor-foundation/*` npm and `tensor-*` crates.io packages
Authentication via `x-tensor-api-key` header issued through dev.tensor.trade after Airtable application
smart-rpc transport, Unified Wallet Kit, Next.js / Discord / Telegram starter templates published on GitHub
TNSR token (mint `TNSRxcUxoT9xBG3de7PiJyTDYu7kskLqcpddxnEJAS6`) — 1B supply, governance via Realms DAO at app.realms.today/dao/TNSR
Tensor Foundation Grants program for ecosystem builders
Multiple third-party audits of Anchor programs published at docs.tensor.foundation/audits

Event Specifications

Tensor WebSocket API

Realtime subscription stream for the Tensor Solana NFT marketplace. Clients open a single WebSocket connection authenticated with `x-tensor-api-key`, then send JSON subscribe/un...

ASYNCAPI

Semantic Vocabularies

Tensor Context

47 classes · 3 properties

JSON-LD

API Governance Rules

Tensor API Rules

6 rules · 2 errors 4 warnings

SPECTRAL

Example Payloads

Tensor Tx Buy Example

2 fields

EXAMPLE

Tensor Tx List Example

2 fields

EXAMPLE

Resources

🌐
Portal
Portal
🌐
Portal
Portal
🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
💻
CodeExamples
CodeExamples
🚀
GettingStarted
GettingStarted
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Forums
Forums
👥
GitHubOrganization
GitHubOrganization
👥
GitHubOrganization
GitHubOrganization
💻
SourceCode
SourceCode
💻
SourceCode
SourceCode
💻
SourceCode
SourceCode
💻
SourceCode
SourceCode
💻
SourceCode
SourceCode
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
📝
Signup
Signup
🔗
SocialMedia
SocialMedia
🔗
SocialMedia
SocialMedia
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Tensor Transaction (TX) API
  version: '1.0'
request:
  auth:
    type: apikey
    key: x-tensor-api-key
    value: '{{x-tensor-api-key}}'
    placement: header
items:
- info:
    name: Listings
    type: folder
  items:
  - info:
      name: Build List NFT Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/list
      params:
      - name: mint
        value: ''
        type: query
      - name: owner
        value: ''
        type: query
      - name: price
        value: ''
        type: query
      - name: blockhash
        value: ''
        type: query
    docs: Construct a transaction to list an NFT, pNFT, or cNFT for sale.
  - info:
      name: Build Edit Listing Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/edit-listing
      params:
      - name: mint
        value: ''
        type: query
      - name: owner
        value: ''
        type: query
      - name: price
        value: ''
        type: query
    docs: Build Edit Listing Transaction
  - info:
      name: Build Delist Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/delist
      params:
      - name: mint
        value: ''
        type: query
      - name: owner
        value: ''
        type: query
    docs: Build Delist Transaction
  - info:
      name: Build Buy Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/buy
      params:
      - name: mint
        value: ''
        type: query
      - name: buyer
        value: ''
        type: query
      - name: maxPrice
        value: ''
        type: query
    docs: Build Buy Transaction
- info:
    name: Bids
    type: folder
  items:
  - info:
      name: Build Place Collection Bid Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/place-collection-bid
      params:
      - name: slug
        value: ''
        type: query
      - name: bidder
        value: ''
        type: query
      - name: price
        value: ''
        type: query
      - name: quantity
        value: ''
        type: query
    docs: Build Place Collection Bid Transaction
  - info:
      name: Build Place Single-NFT Bid Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/place-single-nft-bid
      params:
      - name: mint
        value: ''
        type: query
      - name: bidder
        value: ''
        type: query
      - name: price
        value: ''
        type: query
    docs: Build Place Single-NFT Bid Transaction
  - info:
      name: Build Place Trait Bid Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/place-trait-bid
      params:
      - name: slug
        value: ''
        type: query
      - name: bidder
        value: ''
        type: query
      - name: trait
        value: ''
        type: query
      - name: value
        value: ''
        type: query
      - name: price
        value: ''
        type: query
    docs: Build Place Trait Bid Transaction
  - info:
      name: Build Accept Bid Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/accept-bid
      params:
      - name: bid
        value: ''
        type: query
      - name: mint
        value: ''
        type: query
      - name: seller
        value: ''
        type: query
    docs: Build Accept Bid Transaction
  - info:
      name: Build Cancel Bid Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/cancel-bid
      params:
      - name: bid
        value: ''
        type: query
      - name: bidder
        value: ''
        type: query
    docs: Build Cancel Bid Transaction
- info:
    name: Pools
    type: folder
  items:
  - info:
      name: Build Create Pool Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/pool/create
      params:
      - name: owner
        value: ''
        type: query
      - name: slug
        value: ''
        type: query
      - name: poolType
        value: ''
        type: query
      - name: curveType
        value: ''
        type: query
      - name: startingPrice
        value: ''
        type: query
      - name: delta
        value: ''
        type: query
      - name: mmFeeBps
        value: ''
        type: query
    docs: Open a TensorAMM v2 bonding-curve pool.
  - info:
      name: Build Edit Pool Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/pool/edit
      params:
      - name: pool
        value: ''
        type: query
      - name: owner
        value: ''
        type: query
      - name: startingPrice
        value: ''
        type: query
      - name: delta
        value: ''
        type: query
    docs: Build Edit Pool Transaction
  - info:
      name: Build Close Pool Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/pool/close
      params:
      - name: pool
        value: ''
        type: query
      - name: owner
        value: ''
        type: query
    docs: Build Close Pool Transaction
  - info:
      name: Build Pool Deposit Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/pool/deposit
      params:
      - name: pool
        value: ''
        type: query
      - name: owner
        value: ''
        type: query
      - name: amount
        value: ''
        type: query
    docs: Build Pool Deposit Transaction
  - info:
      name: Build Pool Withdraw Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/pool/withdraw
      params:
      - name: pool
        value: ''
        type: query
      - name: owner
        value: ''
        type: query
      - name: amount
        value: ''
        type: query
    docs: Build Pool Withdraw Transaction
- info:
    name: Escrow
    type: folder
  items:
  - info:
      name: Build Shared Escrow Deposit Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/escrow/deposit
      params:
      - name: owner
        value: ''
        type: query
      - name: amount
        value: ''
        type: query
    docs: Build Shared Escrow Deposit Transaction
  - info:
      name: Build Shared Escrow Withdraw Transaction
      type: http
    http:
      method: GET
      url: https://api.mainnet.tensordev.io/api/v1/tx/escrow/withdraw
      params:
      - name: owner
        value: ''
        type: query
      - name: amount
        value: ''
        type: query
    docs: Build Shared Escrow Withdraw Transaction
bundled: true