# About

Solana's Leading NFT Marketplace for both Traders and Creators

## Traders 📈

As a trader you'll find on Tensor:

[**Marketplace**](https://www.tensor.trade/trade/tensorians) **🤝**

* **Deepest liquidity** on all of Solana
* Coverage of **30,000+ collections** on Solana
* A **lightning-fast, composable** UI that updates in real-time
* **Advanced functionality** for pros
* Full support for **market-making** orders and **collection-wide bids**
* Fun **rewards** for trading

## Creators 🎨

As a creator you'll find on Tensor:

* A **hub to manage your collection** - add/remove mints, change name & description, etc
* A **launchpad** to launch all and any kinds of Solana NFTs (pNFTs, compressed, etc)

## Tensorians 👾

Finally, we also have our very own NFT collection - [**Tensorians**](/tensorians/tensorians-manifesto) 👾 - for our 10k superfans!


# Links

## Socials 💬

Discord: <https://discord.gg/tensor>

Twitter: <https://twitter.com/tensor_hq>

YouTube: <https://www.youtube.com/@tensor_hq>&#x20;

## Trade 📈

Trade product: <https://www.tensor.trade/>

## Create 🎨

Create product: <https://create.tensor.trade/>

## Tensorians 👾

Home: <https://www.tensorians.com/>

Shipyard (staking): <https://www.tensor.trade/shipyard>&#x20;

Swapsorian (OTC trades): <https://www.tensor.trade/swapsorian>&#x20;

Tensorians Twitch: <https://www.twitch.tv/tensorians>&#x20;

Tensorians YouTube: <https://www.youtube.com/@tensorians>&#x20;


# Roadmap

No roadmap. We just **SHIP IT ⚛️⚡️**&#x20;


# Rewards

Traders trading on Tensor get fun rewards!. Learn more below.

Tensor runs incentives programs in "seasons", each different to previous. Below you'll find a chronological feed of season news, starting with the most recent.

{% content-ref url="/pages/4pKU1WakW8HLQmZWKHtt" %}
[Referrals!](/welcome/rewards/referrals)
{% endcontent-ref %}

{% content-ref url="/pages/vDAOfxETOLarVYqJTeSf" %}
[Season 3!](/welcome/rewards/season-3)
{% endcontent-ref %}

{% content-ref url="/pages/gF8U4Qftq9rgdOR5WB7L" %}
[End of Season 2 + Tensorians are coming!](/welcome/rewards/end-of-season-2-+-tensorians-are-coming)
{% endcontent-ref %}

{% content-ref url="/pages/AGZtRMT5a5YRZ3FjfqXO" %}
[Season 2!](/welcome/rewards/season-2)
{% endcontent-ref %}


# Season 4!

Season 4 has officially started on Tensor.&#x20;

You can **bid, list and market-make** to earn points, just like you did in Season 2 and 3.

You'll find a full description of how to earn the most points in the [rewards hub](https://www.tensor.trade/rewards).

<figure><img src="/files/V5iOoqNjruDmrvXOZf5p" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Point counter is hidden but you can still see your rank on the leaderboard!
{% endhint %}

## Points Update

Points are now equally distributed across each day, regardless of market volume.

In addition:

✅ Wash-traded collections will be flagged and earn 0 points (shown in UI).

✅ Spoofed bids/listings will not be eligible for points.

<figure><img src="/files/juVSBW4RdpDsXmo7zibN" alt=""><figcaption><p>No Point Icon</p></figcaption></figure>

Collections with the No Point Icon will generate zero points.

0 and optional royalty collections will generate reduced amounts of points.

## End Date

Season 4 ended on December 21st at 12am UTC.


# Referrals!

Growing the pie and getting rewarded - how to do it? Read along

{% hint style="info" %}
*tl;dr - Tensorians can refer others to earn fees & points, and referees get a points multiplier!*
{% endhint %}

## Referrer

<figure><img src="/files/1EEBEeI0XFc69B8e4x5W" alt=""><figcaption><p><a href="https://www.tensor.trade/rewards">https://www.tensor.trade/rewards</a><br>You can share your code or a link!</p></figcaption></figure>

The Tensor Referral program rewards you with SOL and Tensor points.

To participate, you must [stake ](https://www.tensor.trade/shipyard)at least 1 [Tensorian](https://www.tensorians.com/).

Once staked, you will earn:

1. Additional points multiplier based on your own trading.
2. A percentage of points from the trading activity generated by your referral code.
3. 5% of the marketplace fees generated on spot trading volume by your referral code.

{% hint style="info" %}
Read more on points here: [Season 3!](/welcome/rewards/season-3)
{% endhint %}

Your referrer bonus scales with number of Tensorian staked.&#x20;

<table data-view="cards"><thead><tr><th></th><th>Point Multiplier (own trading)</th><th>% of points from referee</th><th>% of fees (from referee)</th></tr></thead><tbody><tr><td>Milestone 1 (<strong>1</strong>+ Staked)</td><td>1.10x</td><td>10</td><td>5</td></tr><tr><td>Milestone 2 (<strong>10</strong>+ Staked)</td><td>1.25x</td><td>15</td><td>5</td></tr><tr><td>Milestone 3 (<strong>50</strong>+ Staked)</td><td>1.50x</td><td>25</td><td>5</td></tr></tbody></table>

{% hint style="warning" %}
Benefits increment linearly by 0.025 (Multiplier) and 0.005 (Referral). \
\
After Milestone 2, multiplier scale by 0.0125 and referral by 0.0025 instead.\
\
Staking benefits caps at 50 Tensorian staked.&#x20;
{% endhint %}

<figure><img src="/files/qh4QADV8dOzYZXmyHsEm" alt=""><figcaption><p>Benefits caps at 50 Tensorian Staked.</p></figcaption></figure>

{% hint style="info" %}
Example:&#x20;

* User with 5 Tensorian staked will gain 12% of points from referee and 1.35x points Multiplier of their own points.
* User with 15 Tensorian staked will gain 16.25% of points from referee and 1.5625x points Multiplier of their own points.
  {% endhint %}

## Referee

{% hint style="info" %}
*Referee = the user who signs up with a referral code*
{% endhint %}

Anyone can register using a referral code. New sign-ups will get a 1.05x multiplier forever on their trading activity.

<figure><img src="/files/v5HVhxM407DEVAKNAed7" alt=""><figcaption><p><a href="https://www.tensor.trade/rewards">https://www.tensor.trade/rewards</a><br>Authenticate your wallet to see!</p></figcaption></figure>

\
Referee bonus does not stack after you staked at least 1 Tensorian. For example:

1. Someone who has never been referred - 1.00x multiplier on trading points.
2. Someone who got referred but no Tensorians staked - 1.05x multiplier on trading points.
3. Someone who bought a Tensorian and staked it - 1.10x multiplier on trading points.

***

## Example

Trader A is a loyal Tensor user and refers Trader B, let's take a look at how much Trader A will earn from recruiting a decently active trader!

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th>Details</th><th>Earnings</th></tr></thead><tbody><tr><td>Trader A (<mark style="color:purple;"><strong>Referrer</strong></mark>)</td><td><ul><li>Has 10 Tensorians staked (Milestone 2)</li><li>Referred <mark style="color:yellow;">Trader B</mark></li></ul></td><td><ul><li>2,000 pts earned from Trading</li><li><mark style="color:green;">+500 pts from staking bonus (1.25x)</mark></li><li><mark style="color:green;">+750 pts from Trader B ref bonus (15%)</mark></li><li><mark style="color:green;">+1 SOL in fee rebate from Trader B (5%)</mark></li></ul></td></tr><tr><td>Trader B (<mark style="color:yellow;"><strong>Referee</strong></mark>)</td><td><ul><li>Referred by <mark style="color:purple;">Trader A</mark></li><li>20 SOL spent in fees</li></ul></td><td><ul><li>5,000 pts earned from Trading</li><li><mark style="color:green;">+250 pts from ref bonus (1.05x)</mark></li></ul><p></p></td></tr></tbody></table>


# Season 3!

Season 3 has officially started on Tensor.&#x20;

You can **bid, list and market-make** to earn points, just like you did in Season 2.

You'll find a full description of how to earn the most points in the [rewards hub](https://www.tensor.trade/rewards).

<figure><img src="/files/k39MYxfMdgqzyszHnZlA" alt=""><figcaption></figcaption></figure>

Note that for season 3, the **points counter will be hidden**. This is to prevent abuse and ensure a healthy NFT market.&#x20;

{% hint style="success" %}
You can still see your rank on the leaderboard, but without points.
{% endhint %}

## Introducing Price Locks!

<figure><img src="/files/ajrkVrztGYAUrZhvBjIG" alt=""><figcaption></figcaption></figure>

On January 22nd we introduced **price locks -** a new way to long / short NFTs.

Going forward, a significant proportion of all points will be reserved for price lock LPs, while the remainder will continue going to existing marketplace LPs.

Once again you'll find the full description of how to earn points in the [rewards hub](https://www.tensor.trade/rewards).

{% hint style="warning" %}
Price Locks are no longer available.
{% endhint %}


# End of Season 2 + Tensorians are coming!

Time to SHIP IT ⚛️⚡️

<figure><img src="/files/mw874IfEDISLpLATttZ6" alt=""><figcaption></figcaption></figure>

Season 2 has ended. You can reveal your rewards by going to the [rewards page](https://www.tensor.trade/rewards) on Tensor.

In addition to claiming S2 boxes, you can now open and see the contents of your **NFT boxes**. Any rewards they contain have **already been airdropped** to your wallet.

{% hint style="success" %}
When opening your NFT boxes, both Season 1 and Season 2 boxes were included.&#x20;
{% endhint %}

Treasure boxes are not yet openable.

{% hint style="info" %}
Season 2 was about **5x bigger** than Season 1 in terms of rewards. Season 3 will be even bigger. Stay tuned for more info. 👀
{% endhint %}

## What's next?

As you probably already know, our very own NFT collection, **Tensorians 👾** are coming!&#x20;

<figure><img src="/files/ZALFymCUzJx8E34hL6Lw" alt=""><figcaption></figcaption></figure>

The mint is happening on **Monday, 7th August.**

You will need Tensorian shards to mint. 10 shards + 1.69 SOL = 1 Tensorian.

Type of shard matters. 🔴🔵🟢🟣

Anyone who won a "WL" will be airdropped 10 shards of the same type (picked randomly) on Monday, right before the mint.

<figure><img src="/files/wgaR10vJj6Q0vuR8daQt" alt=""><figcaption></figcaption></figure>

## Our Partners <3

Quick shoutout to our amazing partners that have volunteered to put a ton of goodies into our NFT boxes. 🤗  Blessed to be working side by side with these 🐐s <3

<figure><img src="/files/Tm9BEa8f3HiMim5ZsgUf" alt=""><figcaption></figcaption></figure>


# Season 2!

Bigger than season 1

Season 1 has now ended and those of you who provided liquidity on TensorSwap have received your well earned rewards :)

<figure><img src="/files/HXZwLeZxx4VQuLH1EO2Z" alt=""><figcaption><p>Season 1 Airdrop</p></figcaption></figure>

Every 1 SOL of liquidity provided on TensorSwap yielded 25-50x points vs 1 SOL traded on other marketplaces.

{% hint style="success" %}
TensorSwap LPs earned **25-50x more rewards** vs other traders.
{% endhint %}

Those of you who've supported Tensor publicly and have the mod / OG / ambassador roles in discord have received extra goodies :)

{% hint style="warning" %}
If you haven't received an airdrop, it's for one of 2 reasons:

1. You were under the threshold (500 SOL volume traded / 200 Tswap points)
2. You were caught by our wash trading filter (read [more here](https://twitter.com/tensor_hq/status/1631729132924198913))
   {% endhint %}

## Season 2

With the end of Season 1, we're announcing Season 2!

Importantly, Season 2 will carry **more rewards** than Season 1 and those rewards will be **exclusively for TensorSwap users.**

So if you missed Season 1 don't worry you can still earn the **lion's share of rewards going forward**.

{% hint style="success" %}
Season 2 begins **RIGHT NOW** and will carry **MORE** rewards than Season 1!
{% endhint %}

### What are the criteria for Season 2?

Broadly speaking they are:

* The only 3 actions that will be rewarded will be **BIDDING**, **LISTING,** and **MARKET-MAKING**
* Collection will need to be in the top 100 by 24 hours volume to earn any points&#x20;
* Bidding/listing too far away from the floor won't give you points
* Bidding/listing on shit collections nobody heard of won't give you points
* Placing many bids with a small shared escrow balance won't give you many points
  * 2 non-escrowed bids 10 sol each (20 total) will give more points than 10 bids with 10 sol in shared escrow
* Wash trading definitely won't give you points (but will give us fees, for which we're grateful)
* If your bid/listing is taken, it stops earning points
* Time matters! the longer your bid/listing is active, the more points it earns
* Market-making is arguably the most convenient of the 3, as any bid taken becomes a listing and any listing taken becomes a bid&#x20;
  * Remember that you're also earning juicy market-making fees in the process :)
* And of course... all of this only on **TensorSwap** (if you list/bid on ME via Tensor you won't get points, in fact, you'll lose loyalty (see below))

You can find more details if you go to the [airdrop](https://www.tensor.trade/rewards) page (after claiming airdrop 1):

<figure><img src="/files/KJCAB1mvoyPXw1tvuHM5" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Note that only liquidity for the top 100 collections counts
{% endhint %}

###

### What about "**points**"? ⭐️

If you've participated in Season 1 you're used to seeing a number in top right corner you can optimize. \
\
Those points have been accounted for ✅ and are now **reset to 0**.

What about going forward? Each wallet still has a points counter moved to the top left of the screen as seen below when you connect your wallet.

&#x20;![](/files/e69QkrctugTPMhUXDNCJ)

The only way to earn points this season you will need to bid/listing/AMM on the top 100 by 24-hour volume. In the meantime, the best way to earn rewards is to **provide liquidity close to the floor**. If you try to game the system by wash trading, we'll zero out your points and you'll get nada. \
\
Don't be evil ¯\\\_(ツ)\_/¯

### Introducing Loyalty

<figure><img src="/files/y9sJWrbyTXOaJiVrq2aw" alt=""><figcaption></figcaption></figure>

While the instructions above describe how to earn **more boxes,** loyalty determines the **rarity** of the boxes you get. It does not impact quantity, only rarity.

Loyalty is defined by % of your listings on Tensor vs other marketplaces. A few examples:

* If you currently have 3 listings on Tensor and 3 listings on ME, your loyalty score is going to be only 50% (low) :(
* If you have 4 on Tensor and 1 elsewhere it will be 80% (better)
* if you have 5 on Tensor and 0 elsewhere it will be 100% (you're on FIRE 🔥)

{% hint style="success" %}
To maximize your loyalty **list only on TensorSwap**.
{% endhint %}

There are 4 tiers of loyalty:

* <50% loyalty - lowest tier
* 50-90% loyalty - medium tier
* 90-97% loyalty - upper tier
* 97%+ loyalty - top tier

{% hint style="info" %}
Rare boxes will contain **a lot** more stuff than normal boxes, so it's worth trying to land the highest tier 🫡
{% endhint %}

### What's inside the boxes?

Ancient Tensorian texts are somewhat hard for us hoomans to decipher and it will take some time until we figure out how to open the mysterious Tensorian boxes.&#x20;

We know for a fact that there's something valuable inside... but what? Descriptions provide some hints, but in general, you'll just have to wait...

<figure><img src="/files/hISEackC1mhYjchntarK" alt=""><figcaption></figcaption></figure>


# Tensorians Manifesto

A long time ago in a Solaxy far, far away...

{% embed url="<https://www.youtube.com/watch?v=_7kf5wI6TeI>" %}

## Who are Tensorians?

Tensorians are the **10,000 die-hard fans of Tensor**. It's the craziest bunch in the universe, taking a punt on this tiny yet ambitious team that is trying to bring NFTs to the masses.

What does being a die-hard fan even mean?&#x20;

* ✅ You're a hardcore user of our product, and can't imagine your life without it.
* ✅ You're an active member in our discord, providing feedback and helping others.
* ✅ You vibe with the Tensorian way of life - pushing the boundaries of what's possible.

It also means you're really important to us. You're giving us time, energy and mindshare - and we value that more than anything else.

{% hint style="success" %}
Nobody is more important for us than our 10,000 die-hard fans, Tensorians.
{% endhint %}

Hence the next section...

## Why should you become a Tensorian ("utility")?

TLDR: Tensorians are at the **epicenter** of everything Tensor is doing.&#x20;

* ⚡️ **Community**: gated discord, community of like-minded Tensorians & easy access to founding team!
* ⚡️ **Rewards**: Tensorians get awesome rewards from Tensor and our Partner Creators for being a superfan!
* ⚡️ **Features**: special features built only for you ([Swapsorian](https://twitter.com/tensor_hq/status/1693647343076466836), Stakesorian, etc).
* ⚡️ **Stuff**: exclusive drops, merch and other fun stuff that we're cooking strictly for Tensorians!
* ⚡️⚡️⚡️ + you get to rock a sic PFP made by [Zen0](https://twitter.com/zen0m) and post “SHIP IT ⚛️⚡️” all day long :)

{% hint style="info" %}
Check out [Tensorians.com](https://www.tensorians.com/) - the home of Tensorians!
{% endhint %}


# Weekly Streams

We conduct weekly streams for Tensorians where we vibe together and you guys can ask us any questions.

Streams take place every Friday at 2PM EST // 7PM UTC, and are hosted in our Discord server.

The first stream is recorded [over here](https://lvpr.tv/?v=989da2v0d7det6u3) (youtube blocked us due to background music 😬).

All future streams will be uploaded to [Tensorians YouTube](https://www.youtube.com/channel/UCcqEkLCzXrItXgu53PxQk5A)!


# Fees & Royalties

## Fees 💸

Our marketplace charges:

* 2% taker fee
* 0% maker fee&#x20;

## Enforced Royalties 👑

Enforced royalties are always paid by the **taker**, and never by the **maker**. That is, a buyer who buys a listed NFT pays royalties and the marketplace fee in addition to the listed price, and a seller who sells to a bid receives the bid amount minus royalties and the marketplace fee.&#x20;

Tensor requires payment of full royalties on collections with enforced royalties. Payment of optional royalties is at the taker's discretion.&#x20;

<figure><img src="/files/lay5h3vms7a1KzHaL36O" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
This is in-line with Metaplex's [MIP-1](https://github.com/metaplex-foundation/mip/blob/main/mip-1.md)[ ](https://github.com/metaplex-foundation/mip/blob/main/mip-1.md)requirements. 🤝
{% endhint %}

## Optional Royalties 👑

Takers can choose whether to pay none, half, or all of a collection's optional royalty rate. This setting can be found in the checkout pane (if the selected collection has optional royalties), or in the app settings.&#x20;

<figure><img src="/files/WROexj1R4KiBYpmJ9IXO" alt=""><figcaption></figcaption></figure>

## Perspective on Prices

You can choose to see listing prices and bids from either the maker's or the taker's perspective. The toggle is located in the footer for computer users, and in the app settings for mobile users.&#x20;

<figure><img src="/files/MPwkVj1LZfEuTqppOX88" alt=""><figcaption><p>The price toggle</p></figcaption></figure>

## For Creators: Royalty Payments&#x20;

Note, some collections have reached out to us asking why they can't see the royalty payment in solscan on their enforced NFT.

The answer is the payment only shows in the SOL Balances view, and not on the home page of the transaction.

For example, for [this transaction](https://solscan.io/tx/5cwbps1psDk3hFgnCWDYBn73zEgsTCYFgdKgjWyxfuKKDrFyfvenQ6twNWiwSZU3cUgVHr89isCARh7mASoDrvS4) you can't see the royalty payment on home page:

<figure><img src="/files/H9G77hu8xbZFDLIwP479" alt=""><figcaption></figcaption></figure>

But if you click into the SOL Balances tab, you can see we paid the correct creator:

<figure><img src="/files/vY82w6dO7geEPMgU0Gs3" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/w2ybsWWkuwvGYdEu98yC" alt=""><figcaption></figcaption></figure>

The reason for this has to do with the technical implementation of our protocol. It's just a different way of reassigning lamports from one account to another, which Solscan doesn't correctly index on the main page.


# API & SDK

## API

API for Tensor's legacy and compressed marketplaces is available for **traders** and **market-makers**.&#x20;

Please fill out this form to get access: <https://airtable.com/apppFpk6Ul9yiI6sw/pagCBazYyAewboZnT/form>

## SDK

Our SDKs are public and open source and can be found here:

Legacy marketplace: <https://www.npmjs.com/package/@tensor-oss/tensorswap-sdk>

Compressed marketplace: <https://www.npmjs.com/package/@tensor-oss/tcomp-sdk>

Ledger Solana SDK: <https://www.npmjs.com/package/@tensor-oss/ledger-solana-sdk>


# Troubleshooting

Having technical issues? Fear not we got you covered:

{% content-ref url="/pages/annY5CPzfNFHDGsyCreK" %}
[Share an Error](/trade/troubleshooting/share-an-error)
{% endcontent-ref %}

{% content-ref url="/pages/nECs7wTcnphxdY5fyXsc" %}
[Doesn't load - what do?](/trade/troubleshooting/doesnt-load-what-do)
{% endcontent-ref %}

{% content-ref url="/pages/VhoK1sQMpTuXwPJD4npq" %}
[Verify an NFT Mint](/trade/troubleshooting/verify-an-nft-mint)
{% endcontent-ref %}

{% content-ref url="/pages/obSeaj724KSIszr9vpTn" %}
[Weird Phantom Transactions](/trade/troubleshooting/weird-phantom-transactions)
{% endcontent-ref %}


# Share an Error

If you ever try to transact on Tensor but get an error, the best thing you an do is **follow the steps below** to share it with us.

That way we'll be able to resolve the issue the **quickest** (typically within a few hours), and you can get back to trading. 📈⚡️

## Step 1: Open the console

Press: Option + ⌘ + J (on macOS), or Shift + CTRL + J (on Windows/Linux).

You'll see this open up:

<figure><img src="/files/KZPIFRIsmHksmAABEeBN" alt=""><figcaption></figcaption></figure>

## Step 2: Try to transact

Your transaction will fail:

<figure><img src="/files/WpXfJmlzH16wCgmZJVNY" alt=""><figcaption></figcaption></figure>

Now go look for an error in console that looks something like this:

<figure><img src="/files/apduvKcIYgHDfn8WE6S5" alt=""><figcaption><p>a useful error</p></figcaption></figure>

or this:

<figure><img src="/files/NOMwwbCO5PcKJUPAJrpO" alt=""><figcaption><p>another useful error</p></figcaption></figure>

Note, there are a few errors you will often see in console that are NOT the errors you're looking for, specifically they include these 2:

<figure><img src="/files/9NNsIwLCbz6Oz6mB9Fek" alt=""><figcaption><p>ignore this!</p></figcaption></figure>

<figure><img src="/files/zzrNzRMtLIDbXCi36dmf" alt=""><figcaption><p>ignore this too!</p></figcaption></figure>

## Step 3: Paste 2 things into Discord into 🐛 **#bug-reports**

1. The error as seen above
2. Full transaction signature for the failed transaction

{% hint style="success" %}
Don't worry, these errors don't contain any private / identifiable info, so you're safe to share them
{% endhint %}


# Doesn't load - what do?

If any of the following are happening to you:

1. Website itself doesn't load
2. Website loads, but the data doesn't
3. The wallet is not showing you a window to sign a transaction
4. You have a white screen

<figure><img src="/files/8FxiVauqII2mH3A8DNRo" alt=""><figcaption><p>Something like this</p></figcaption></figure>

Then chances are you're running into a **networking** issue. This could happen for any reason, but most often happens because your internet provider OR your vpn blocks some important IP address that we need for the app to work.

## Troubleshooting 🦾

Try the following options (from easy to hard):

1. Hard refresh your browser window (CMD+SHIFT+R on mac / CTRL+SHIFT+R on windows)
2. Try incognito mode
3. Try a different browser
   1. Especially if you're using Brave - Brave has all kinds of funky privacy stuff that could be blocking connection to our servers
4. Try disabling any privacy focused extensions like these

   <figure><img src="/files/WKBwGsTKIJZFIiERfkdM" alt=""><figcaption></figcaption></figure>
5. If you're using a VPN, try turning it OFF
6. If you're not using a VPN, try turning it ON. Try a few different countries, like the UK and the US
7. If nothing helps try installing a different VPN and trying different countries there

If you've tried **all of the above** and nothing worked please follow the instructions in [Share an Error](/trade/troubleshooting/share-an-error) and open a ticket in our [discord](https://discord.gg/tensor).


# Verify an NFT Mint

If you're worried about an NFT listed on Tensor and would like to verify the mint before purchasing it, follow the below steps:

**1. Open the NFT modal.**&#x20;

This can be done by clicking on the DETAILS button in card view, or by clicking on the image itself in row view.

<figure><img src="/files/BHFWmIzioyo2jxzHatKD" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/GA1FtonkF3WlqN0T1bIW" alt=""><figcaption></figcaption></figure>

**2. Find the NFT mint. Click on it.**

<figure><img src="/files/mwtzgpaopIkcKtzJc5WO" alt=""><figcaption></figcaption></figure>

**3. Copy the full token address.**

<figure><img src="/files/CRQ6J7RkDANkXTqozB10" alt=""><figcaption></figcaption></figure>

**4. Go to Moonrank's page for the relevant collection, such as** [**this one for DeGods**](https://moonrank.app/collection/degods)**.**

<figure><img src="/files/uvx5iTo767sc0gVb8sN9" alt=""><figcaption></figcaption></figure>

**5. Enter the tokenId into their search bar.**&#x20;

<figure><img src="/files/IHfwdAhW6vYuvQvsruF5" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
If the NFT is found, you've got the correct mint!
{% endhint %}

{% hint style="warning" %}
At Tensor we do our best to maintain clean & correct collection mint lists. However, sometimes collections remove/add mints, or generally have weird and complicated mint lists, leading to errors.

Ultimately it is **your responsibility as the buyer** to verify that any NFTs you're buying is correct.&#x20;

Tensor doesn't refund any purchases done through its platform - not because we're "bad guys", but because it would set a very dangerous precedent and open the platform to abuse.
{% endhint %}


# Weird Phantom Transactions

<figure><img src="/files/6jst9M5flNsIiOC7IWAl" alt=""><figcaption></figcaption></figure>

A common question we get is: "hey, I'm not using Tensor, don't have any pools or listings setup, but I see these negative value transctions in my wallet by your app - what are they?"

The answer is - those are **royalty payments**.

The **large green** numbers are royalties paid to you by Tensor. The **small negative gray** numbers are fees paid BY THE SENDER of Royalties to make those transactions happen.&#x20;

Unfortunately Phantom INCORRECTLY CLASSIFIES those fees as if they were paid by your wallet, when in actuality they haven't.

In other words, it's a UI bug. You haven't paid a cent of your own money.

{% hint style="success" %}
The small negative numbers are INCORRECTLY displayed by Phantom as if you paid them - when actually the SENDER of royalties paid them. It's a UI bug.
{% endhint %}

As a proof, click into one of these transactions, open it on Solscan and check who actually paid the fee. You'll see it wasn't your wallet.

We're chatting to team Phantom to get this fixed 🫡


# Rarity

Tensor supports up to 4 rarity systems per collection. 2 (HowRare and MoonRank methodology) are calculated automatically and are available for every collection, and 2 (Trait Normalized and Team Vision) rely on HowRare's API and are only enabled for some collections.![](/files/UAzUvhVuWtQBlY4HR5Un)

We receive plenty of questions about why the rank for item X on Tensor doesn't match the rank for item X somewhere else. Our 2 main methodologies are designed to mirror HowRare/MoonRank as closely as possible, but HR/MR also apply manual adjustments, which we don't. This means there are bound to be differences for some collections. You can always check HR/MR directly to be double-sure.

Overall, realize that rarity is more art than science and that there is no "correct" rarity - just different systems. On Tensor we tried picking ones that we personally think are most mathematically sound - but you can always consult with any external system you believe to be better.


# Get Started with Tensor's AMM

TensorSwap (our AMM) is like your traditional NFT marketplace but with more trade automation and advanced order types.

## What is TensorSwap?

TensorSwap is kinda like an NFT marketplace, but not really.

We're an **AMM** - an "[automated market maker](https://academy.binance.com/en/articles/what-is-an-automated-market-maker-amm)" (the term from DeFi), but for NFTs.

Being an AMM lets us do certain cool things that traditional marketplaces can't - read on to learn more.

## How is TensorSwap different from MagicEden / OpenSea?

The main difference is that there's a lot more room for **you** as the user of the protocol to **get paid**.

Specifically, there are 2 ways you can **earn using TensorSwap:**

1. You can configure **your own fee 💸** (0-25%) when creating a market-making order&#x20;
2. You earn **reward points ⭐️** for all kinds of activities on TensorSwap, mainly setting up orders

{% hint style="info" %}
Read [Market-Making Example](/provide-liquidity/market-making-example) to learn more about getting paid as a market-maker.
{% endhint %}

{% hint style="info" %}
Check out [Rewards](/welcome/rewards) for details on our rewards program.
{% endhint %}

There are a few other differences:

* We let you set up some really cool order types, such as **collection-wide bids** (read [Buy or Bid](/trade/get-started-with-tensors-amm/buy-or-bid)) and **market-making orders** (read [Market-Make](/trade/get-started-with-tensors-amm/market-make)).
* We're 100% focused on building the **best UX for the NFT trader**: we started off building the fastest NFT aggregator & trading venue on Solana ([Tensor Trade](https://www.tensor.trade)) and we're bringing the same care and attention to detail to TensorSwap.   &#x20;

## How is TensorSwap different to other NFT AMMs?

We are a [concentrated liquidity AMM](https://blog.hubbleprotocol.io/what-is-clmm/#:~:text=The%20concentrated%20liquidity%20market%20maker,introduce%20the%20concept%20of%20CLMMs.).&#x20;

This means you as the market-maker get to specify both the **price range** you provide liquidity (200x+ more efficient liquidity) and **the fees you'd like to make.**&#x20;

* If you provide **good prices**, you earn all the fees (vs splitting it w/ other LPs). 💸
* In general, **your profit margin/APY will far exceed any passive AMM pools**. 🤑

{% hint style="info" %}
Follow this step-by-step tutorial to [Market-Make](/trade/get-started-with-tensors-amm/market-make) today!
{% endhint %}

## TensorSwap is live and ready to use!

To get started:

1. Go to Tensor: [www.tensor.trade](https://www.tensor.trade)
   1. Search or browse for your favorite NFT collection (eg "[DuckPunkz](https://www.tensor.trade/trade/duckpunkzuniverse)" or "[Cyber Samurais](https://www.tensor.trade/trade/cyber_samurai_gen2)")
2. **Buy**, **sell**, or **market-make**

If you'd like a bit more explanation on how each order type works, read the below:

{% content-ref url="/pages/vGRo4NPI7nIxsyJgjrPZ" %}
[Buy or Bid](/trade/get-started-with-tensors-amm/buy-or-bid)
{% endcontent-ref %}

{% content-ref url="/pages/RWA34XHVJzEhXT29nDp1" %}
[Sell or List](/trade/get-started-with-tensors-amm/sell-or-list)
{% endcontent-ref %}

{% content-ref url="/pages/e4SbmdYwyVAoWihLqtwE" %}
[Market-Make](/trade/get-started-with-tensors-amm/market-make)
{% endcontent-ref %}

Once you're done trading, you can close your order:

{% content-ref url="/pages/G8HKIFZJF4n1cHhBGo4G" %}
[Closing an Order](/trade/get-started-with-tensors-amm/closing-an-order)
{% endcontent-ref %}


# Buy or Bid

Buy NFTs on TensorSwap like any other marketplace. You can also place collection-wide bids (limit orders) to buy any NFT from a collection.

Navigate to the **BUY** tab to begin:

![](/files/Wn4W9RjZRWzLxX8eJKdf)

{% tabs %}
{% tab title="Buy Now" %}
You can buy any listed NFT on TensorSwap as you would on other marketplaces.

Quickly see what the best **BUY NOW** price is:

![](/files/2XEh12SQAhJIeYVoYT9s)<br>

#### Option 1: Quick Buy

Hover over the NFT and click the **BUY** button. The price shown beside the NFT is the price you pay (**no additional fees**)!&#x20;

![](/files/yIjhmJvsVbOAptDRTXQ2)

#### **Option 2: Bulk/Sweep Mode**

Use the slider or click on the NFTs to select the NFTs you would like to purchase.

Click on the **big green shiny button** (which shows total amount due) to confirm final details.<br>

<figure><img src="/files/DAQOyUQdIZHOKESrIWLE" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Collection Bid" %}
AKA **buy limit order**: avoid having to tediously bid on individual NFTs: **place a bid to buy any NFT(s)** from a collection with 1 click on TensorSwap!

####

#### **1. Navigate to the COLLECTION BID tab**

![](/files/9OsxCYF2ZRmIQpXDVghC)

#### **2. Specify the # of NFTs you'd like to BUY**

![](/files/dfpxrU5qBReOzdh26wSA)

This will determine up to how many NFTs your bid can buy with the SOL deposited.

If no one sells to you, you may end up buying 0.

If your bid is completely exhausted, you will buy this many NFTs.<br>

#### **3. Specify the starting price** ![](/files/MipGslAzUik6P64mPwrO)

This is the price you **pay for the 1st NFT you buy.**

All subsequent purchases will be equal or lower (see next point).

#### &#x34;**. Specify the "decrease by" or "delta"**

#### ![](/files/izq8V8FpzNntF14mUIM7)

This is how much the price will decrease after each purchase.

For example, if the starting price was 4.959 SOL and you specify a decrease of **1 SOL**, the 1st purchase will be at 4.959 SOL, the 2nd at 3.959 SOL, the 3rd at 2.959 SOL, etc... until:

1. You run out of SOL deposited
2. The price is negative (< 0)\ <br>

#### 5. Confirm order details

![](/files/6anszh15BnKNKOcHFEyt)

You will be shown the exact amount of SOL you need to deposit to purchase the # of NFTs you'd like to buy.

#### 6. Sign & send your collection bid! Congrats 🎉&#x20;

<figure><img src="/files/sKFuiYw8hcg0hYaoXJld" alt=""><figcaption></figcaption></figure>

See [Closing an Order](/trade/get-started-with-tensors-amm/closing-an-order) for how to cancel your bid.
{% endtab %}
{% endtabs %}


# Sell or List

Sell NFTs immediately if there's an open collection-wide bid, or list on TensorSwap with max 2% taker fees.

Navigate to the **SELL** tab to begin:

![](/files/zDz5suBu9bvzHWOn0AwP)

{% tabs %}
{% tab title="Sell Now" %}
You can sell any NFTs you own **immediately for SOL** if there is an open collection-wide bid. This allows you get to get **instant liquidity** for your NFTs without having to wait!

Look to see what's the best **SELL NOW** price:

&#x20;![](/files/Ea0cXmpU7sxWbHEEszQ6)

<br>

#### Option 1: Quick Sell

Hover over the NFT and click the **SELL** button.

![](/files/RqYdZTDwQcadApAkGGov)

The price shown in the confirmation modal is the amount you'll receive:

<figure><img src="/files/QpRaxVSFY72flynG6rqZ" alt=""><figcaption></figcaption></figure>

#### **Option 2: Bulk Sell Mode**

Use the slider or click on the NFTs to select the NFTs you would like to **sell**.

Click on the **big red shiny button** (which shows total proceeds from sale) to confirm final details. <br>

<figure><img src="/files/iGVohfuYuwPTbLW9J5d0" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="List" %}
Listing on TensorSwap is like listing on any other marketplace, with 2 benefits:

1. **Total fees are** **capped at 2% taker fee plus royalties if enforced**&#x20;
2. You can sell on [Bonding Curves](/provide-liquidity/advanced-concepts/bonding-curves): meaning you can sell the 1st NFT for X SOL, the 2nd for X+Y SOL, the 3rd for X+2Y SOL, etc. This lets you receive **more for your NFTs as the price goes up automatically.** &#x20;

####

#### **1. Navigate to the LIST tab**

![](/files/4e0oVb1sSrwonR05Hdj6)

#### **2. Specify the NFTs you'd like to LIST for sale**

You can list a number of NFTs in bulk by dragging the slider:

![](/files/dWaJT5vtxgXyyQLbI4BN)

Or individually select NFTs in the gallery to list:

<img src="/files/wUmNnYZmH7OMAs1QC8fU" alt="" data-size="original">

#### **3. Specify the starting price** ![](/files/NHcAO7rcYR0d0hIDUWM2)

This is the price you **sell the 1st NFT for.**

All subsequent sales will be equal or higher (see next point).

#### &#x34;**. Specify the "increase by" or "delta"**

#### ![](/files/Wcp48TiyBZWPbJAOnt0z)

This is how much the price will increase after each purchase.

For example, if the starting price was 4.94 SOL and you specify an increase of **0.5 SOL**, the 1st sale will be for 4.94 SOL, the 2nd at 5.44 SOL, the 3rd at 5.94 SOL, etc... **until all the NFTs you listed have been sold.**\ <br>

#### 5. Confirm order details

![](/files/8Vi3ePRbyJXuODEVVRny)

You will be shown the exact amount of SOL you would receive if you managed to sell all the NFTs you will be listing.

#### 6. Sign & send your listing! Congrats 🎉&#x20;

<figure><img src="/files/IUkRsZEq8D5kKmpeWOP3" alt=""><figcaption></figcaption></figure>

See [Closing an Order](/trade/get-started-with-tensors-amm/closing-an-order) for how to cancel your listing.
{% endtab %}
{% endtabs %}


# Market-Make

TensorSwap lets you automate "buy low, sell high" with 1-click!

{% hint style="warning" %}
Due to impermanent loss, you are not guaranteed profit! See [our article on impermanent loss](/provide-liquidity/advanced-concepts/impermanent-loss) and what it means.
{% endhint %}

{% hint style="danger" %}
**NEVER deposit a rare NFT into a market-making order**. If it sells for eg 10x the floor, your order will now be buying an NFT for 10x the floor, and someone will sell you a common.
{% endhint %}

Market-making orders on TensorSwap automate the process of **buying low, selling high**.

No longer do you need to monitor the NFT markets constantly, set of 9001 notifications & alerts, and adjust your listings every 2 minutes!

TensorSwap **makes NFT flipping as easy as 1-2-3 clicks**.

### tl;dr

* Create a market-make order by navigating to the **MARKET-MAKE** tab
* Specify the maximum # of NFTs you would like to buy, and the NFTs you would like to sell
* The **starting price** is the price you start **selling** your 1st NFT
* As traders buy/sell into your market-making order, the price will adjust by the **change by** or **"delta"** (delta ≠ spread, see next point!)
* The **desired fee** is the gap between your buy/sell price (ie **"spread"**). You profit this much for every completed **1 buy + 1 sell**
* Your **profit** is entirely the **desired fee** you collect (*delta doesn't add to your profit: it only determines how wide of a price range your liquidity covers!)*&#x20;
* Only 0% Tensor Maker fee (no royalties) & only when selling via market make

### Just tell me what to do

* NFTs to buy: **# of additional NFTs you're ok with buying**
* NFTs to sell: **NFTs you're ok with selling**
* Starting price: **global floor**
* Change by (delta): **5%**
* Desired fee (spread): **5%**

### Tutorial

We will use CryptoDuckPunkz to demo: <https://www.tensor.trade/trade/duckpunkzuniverse>

#### 1. Make sure you're in "PRO" mode

Toggle the switch at the bottom to "Pro"&#x20;

![](/files/bUuMhfn3BDEylheZr0NP)&#x20;

#### 2. Navigate to the MARKET-MAKE tab

![](/files/SdRl2WWJgZLkP9RPhZI6)

####

#### 3. Select # of NFTS you want to BUY

Select the **maximum # of NFTs** you would like to buy **initially**.

You will deposit enough SOL to buy up to this many NFTs when the order is first created (amount shown in the summary below).

Ideally, this is the additional # of NFTs you are okay with buying in the event that people only sell into your order.&#x20;

![](/files/oECcCWkpbg25TgV97DUG)

{% hint style="info" %}
You may end up buying more NFTs than initially specified eg **with the profit you accumulate** over time. Free NFTs, who can complain 🤷 &#x20;
{% endhint %}

#### 4. Select the NFTs you want to SELL

Select the NFTs from your wallet that you want to deposit and sell **initially**.

Buyers can buy any NFT you deposit for the current price of the order. Ideally, these are NFTs you are okay with selling.

You can use either the slider (selects left to right):

![](/files/as4Rcy6QiGT0gWhFtyuk)

Or manually select/de-select in the gallery:

![](/files/OAmOawtGU8abWXRFXPpu)

{% hint style="success" %}
You don't have to both buy & sell initially: you can create a market-making order which **initially only buys NFT(s)** or **only sells NFT(s)**. The proceeds will then shift to the other side after the 1st trade so you can eventually both buy + sell.\
\
This is great if you'd like to buy into a collection: create a market-making order that **buys only** **initially**, but also collect some MM fees along the way 🤑.
{% endhint %}

#### 5. Specify the starting price and how much the price changes after each trade

![](/files/Hd28E3EULMwsoZMA3Vq5)

The **starting price** determines how much you will **sell your 1st NFT.**

The **"change by"** determines how much the price changes (in SOL or % of the price) for every buy/sell into your order.

> *Example:*&#x20;
>
> *Starting price = 10 SOL, change by = 1 SOL (desired fee = 0 for now)*
>
> *Buy price: 9 SOL*&#x20;
>
> *Sell price: 10 SOL*
>
> *Trade 1: Bob sells you 1 NFT at 9 SOL. The prices **decreases by 1 SOL.***
>
> *New buy price: 8 SOL*
>
> *New sell price: 9 SOL*
>
> *Trade 2: Alice buys 1 NFT at 9 SOL. The price **increases by 1 SOL.***
>
> *New buy price: 9 SOL*
>
> *New sell price: 10 SOL*&#x20;
>
> *We're back at our starting prices!*
>
> *Trade 3: Bob sells you 3 NFTs at 9, 8, 7 SOL each. The price **decreases by 3 SOL.***
>
> *New buy price: 6 SOL*
>
> *New sell price: 7 SOL*

See [Bonding Curves](/provide-liquidity/advanced-concepts/bonding-curves) for more details on the difference between Linear (in SOL) and Exponential (in %) deltas.

{% hint style="info" %}
We recommend setting the **starting price** to be around the **global floor** and a price delta of **5%** (higher for less liquid collections, lower for more liquid)**.**&#x20;
{% endhint %}

**6. Specify the desired fee (spread) you want to charge**

![](/files/BrG3nOLf4L7gJoAftYvv)

This is the spread or difference between the price you buy and sell at any given time.

For example, if your **desired fee is 5%, you will get 5%** of the current price if 1 buy and 1 sell completes your order. &#x20;

**"Starting Price" MINUS "Change By" MULTIPLIED BY "1 - Desired Fee"** determines then for how much you will **buy your 1st NFT.**

{% hint style="warning" %}
The profit of market-making comes entirely from the **desired fee** or **spread** you specify here.&#x20;

**Delta** discussed earlier *does not* add to your profit: it only determines how much the price changes per trade (and thus the price range your liquidity covers).

A **larger fee** means you make more per trade, but since your buy/sell price are further apart, you may see less volume from both sides at any given time.

We recommend a **5% fee,** to begin with!
{% endhint %}

####

#### 7. Review the details of your market-making order

The amount of SOL to be deposited will be shown if you're **buying NFTs** with this order.

You'll also see how much SOL you'll receive if all the **NFTs you are selling** are sold.

![](/files/BWfX3A0Z4TqJGOtUupQV)

**8. Sign & send your market-making order! Congrats** 🎉

<figure><img src="/files/TTxzU7HwUkb1GhHeDqpq" alt=""><figcaption></figcaption></figure>

See [Closing an Order](/trade/get-started-with-tensors-amm/closing-an-order) for how to cancel your market-making order.


# Closing an Order

1. Navigate to the collection page (eg [tensor.trade/trade/degods](https://www.tensor.trade/trade/degods))
2. Navigate to the **ORDERS** tab
3. <img src="/files/l2BatEzmdjDVxcCWGH9J" alt="" data-size="original">
4. Optionally filter by **Your orders only** (need to connect wallet)
5. Click on the **order row** you'd like to close
6. Click on **Cancel Order & Withdraw**
7. ![](/files/BmAZjYXbOb81CELi35iM)


# Purchase Caps

**Purchase caps** are enforced on TensorSwap whenever you place an **escrowed order**.

{% hint style="info" %}
An escrowed order is one that is connected to your **shared escrow**. It lets you be more **capital efficient** by using the same funds to bid on / market-make for multiple collections. 💸
{% endhint %}

## Why are caps important?

Purchase caps are important because they **protect your escrow funds** from being accidentally used up by a forgotten bid order.

Example:

*Imagine you placed a bid order to buy some Awesome Collection X NFTs at 1 SOL a pop. You uploaded just enough funds into your escrow to buy 10, and happy days, someone filled your order.*&#x20;

*You went to touch grass and forgot you ever created this bid. A few days later you decide to create a 2nd bid for a different collection and upload some more funds into your escrow.*&#x20;

❌ *If the first bid was uncapped, then it would not **have access to those funds and continue buying.** This means if Awesome Collection X went down to 0.5 SOL your order would now buy a ton of NFTs at 2x the floor price!*

✅ *With bid caps, however, even though your escrow has more funds in it, the 1st bid order **does not have access to them.** It's been told to buy 10 and no more, and it's not allowed to touch your funds beyond that.*

{% hint style="success" %}
NFT purchase caps are turned on by default. There is nothing you have to do.
{% endhint %}

## Setting a cap when creating an order

When **creating a BID order** the purchase cap is automatically set equal to the number of NFTs you're bidding on:

<figure><img src="/files/ghRnFw69f60WyYvZmfoZ" alt=""><figcaption></figcaption></figure>

When creating a **MARKET-MAKING order** you have the choice of what to set the purchase cap to manually:

<figure><img src="/files/bb7SACk3uP9awKkaMB4V" alt=""><figcaption></figcaption></figure>

## Editing an existing cap

You can always **change the cap** on your escrowed order by clicking on it and finding the **purchase cap** section:

<figure><img src="/files/qOawIgn5hBRuQi8DJn5v" alt=""><figcaption></figcaption></figure>

Note that you can also change whether the order is escrowed or not by flipping this switch (if an order is no longer escrowed, the cap becomes irrelevant):

<figure><img src="/files/gXmNEXw1m06F1NLZX2uc" alt=""><figcaption></figcaption></figure>

You can change the purchase cap on your order as much and as often as you want!

{% hint style="info" %}
Purchase caps only apply to **escrowed orders**. For normal orders, its purchase ability is capped by however much SOL you upload into it.
{% endhint %}

{% hint style="warning" %}
If you set the purchase cap to 0, the order is now **uncapped**. We recommend you **never** do that, as you're basically giving the order **unlimited access** to your escrow balance.
{% endhint %}


# Video Tutorials

If you prefer video over text, below you'll find video tutorials on using Tensor.

**5-part Series of byte-sized videos by** [**Stingray**](https://twitter.com/KRTrades_)**, covering:**

1. Intro to Tensor Trade (aggregator) ⚡️
2. Placing orders on Tensor Trade (aggregator) ⚡️
3. Intro to TensorSwap (AMM) 🤖
4. Placing orders on TensorSwap (AMM) 🤖
5. Placing two-sided (market-making) orders on TensorSwap (AMM) 🤖

{% embed url="<https://www.youtube.com/watch?list=PLj-NqSf1mA8TFjGCs37N1Ii0ZrEUjckmB&v=Oe5zrP8dXaU>" %}

**TensorSwap 🤖 Overview by** [**Shake**](https://twitter.com/0x_shake)**:**

{% embed url="<https://www.youtube.com/watch?v=mdImEPwrIFI>" %}


# YOLO Buy

With YOLO Buy, you can place a non-refundable bid for a fraction of an NFT's listed price for a chance to win that NFT. The more you bid, the better your odds of winning.

<figure><img src="/files/V1e9XOfsI4NdNVYepGZJ" alt="" width="563"><figcaption><p>YOLO Buy example</p></figcaption></figure>

<figure><img src="/files/JsuvoKZXm39kskIH8lYB" alt=""><figcaption><p>All Tensor listings under 500 SOL are automatically eligible for YOLO Buy</p></figcaption></figure>

## YOLO Buy Features

* Each time you play, you earn progress toward a free spin
* Even when you lose, you still win Tensor points based on the size of your bid
* Odds as low as 1% and as high as 75% are available
* The user who listed the NFT earns an extra 1.5% when it's purchased via YOLO Buy
* If you win your YOLO Buy, but the NFT was purchased mid-roll, you win SOL equivalent to the NFT's price

## How Does It Work?

YOLO Buy uses a commit-reveal scheme with a [Verifiable Random Function](https://en.wikipedia.org/wiki/Verifiable_random_function), which means it is verifiably fair on-chain. The underlying math dictates that if you roll with 1% odds, you should win on average once every 100 rolls.&#x20;

<details>

<summary>Advanced</summary>

In the commit phase, a randomness seed is hashed and stored on-chain.&#x20;

In the reveal phase, that seed is used to compute the outcome and compared to the hash.

The exact code from the contract for calculating outcomeU64 is as follows:

```
    let secret_hash = hash(secret).to_bytes();
    require!(secret_hash == roll_state.secret_hash, TRollError::BadHash);

    let mut outcome_message = [0; 112];

    let (secret_bytes, user, user_nonce, roll_count, commit_slot) =
        mut_array_refs![&mut outcome_message, 32, 32, 32, 8, 8];

    *secret_bytes = *secret;
    *user = roll_state.user.to_bytes();
    *user_nonce = roll_state.user_nonce;
    *roll_count = roll_state.roll_count.to_le_bytes();
    *commit_slot = roll_state.commit_slot.to_le_bytes();

    let outcome_hash = hash(&outcome_message).to_bytes();
    let outcome_u64 = *bytemuck::from_bytes::<u64>(&outcome_hash[0..8]);
```

</details>

<figure><img src="/files/OrVtHQTtqjoCVZqP2ZaO" alt=""><figcaption><p>All your YOLO Buys are on-chain and trackable in your 'History' tab</p></figcaption></figure>

{% hint style="danger" %}
YOLO Buy is not available in all regions
{% endhint %}


# Shared Escrow

Bidding with capital efficiency

Shared escrow allows you to place many bids with the same pool of SOL. This includes full collection bids, trait bids, and offers on individual NFTs. Every bid funded with shared escrow that is less than or equal to your shared escrow balance will simultaneously be active and fillable. If your shared escrow balance drops below the amount needed to fund a particular bid, that bid will be deactivated, but the rest will remain active.&#x20;

<figure><img src="/files/5eekXQHdYdnZ20wqhyYf" alt=""><figcaption><p>Manage your shared escrow balance</p></figcaption></figure>

{% hint style="danger" %}
Adding SOL to your shared escrow balance can re-activate old bids that you might have forgotten about. You should always check whether you have bids with shared escrow enabled before making a deposit. \
\
Anyone can re-activate your bids that use the shared escrow, not just you.
{% endhint %}

## How to use shared escrow:

First, you should be in "Pro" mode to manage and use your shared escrow balance. When you submit a bid, you'll have the option to enable shared escrow.&#x20;

<figure><img src="/files/FLNAQ3f8mCL4yv3hqpvK" alt=""><figcaption></figcaption></figure>

To enable shared escrow for bids on individual NFTs, you'll need to find this toggle in the app settings:

<figure><img src="/files/VIMdqKZ5SXbqJcXpvO7a" alt=""><figcaption></figcaption></figure>

## Purchase caps:

Purchase caps can be used to limit the number of NFTs an order can buy, so that it can't use up your whole shared escrow balance if you don't want it to. Read more about purchase caps [here](https://docs.tensor.trade/trade/get-started-with-tensors-amm/purchase-caps).&#x20;


# Why Provide Liquidity?

Providing liquidity is cool and stuff - but why should you bother?

## 1. Earn F**ees 💸**&#x20;

When setting up a **market-making order** on TensorSwap you can **configure your own custom fees** in the **range of 0-25%.**

That's 0-25% of the trade that goes into **your pocket**.

Obviously, orders with lower fees will be more competitive, so there's a golden middle to be struck. We think fees up to 5% are reasonable.

{% hint style="success" %}
What about royalties?

Tensor has a maker/taker fee model, so when providing liquidity, you neither have to pay royalties nor platform fees!

If you're interested in why we went with this approach, read [Fees & Royalties](/trade/fees-and-royalties)

{% endhint %}

{% hint style="info" %}
How much you can make market-making? What happens if the price of the NFT falls/rises sharply? What are the risks? 🤔

Check out our detailed [Market-Making Example](/provide-liquidity/market-making-example) for answers.
{% endhint %}

## 2. Earn Rewards ⭐️

Active traders on TensorSwap were rewarded with points from Season 1 to 4 which were converted into reward boxes.

{% hint style="success" %}
We're rewarding **Market Makers** with Tensor Points rewards! 🔥

As of today, creating "**maker**" orders (collection-wide bids, listing orders, market-making orders) earns tensor points for listing in the top 100 by 24-hour volume.

Hint: The closer your bid/listing is to the floor, the more points you will earn.
{% endhint %}

{% hint style="info" %}
A ton more detail is available in [Rewards](/welcome/rewards).
{% endhint %}

## 3. Auto-manage your NFT Portfolio 💰

We all know what to do: **buy low -- sell high**. But damn is it hard to follow. Emotions get in the way when markets rally we don't want to sell when we should -- then they fall and we should be buying but we're first to sell.

The good news is that automated strategies on TensorSwap **force you** to buy low and sell high:

* Collection-wide bids **lower the price** with each consecutive purchase you make
* Listing orders **up the price** with each consecutive sale you make
* Market-making orders are the best of both worlds: they **both** lower the price for purchases and up the price for sales, AND they make **fees** in the process 💸

This means your NFT portfolio will grow and shrink **precisely at the right times**.&#x20;

* When everyone is **fearful** and selling 😱 - you're **accumulating** ✅
* When everyone's **greedy** 🤑 - you're **selling** ✅

{% hint style="info" %}
You might have heard of [dollar-cost averaging](https://www.investopedia.com/terms/d/dollarcostaveraging.asp) or "DCA" in the past. TensorSwap is EXACTLY that. You tell us how many NFTs you want to buy/sell, and our algorithms handle the rest, making sure you **buy low & sell high.**
{% endhint %}

## BONUS: What about Staking? 🤔

One obvious question that comes up is: **but what about staking?** To provide liquidity on TensorSwap, you must remove your NFTs from any staking vaults. But that means you lose tokens/yield from those vaults! 😱

What do?

One way to think about it is as follows: well, **what are the tokens that this NFT project is giving you actually worth?**

By providing liquidity on TensorSwap you're earning:

* **✅ Hard cold SOL** for market-making

The first point is really the strongest. **It's very hard to argue that hard cold SOL is worse than some imaginary internet money** someone else promises you (including us!). Remember: market-making pays you **hard cold SOL** ☀️, right into your wallet.&#x20;

## Ready to Provide Liquidity? 🚀

If the above convinced you to give TensorSwap a go, check out [How to Provide Liquidity](/provide-liquidity/how-to-provide-liquidity)


# How to Provide Liquidity

Earn trading fees & LP rewards by providing liquidity and creating markets for your favorite NFT collections on TensorSwap.

{% hint style="info" %}
Wondering why should you bother? Read [Why Provide Liquidity?](/provide-liquidity/why-provide-liquidity) first.
{% endhint %}

"Providing liquidity" on TensorSwap means creating "maker" orders, which include:

* [Collection-wide bids](#collection-wide-bids)
* [Listings](#listing-orders)
* [Market-making orders](#market-making-orders)

If you're unfamiliar with "maker" / "taker" terminology, [read this](https://www.investopedia.com/articles/active-trading/042414/what-makertaker-fees-mean-you.asp#:~:text=Maker%2Dtaker%20fees%20are%20transaction,on%20the%20platform's%20order%20book.).

## Collection-Wide Bids

<figure><img src="/files/4YFldP6qMzFlTMdRxTiJ" alt=""><figcaption></figcaption></figure>

Collection-wide bids let you put in an **offer for the entire collection**. For example, you might offer to buy "any SMB" for 100 SOL. Anyone with a SMB can then take that offer.

When placing more than one bid at a time you can make use of TensorSwap's [bonding curve ](/provide-liquidity/advanced-concepts/bonding-curves)functionality. This is just a fancy way of saying you can automate your bid prices to adjust downwards with every subsequent purchase.&#x20;

If you choose an "exponential" bonding curve (%) with a starting price of 1 SOL and an increment of 10%, each consecutive purchase will be 10% lower. So for 5 NFTs, it would be: 1 SOL > 0.9 > 0.81 > 0.74 > 0.67.

To set up a collection-wide bid:&#x20;

1. Head over to <https://www.tensor.trade/>
2. Choose your desired collection
3. On the right hand side choose **BUY** > then **COLLECTION-WIDE BID**
4. Choose the number of NFTs you are willing to buy, starting price, and the decrement, then place the order

{% hint style="info" %}
For a **detailed tutorial** on placing collection-wide bids, see [Buy or Bid](/trade/get-started-with-tensors-amm/buy-or-bid).
{% endhint %}

## Listing Orders

<figure><img src="/files/OnI3osiSnfGQpqcuXVDf" alt=""><figcaption></figcaption></figure>

List orders let you **list a bunch of NFTs at the same time**, exactly like listings you'd put up on OpenSea or MagicEden, with one big difference - *you can configure a bonding curve*.

[Bonding curve](/provide-liquidity/advanced-concepts/bonding-curves) simply means that with each sale, your selling price adjusts upwards. This lets you sell at higher prices as your portfolio gets depleted.

If you choose a "linear" bonding curve (◎) with a starting price of 1 SOL and increment of 0.1 SOL, each consecutive sale will be 0.1 higher. So for 5 NFTs, it would be: 1 SOL > 1.1 > 1.2 > 1.3 > 1.4.

To set up a list order:

1. Head over to <https://www.tensor.trade/>
2. Choose your desired collection
3. On the right hand side choose **SELL** > then **LIST**
4. Choose the number of NFTs you re willing to sell, starting price, and increment, then place the order

{% hint style="info" %}
For a **detailed tutorial** on listing NFTs, see [Sell or List](/trade/get-started-with-tensors-amm/sell-or-list).
{% endhint %}

## Market-Making Orders

{% hint style="info" %}
You'll need to be in "Pro" mode (bottom toggle) to market-make.
{% endhint %}

<figure><img src="/files/GS2QZHT8EnP8nm5OhX4f" alt=""><figcaption></figcaption></figure>

[Market-making](https://www.investopedia.com/terms/m/marketmaker.asp) orders are the most complex but also the most interesting out of the three.

In short, it's a **two-sided orde**r in which you're offering to **both buy and sell a certain number of NFTs.**&#x20;

{% hint style="info" %}
Read the above two sections first to understand how **collection-wide bids** and **list orders** work.
{% endhint %}

An MM order is just a collection-wide bid + a list order placed together, with a few key differences:

1. When placing a MM order, your **starting BUY price will be 1 notch lower** than your starting SELL price. So, for example, if you're setting up a MM order on a linear curve with 0.1 SOL delta and 1 SOL starting price, your first BUY price will be 0.9 (0.1 lower than 1 SOL).
2. Placing an MM order lets you **set up custom fees (up to 25%).** These are charged on top of Tensor's 1% taker fees and are completely up to you. We recommend setting up something reasonable, so you attract buyers.
3. When a MM order SELLs to the taker (buyer), **royalties are voided.** This is done to incentivize market-making orders which create volume and liquidity for the collection. When a MM order BUYs from the taker (seller), royalties are upheld and paid by the taker.

To set up a market-making order:&#x20;

1. Head over to <https://www.tensor.trade/>
2. Choose your desired collection
3. On the right-hand side choose **MARKET-MAKE**
4. Choose the number of NFTs you re willing to buy & sell, starting price, and delta, then place the order

{% hint style="info" %}
For a **detailed tutorial** on market-making NFTs, see [Market-Make](/trade/get-started-with-tensors-amm/market-make).

For a rundown of config params & for **3 simple templates** (low risk 🟩, medium risk 🟨, high risk 🟥) check out [Setting up your Market-Making Order](/provide-liquidity/setting-up-your-market-making-order)
{% endhint %}


# Market-Making Example

You've heard you can make some juicy %APY on TensorSwap by market-making. But what does it mean and how does it work?

When a trader agrees to **both buy and sell** up to a certain number of NFTs, they're doing what's known as "[market-making](https://www.investopedia.com/terms/m/marketmaker.asp)".&#x20;

Market-makers are important because they make markets more [liquid](https://www.investopedia.com/articles/basics/07/liquidity.asp#:~:text=Key%20Takeaways,cash%20in%20the%20short%2Dterm.), meaning they let other traders enter/exit the market at a **more favorable price**.

If someone is always willing to buy NFT X at 10 SOL and sell it at 12 SOL, then any trader holding that NFT **know for a fact** that they can always leave the market for 10 and enter back at 12. This gives traders more **confidence** and they're more willing to buy the NFT.

{% hint style="success" %}
Market makers **don't work for free**. That's the entire point of this article. If you're market-making - we're gonna get you paid.

Paid how much? It's **entirely up to you**! TensorSwap lets you configure **your own market-making fee** in the **range of 0-25%**. 💸
{% endhint %}

Below is a detailed example that steps through everything you might want to know about market-making:

* How does it work on TensorSwap?
* What happens as the NFT price falls/rises/stays flat?
* What APY can you expect?
* What are some risks involved?

## Lessdo an example ✏️

{% hint style="info" %}
The below example really zooms in on the **risks/benefits** of market-making.

For a detailed, step-by-step walkthrough of how to set up a market-making order check out our [Market-Make](/trade/get-started-with-tensors-amm/market-make) tutorial.
{% endhint %}

You already know that a [market-maker](https://www.investopedia.com/terms/m/marketmaker.asp) is someone who is offering to both buy and sell a certain number of NFTs. Sounds cool, so you decide to set up a market-making order to **sell up to 10 NFTs** and **buy up to 10 NFTs**.

You pick a [linear curve](/provide-liquidity/advanced-concepts/bonding-curves) with a 0.1 step, meaning:&#x20;

* each **consecutive purchase** your order makes will be **0.1 lower**
* each **consecutive sale** your order makes will be **0.1 higher**

You choose a **5% fee**.

You plug all those settings into TensorSwap's UI and it looks something like this:

<figure><img src="/files/XKpRyR1meOXhlsfM36dN" alt=""><figcaption></figcaption></figure>

Let's understand a bit more about what's going on here. Visually, we could represent your order as follows:

<figure><img src="/files/bK2wIoPb6aG9ZprsK9KL" alt=""><figcaption></figcaption></figure>

We start off in the middle (10 NFTs and 4.28 SOL).

I guess the first question you might have is - **why 4.28?** Seems a weird (non-round) number?

Here's the calculation:

* You picked a starting price of 1 SOL.&#x20;
* That's your starting SALE price. Starting PURCHASE price is always **one notch down**, which in this case is 1 - 0.1 = 0.9 SOL.
* But then you also picked a 5% market-making fee. That effectively means that you're going to pay 5% less for any NFTs you buy, which means your **true starting purchase price** is 0.9 \* (1-0.05) = **0.86** SOL (you might notice the summary text below the widget conveniently points that out!)
* Ok so now you're saying you want to buy 10 NFTs, each 0.1 lower than the previous. The total is thus:&#x20;
  * (0.9 + 0.8 + 0.7 + 0.6 + 0.5 + 0.4 + 0.3 + 0.2 + 0.1 + 0) \* 0.95 = 4.275 or **rounded to 4.28**.

The math for 18.78 looks similarish, just in the reverse direction. Will leave it as an exercise for the reader 😉

So back to the **middle** ("starting point" in the picture above).

* If we move **left** 👈 on the chart, it means the price is **decreasing**. This means our order is scooping up NFTs. That's why the bottom half of the chart is **green** **= you're buying**.
* If we move **right** 👉 on the chart, it means the price is **increasing**. This means our order is selling off NFTs. That's why the top half of the chart is **red** **= you're selling**.

At the two **extremes**:

* On the very **left 👈** your order has bought the 10 NFTs it wanted to buy. Add the 10 new ones to the 10 you originally had in the order, and you're now **20-NFT rich**! 🎁
* On the very **right** 👉 your order has sold the 10 NFTs it had for SOL. Since the price kept increasing your total is now a **whopping 18.78**, way more than the original 4.28. 🤑

Keep this visual representation in mind as you go through the rest of the page.

## What happens as the NFT price changes?

### Case 1: NFT price ranges/stays flat 〰

The price ranges from 0.9 SOL to 1.1 SOL. Let's say you're lucky, and while there's volatility other traders execute **5 buy and 5 sell** trades against your order.

The result:

* ✅ Your order is **exactly where it started**. It bought 5 NFTs and sold 5 NFTs. You still have 10.
* ✅ You've made some **fees** 💸 in the process! For each round trip (purchase + sale) your order collected a 5% fee, meaning you made 0.25 SOL (5 round trips \* 5% \* 1 SOL)!
* ✅ And don't forget you also earned some juicy [reward points](/welcome/rewards) in the process! ⭐️&#x20;

{% hint style="success" %}
Takeaway: when the market **ranges/stays flat**, you **make money from fees**. 💸
{% endhint %}

### Case 2: NFT price falls 📉

The price falls from 1 SOL to 0.5 SOL. Other **traders sell into your order** as the price keeps falling.

Your order now has **more NFTs than before**. Specifically, the following purchases occurred:

* Your order bought its 1st NFT at 0.9
* Your order bought its 2nd NFT at 0.8
* Your order bought its 3rd NFT at 0.7
* Your order bought its 4th NFT at 0.6
* Your order bought its 5th NFT at 0.5

The result:

* ✅ Total **spent: 3.5 SOL**. Your order state: **15 NFTs + 0.78 SOL.** You're NFT-rich! 🎁
* ✅ As the price fell you bought some NFTs **on the cheap**, precisely when you should be buying
* ✅ You made some **fees**! 💸 \~0.125 to be precise (1/2 of what you'd make on 5 round trips)
* ✅ You earned some **reward points**! ⭐️

{% hint style="success" %}
Takeaway: when the market **falls**, you **buy NFTs on the cheap**. 🎁
{% endhint %}

### Case 3: NFT price rises 📈

The price rises from 1 SOL to 1.5 SOL. Other **traders buy from your order** as the price keeps rising.

Your order now has **fewer NFTs than before**, but more SOL. Specifically, the following sales occurred:

* Your order sold its 1st NFT at 1
* Your order sold its 2nd NFT at 1.1
* Your order sold its 3rd NFT at 1.2
* Your order sold its 4th NFT at 1.3
* Your order sold its 5th NFT at 1.4

The result:

* ✅ Total **earned: 6 SOL**. Your order state: **5 NFTs + 10.28 SOL.** You're SOL-rich! 🤑
* ✅ As the price rose you sold some NFTs **at great prices**, precisely when you should be selling
* ✅ You made some **fees**! 💸 \~0.125 to be precise (1/2 of what you'd make on 5 round trips)
* ✅ You earned some **reward points**! ⭐️

{% hint style="success" %}
Takeaway: when the market **rises**, you **sell NFTs at great prices**. 🤑
{% endhint %}

You see how no matter what the market does, market-makers on TensorSwap **win & get paid**.&#x20;

## What APY can you expect? 🤑

APY can be misleading so be careful when reasoning about it. If someone is promising you a huge APY, chances are they're not telling you something.

To help you think through what APY looks like on TensorSwap, we explore a real-world example in: [What APY can you expect?](/provide-liquidity/what-apy-can-you-expect)

## What are the risks involved? 🤔

That's a really important question to ask - glad you did it.&#x20;

Check out [What are the Risks?](/provide-liquidity/what-are-the-risks) for a detailed rundown.

## Ready to get started? 🚀

Head on over to <https://www.tensor.trade/> and setup your first order!

{% hint style="info" %}
Want guidance on HOW to set up your order?

Check out [Setting up your Market-Making Order](/provide-liquidity/setting-up-your-market-making-order).&#x20;

There you'll find a detailed overview of each of the config params & **3 simple templates** for an MM pool (low risk 🟩, medium risk 🟨, and high risk 🟥).
{% endhint %}


# What APY can you expect?

"APY" is a term often used in crypto for staking, yield farms, and all kinds of other activities that pay you a **passive income**.

The [actual definition](https://www.investopedia.com/terms/a/apy.asp) of APY involves compounding, but for the purposes of our discussion we'll keep it simple: if you put in 10 SOL today, what % on top of that 10 SOL are you getting back in a year? +1 SOL = 10%, +3SOL = 30%, +10SOL = 100% (aka double your money).

We'll say this upfront: **it's kinda difficult to calculate the APY for your market-making order upfront** because of the plethora of factors involved. ¯\\\_(ツ)\_/¯

But it's possible to do in **retrospect**.&#x20;

## A real-world example ✏️

Let's take this order as an example (real order by a real TensorSwap user):

<figure><img src="/files/JrKTwXlZerMIIEEayzHY" alt=""><figcaption></figcaption></figure>

The numbers we care about:

* They had \~11.5 round-trip trades on their order
* They charge a 5% market-making fee
* Their starting price was between 17 and 19&#x20;

Multiply the 3 and you get 11.5 \* 5% \* (17+19)/2 = **10.35 SOL**. This roughly matches the approx MM profit on that screenshot.

So they:

* invested \~78 SOL + 5 NFTs worth \~18 each = 168 SOL
* received \~10.35 SOL,&#x20;

And thus earned a **return on invested capital of 6.1%** (10.35 / (78 + 5\*18))

Now the question is over what period of time?&#x20;

* It seems from the screenshot that the order has been live for \~2d
* So if the order **continued to buy and sell at the same rate** for an entire year **their APY would be \~1,100%** (6.1% \* 365 / 2).

Now, importantly there are **A LOT OF ASSUMPTIONS** baked into that calculation. The main one is that the order will **continue to buy and sell at the same rate**. What if the market runs away in either direction and the order is depleted? What if traders lose interest in the collection and there are no trades happening?

{% hint style="success" %}
To ensure your order is set up correctly & that you're getting consistent trades follow the advice in [Setting up your Market-Making Order](/provide-liquidity/setting-up-your-market-making-order)
{% endhint %}


# What are the Risks?

Nothing in life comes for free - and definitely, nothing in crypto does. If you're planning to put money into TensorSwap you should understand the risks involved.

## Impermanent Loss

[Impermanent loss](https://academy.binance.com/en/articles/impermanent-loss-explained) (IL) is a term that originated in DeFi and is the main economic risk you're taking by putting liquidity into TensorSwap.

What does it mean? We wrote an entire section on it: [Impermanent Loss](/provide-liquidity/advanced-concepts/impermanent-loss), but if you want the TLDR it's as follows:

* If you put 10 NFTs into the protocol (let's say you set up a 10% delta)
* and the price 10x's from here
* you would have been better off holding the NFTs than providing liquidity because your order will have sold the NFTs gradually at prices lower than 10x

Read [Impermanent Loss](/provide-liquidity/advanced-concepts/impermanent-loss) for a more detailed example.

{% hint style="success" %}
One counter-argument to IL is that for most of us - we simply **don't know what the price is going to do**. We might suspect the NFTs to do ok (otherwise we probably wouldn't hold any) - but how much is ok? Should you sell at 2x? 5x? 10x?

The great thing about setting up a TensorSwap order is that **you don't need to worry about it**.

Because the order sells off NFTs **gradually on a curve**, you can simply tell it to sell "from 2x to 10x" and forget about it.

If you're familiar with [dollar cost averaging](https://www.investopedia.com/terms/d/dollarcostaveraging.asp) (DCA) - by setting up a TensorSwap order you're **DCA'ing out of a position**. It's what the old guys like Buffet tell you is wise. 🧙‍♂️
{% endhint %}

## Protocol Risk

Putting anything into any protocol is risky because it can get hacked and drained. There's no shortage of precedents in crypto history.

The good news for you is:

* ✅ There have been **FAR fewer (literally by a magnitude) hacks on Solana vs Eth**. This is because Solana's programming model is more complex but ultimately safer.
* ✅ At this point we're keeping the **protocol closed source to reduce the attack surface,** while we do the necessary security checks.
* ✅ We're the same team that wrote [Gem Farm by Gemworks](https://github.com/gemworks/gem-farm/) - a staking protocol that has been open-sourced from day 1 and that's used for staking by over 60% of NFT projects on Solana. **Gem Farm has never been hacked or drained for \~12m since it's been released.**
* ✅ We're actively using **auditing software** like [Sec3](https://pro.sec3.dev/) and are engaging with **auditors** to get our protocol to the point where we're comfortable open-sourcing it.

## Poorly Configured Orders

It's important to say that just setting up an order doesn't guarantee it gets taken.

If you set up a LIST order to list at 20 SOL when the floor is at 7... well there might not be any activity on that order for a while.

This is especially important when it comes to market-making orders, which you're probably setting up to make **fees**.

{% hint style="warning" %}
Unless the **starting price** of a collection-wide bid/listing order / market-making order is set up **relatively close to the global floor price** - don't expect much activity.
{% endhint %}

The risk you're taking on here is that you set up an order, come back a month later, and find it hasn't sold/bought anything. That would have been a waste of your capital / NFTs that could have been earning a return elsewhere (eg in staking).

✅ The good news is that we've written[Setting up your Market-Making Order](/provide-liquidity/setting-up-your-market-making-order) - an entire page that goes over all the config params & gives you **3 simple templates** (low risk 🟩, medium risk 🟨, high risk 🟥 to use for your MM pool).


# Setting up your Market-Making Order

It might seem scary to setup your first MM order, but it's really not that complicated. Read along.

## Config Options 🎚

Let's start by looking at the different **config options** you have available to you when you're creating a market-making order.

### 1 Starting price

<figure><img src="/files/lKIfzKdW5ElYjKlEiz7j" alt=""><figcaption></figcaption></figure>

This is the price at which first sale will happen (the first purchase will be just under this price).&#x20;

✅ We recommend setting it **as close to the floor** as possible.&#x20;

{% hint style="warning" %}
If your starting price is **too far away from the floor** your order **won't get any trades.**
{% endhint %}

### 2 Delta / "Change By"&#x20;

<figure><img src="/files/iFe2hPARuOfmhyUyKNyL" alt=""><figcaption></figcaption></figure>

The "change by" parameter, or "delta", is actually 2 params in one:

1. **Curve type** (selected by the two ◎/% buttons on the left
2. **Step size** (the number you enter)

Here's a quick visual guide to each of the 4 options:

<figure><img src="/files/uklTJSj7jtdgvUI0m7Br" alt=""><figcaption></figcaption></figure>

**Linear** curves are great for more **stable** NFTs that you don't expect to move as much. Think your  SMBs, Claynosaur and Okay Bears! 🐒

**Exponential** curves are great for **volatile** NFTs that **move quickly**. Think your new hot mint that is sitting at 1-5 SOL. 🔥

**Large step size** lets you cover a **broad range** of prices. It makes your order **less risky**, but you'll probably earn **fewer fees. 😢**

**Small step size** lets you cover a **narrower range of prices**, but do so **more effectively**. Your order will be **riskier** but you'll earn **more fees**. 💸

{% hint style="info" %}
What do we mean by order risk here? Check out [Impermanent Loss](/provide-liquidity/advanced-concepts/impermanent-loss)
{% endhint %}

✅  So here's a good way to think about it:

* **Expensive, stable** NFT 👉 Pick **linear** curve.
* **Cheap, explosive** NFT? 👉 Pick the **exponential** curve.
* Want to take **less risk**, but make **less fees**? 👉 Pick a **large** step size. &#x20;
* Want to take **more risk** & make **more fees**? 👉 Pick a **small** step size. &#x20;

### 3 Market-Making Fee

<figure><img src="/files/Zhmx0WWE72NzuGYpYMxO" alt=""><figcaption></figcaption></figure>

The market-making fee is how you make money as a market-maker. You can set this to be anything in the range of **0-25%**.

The fee gets charged to the **seller** of the NFT when they sell an NFT **into your pool**.

If your fee is 25% and the current price is 1 SOL, **the seller will see 0.75 as the price** (because you're keeping 0.25 for yourself).

{% hint style="warning" %}
The **higher** your fee, the **less competitive** your order.
{% endhint %}

Let's think about this:

* Trader A is buying an NFT at 1 SOL but has a 25% fee
* Trader B is buying an NFT only at 0.9 SOL but has a 5% fee

Even though *in theory* trader A is paying more (1 SOL vs 0.9 SOL) - trader B ends up winning because of lower fees. B's shown price will be \~0.85, while for A it will be 0.75.

✅ We think fees in the range of 1-5% are the most competitive.

{% hint style="info" %}
To learn what APY you can expect from a market-making order check out [What APY can you expect?](/provide-liquidity/what-apy-can-you-expect)
{% endhint %}

### 4 Position Size / Quantity

<figure><img src="/files/9NyrUq3xyHnUqc7ET5Fs" alt=""><figcaption></figcaption></figure>

Finally, there's the size of your order. The more NFTs / SOL you deposit, the more trades you'll be able to accommodate.

{% hint style="success" %}
You should worry the least about this parameter. It's much better to set up a **small pool** with the **correct starting price/delta / MM fee** than to set up a large pool and mess up any of those.
{% endhint %}

### Summary&#x20;

So to summarize, here's how you should think about config options:

<table><thead><tr><th width="212">Config option 🎚</th><th>Recommendation ✅</th></tr></thead><tbody><tr><td>Starting price</td><td>Set it <strong>close to floor</strong></td></tr><tr><td>Curve type</td><td><p><strong>Expensive, stable</strong> NFT 👉 Pick <strong>linear</strong> curve</p><p><strong>Cheap, explosive</strong> NFT? 👉 Pick <strong>exponential</strong> curve</p></td></tr><tr><td>Step size</td><td><p><strong>Less risk</strong>, but make <strong>less fees</strong> 👉 Pick <strong>large</strong> step size</p><p><strong>More risk</strong> &#x26; make <strong>more fees</strong>? 👉 Pick <strong>small</strong> step size</p></td></tr><tr><td>Market-making fee</td><td><strong>1-5%</strong> is reasonable. The lower you set it, the <strong>more trades</strong> you'll get -> which might mean the <strong>more fees</strong> you make!</td></tr><tr><td>Position size</td><td>As much as you can!</td></tr></tbody></table>

## 3 Simple Config Templates ⚙️

Now let's play out some potential scenarios and what kind of MM pools you'd set up for each.

*An example assumes you have a bag of \~30 NFTs and the equivalent amount of SOL to market-make with.*

### 🟩 Low Risk:  "I'm no Pro Trader" Order

You: &#x20;

* **don't have a strong opinion** on where the **market** goes (up? down? flat? ¯\\\_(ツ)\_/¯)&#x20;
* are **ok gaining a few NFTs** from this collection **or losing a few** - but you don't want to 2x your bag, or lose all of it
* generally want to "**set it and forget it**"

The config:

* 💲Starting price = **floor price**
* **📈 Exponential curve**. This will ensure that if the price does move a lot in any one direction, your pool isn't exhausted
* **20%+ delta**. This way if the price 2x's you'll only sell <5 NFTs out of your 20-30
* **💸 5-10% MM Fee**. You're providing over a very broad range already, you can easily set a higher fee

Explanation:&#x20;

You're setting up a **very broad order** that captures a lot of range. You're **not** expecting a lot of **trades** nor a lot of **fees** - but you'll make some if the market is volatile.&#x20;

{% hint style="success" %}
On the positive side, you're also **very unlikely to be wrong**. When you're providing liquidity over such a broad range, the market would really need to do something crazy (5x?) for you to lose all of your NFTs. And even then - hey you sold them off at 5x!
{% endhint %}

### 🟨 Medium Risk: "Replicate Royalties" Order

You:

* want to **replicate royalties** (so earn \~5-10% in annual yield)
* are **ok having meaningful changes** in your bag - not all of it, but **50% up or down**
* generally want to "**set it and forget it**", although you might have to edit the order if the market 3-4x's

The config:

* 💲Starting price = **floor price**
* **📈 Exponential curve**. Still better range than linear gives you more protection
* **🎚 10-20% delta**. This way if the price 2x's you'll only sell 5-8 NFTs out of your 20-30
* **💸 \~5% MM Fee**. Should be just enough to cover your royalties (remember you're also getting a fixed 0.9% from Tensor)

Explanation:

You're setting up a **somewhat broad order**, but your bag **could shift significantly** if the market is 3-4x. Eg with a 10% delta you'll sell off 50% of your bag if the market does a 4x. In return, you expect to **earn some nice fee income**, which will let you replicate your lost royalties.

{% hint style="success" %}
We think this is more or less the **optimal config** for **collections providing liquidity for their own NFTs**.
{% endhint %}

### 🟥 High Risk: "Here to Make $" Order

You:

* are here to **earn a high amount of fee income**
* are **ok depleting your SOL balance or selling off all your NFTs** (the ones in the order ofc) if the market moves a lot
* are an **active participant in the market**, monitor your order daily, and adjust for any news events

The config:

* 💲Starting price = **floor price**
* **📈 Linear** or **Exponential curve**. You'd pick linear for larger collections (SMBs) and smaller for exponential. To be honest, in the tight range you're providing liquidity it might not even matter
* **🎚 <10% delta**. At 5% if the market 4x's you'll sell your 30 NFTs
* **💸 <5% MM Fee**. You want your prices to be most competitive, so you can't afford a high fee. You expect to make it up in volume though

Explanation

You're setting up a **very tight order**. You're ok buying/selling a ton of NFTs if the market moves a lot on you, but that's ok because **you know what you're doing** and will be monitoring the order closely.

{% hint style="success" %}
The beauty of TensorSwap is that it **offers something for everyone**. If you're a pro and know what you're doing - by all means go aggressive and capture those juicy fees.
{% endhint %}


# Advanced Concepts

We cover some of the more advanced nuances of TensorSwap and what you should be aware of if you're a market-maker.

Learn how TensorSwap allows you to trade on a price/bonding curve, which improves the pricing you get both when buying or selling NFTs:

{% content-ref url="/pages/G4tABdZIkfNdEGmfUVUW" %}
[Bonding Curves](/provide-liquidity/advanced-concepts/bonding-curves)
{% endcontent-ref %}

Learn what impermanent loss is when you provide liquidity and **market-make** on TensorSwap (or any AMM in general):&#x20;

{% content-ref url="/pages/UywrOhgG7DTtZjRKnNcN" %}
[Impermanent Loss](/provide-liquidity/advanced-concepts/impermanent-loss)
{% endcontent-ref %}


# Bonding Curves

TensorSwap lets you setup 3 types of orders:

1. Collection-wide bids
2. List orders
3. Market-making orders

All 3 make use of [bonding curves](https://coinmarketcap.com/alexandria/glossary/bonding-curve).&#x20;

## What are bonding curves?

A "bonding curve" is just a fancy way of saying "when someone executes a trade against my order, I want the price to change".

### BUY example 📉

You decide you want to buy up to 5 NFTs, starting at 1 SOL, with a delta or "step" of 0.1 SOL.

This means you're setting up an order to do the following purchases:

1. 1st purchase: 1 SOL
2. 2nd purchase: 0.9 SOL (1 - step of 0.1)
3. 3rd purchase: 0.8 SOL (1 - 0.1 \* 2)
4. 4th purchase: 0.7 SOL (1 - 0.1 \* 3)
5. 5th purchase: 0.6 SOL (1 - 0.1 \* 4)

Thus in total, you're prepared to spend 4 SOL on 5 NFTs.

Here's what it would look like in Tensor UI:

<figure><img src="/files/duPPVYzcAd4EGZQsJBUC" alt=""><figcaption></figcaption></figure>

### SELL example 📈

You decide you want to sell up to 5 NFTs, starting at 1 SOL, with a delta or "step" of 10% (note previously we used a SOL value, now we're using a % value - more about this [later](#types-of-curves)).

This means you're setting up an order to do the following sales:

1. 1st sale: 1 SOL
2. 2nd sale: 1.1 SOL (1 \* 1.1)
3. 3rd sale: 1.21 SOL (1 \* 1.1^2)
4. 4th sale: 1.331 SOL (1 \* 1.1^3)
5. 5th sale: 1.4641 SOL (1 \* 1.1^4)

Thus in total, you're standing to make 6.11 SOL from 5 NFTs.

Here's what it would look like in Tensor UI:

<figure><img src="/files/OnI3osiSnfGQpqcuXVDf" alt=""><figcaption></figcaption></figure>

## Types of curves

Currently Tensor supports 2 types of curves:

1. Linear (step measured in SOL)
2. Exponential (step measured in %)

Choose a linear curve if you want a more gradual/static change in price. Exponential curves will adapt better depending on the current price (smaller steps if the price is low, larger steps if the price is high).

For example, a SELL order starting at 1 SOL:

1. using a **linear** curve with a 0.1 SOL difference, after 100 trades will be selling at **11 SOL** (1 + 0.1 x 100)
2. using an **exponential** curve with a 10% difference, after 100 trades will be selling at **13,780 SOL** (1 x 1.1^100)

Similarly, a BUY order starting at 1 SOL:

* using a **linear** curve with a 0.1 SOL difference, after 5 trades will be selling at **0.5 SOL** (1 - 0.1 x 5)
* using an **exponential** curve with a 10% difference, after 5 trades will be selling at **0.62 SOL** (1 / 1.1^5)

## Why are bonding curves useful?

Bonding curves let you DCA in and out of a trade.

Let's say you want to acquire up to 5 NFTs of a certain collection, but you're unsure how low the price will go. The lower it goes, the more you want to buy.

You can set up a BUY order with a linear bonding curve, saying "I'm prepared to buy 1st NFT at 1 SOL, 2nd at 0.9 SOL, etc). That way you don't need to care about what the market does - if the market stays put, well great you bought one if the market goes lower, well great you bought more than one!

Similarly for selling - maybe you want to sell your portfolio, but you don't know how high the market will go. The higher it goes, the more you want to sell.

You can set up a SELL order which increases the price by eg 10% with each sale... you get it.

In theory, there's nothing stopping you from putting in bids/listings at different prices by hand - but doing so using a bonding curve is just **much faster and more flexible.** If you ever change your mind it only takes 2 clicks (1 to cancel old order - 1 to set up a new order) and you're done, vs having to place/cancel multiple bids/listings by hand.

## Do I HAVE to use a curve?

You don't have to. If you'd like to list 5 NFTs all at the same price or buy 5 NFTs all at the same price, just set the delta or "step" to 0.


# Impermanent Loss

Impermanent loss (IL) sounds scary, but it's quite simple once you see an example.

## **tl;dr**

* With all AMMs, if price moves too far away from your initial price, you could have been **better off just hodl'ing** 💰
* If you make enough fees **(desired fees/spread)** from a lot of back-and-forth trading, you can still be profitable&#x20;
* Volatility helps you make more fees! If prices keep bouncing up and down, you will make fees along the way. If prices return back to your starting price, your IL will be \~0 but the fees collected is profit 🤑

Impermanent loss is best explained through a real example.

## Example

Let's suppose we created a [market-make order](/trade/get-started-with-tensors-amm/market-make) by depositing some SOL (◎) and [CryptoDuckz](https://www.tensor.trade/swap/duckpunkzuniverse) NFTs as liquidity 🦆

We're prepared to buy up to 2 Duckz for 3 & 2 ◎ each, and preapred to sell 2 Duckz for 4 & 5 ◎ each (starting price = 4◎, delta = 1◎). Suppose Duckz are valued at 4◎ right now.

So we deposit **3 + 2 = 5**◎ and 2 Duckz (2 x 4◎ = **8◎**).&#x20;

Net worth: **13◎**

### **Scenario 1: price goes up** 📈

If Duckz go up in value to 5◎, traders might buy our 2 Duckz at 4 & 5 ◎. We now end up with our original 5◎, along with the 4 + 5 = 9◎ we received.&#x20;

Net worth: **14◎**

What if we just **hodl'ed our Duckz** initially? We would have the 5◎, but 2 Duckz valued at 5◎ each, meaning we could have a value of **15**◎**.**

Could have had: **15**◎

### **Scenario** &#x32;**: price goes down** 📉

Duckz plummet to 1◎ (😬), we're forced to buy 2 Duckz for 5◎ total (3 + 2), now we're holding onto 4 Duckz at 1◎ each.

Net worth: **4◎**

What if we just hodl'ed? original **5◎** and 2 Duckz (1◎ each) = 7◎.

Could have had: **7◎**

{% hint style="info" %}
Now you can see how in both of these cases you lost money **compared to the situation where you just HODLed**. That's the essence of impermanent loss.
{% endhint %}

### **MM fees to the rescue** 🪙

In both of those examples, we assume there was no back-and-forth trading and you did not collect any fees.

Suppose you collected **0.1◎ on every 1 buy + 1 sell (round-trip).**&#x20;

If prices fluctuate back and forth, 30 round-trips occur, you would collect **3◎ in fees.** If prices return roughly to the starting price (&#x34;**◎**), **your IL would be 0**, so you **would profit 3◎!**

{% hint style="success" %}
That's why it's called "**impermanent**" loss. It's only a loss if you sell when prices diverge significantly from the starting point.&#x20;

If prices return to where they started, **you lose nothing**.
{% endhint %}


# Creator Portal

How to Create or Update a listing for a Solana NFT Collection on Tensor?

Firstly, access the creator portal [here](https://create.tensor.trade/)!&#x20;

{% hint style="info" %}
Tensor automatically index all collections on chain.&#x20;
{% endhint %}

{% content-ref url="/pages/f3PZma7UiNkvvEtdfDs9" %}
[Claiming or Updating an Existing Collection](/work-with-us/creator-portal/claiming-or-updating-an-existing-collection)
{% endcontent-ref %}

{% content-ref url="/pages/DTQJLR6noWrGCSiDGH1h" %}
[Verifying a new NFT Collection](/work-with-us/creator-portal/verifying-a-new-nft-collection)
{% endcontent-ref %}

{% content-ref url="/pages/9yEK2UdjD3eDYCPzU9Xs" %}
[How to get a Creator Page?](/work-with-us/creator-portal/how-to-get-a-creator-page)
{% endcontent-ref %}


# Claiming or Updating an Existing Collection

How to claim and update an existing NFT listing on Tensor?

Search for your NFT collection through the [creator portal](https://create.tensor.trade/).

<figure><img src="/files/pigrs0qVmdOsC0YEZLeU" alt=""><figcaption></figcaption></figure>

If your collection is already claimed, make sure you are signed in with the correct email address!

<figure><img src="/files/2e2NcOBfuBYzTR3fygwr" alt=""><figcaption><p>Head to our <a href="https://discord.gg/tensor">discord </a>and open a support ticket if there's any issue!</p></figcaption></figure>

<figure><img src="/files/6JV4HaenVk03S9VtIakl" alt=""><figcaption><p>Example of an unclaimed collection</p></figcaption></figure>

After pressing claim, check that all the details are correct.

* Collection Name
* Collection Slug/URL (tensor.trade/trade/**slug**)
* Collection Symbol
* Description
* Collection Image (Logo)
* Socials
  * Twitter (X)
  * Discord (no vanity link, these can be stolen!)
  * Website

{% hint style="warning" %}
Connect with your project's official X account to authenticate your ownership! Your claim may be rejected if you do not connect.
{% endhint %}

To further authenticate your ownership, **it is recommended** to connect and sign with your Update Authority wallet.

<figure><img src="/files/3Ey39FzFN63tzED15qza" alt=""><figcaption></figcaption></figure>

Once signed, hit the submit button for our staff to review.

<figure><img src="/files/Aue6Vg36CYaEhB170Bk4" alt=""><figcaption></figcaption></figure>


# Verifying a new NFT Collection

How to List a Solana NFT Collection

## Login to our Creator Portal

Head to our [Creator Portal](https://create.tensor.trade/) and sign up with your email.

## Find your Collection

Search for your collection via the NFT's ID/Address or the Collection's ID

<figure><img src="/files/zuZtPWmnwyJwZUY3Lk9X" alt=""><figcaption><p>Fill in the search bar with your NFT's ID address or the on-chain Collection ID</p></figcaption></figure>

## Legacy or Compressed

If your collection contains cNFTs (compressed NFTs), select Compressed. If not, then select Legacy.

<figure><img src="/files/2cKpDcqdjTWnmK1Ico2e" alt=""><figcaption></figcaption></figure>

## Identification Method

Tensor has 3 main ways of grouping up your individual NFTs into a collection

1. Metaplex Certified Collection (on-chain Collection ID)
2. First Verified Creator&#x20;
3. Hashlist

<figure><img src="/files/IH8KJKKJTrUQBD6iv1kq" alt=""><figcaption></figcaption></figure>

By default, your collection's identification method should be pre-selected. If there's any issues you can manually switch to another option.

## Filling in Collection Details

Tensor automatically captures all the on-chain data for your collection. Double check if there are any mistakes and fill in any missing data.

* Collection Name
* Collection Slug/URL (tensor.trade/trade/**slug**)
* Collection Symbol
* Description
* Collection Image (Logo)
* Socials
  * Twitter (X)
  * Discord (no vanity links, these can be stolen!)
  * Website

{% hint style="warning" %}
Connect with your project's official X account to authenticate your ownership! Your claim may be rejected if you do not connect.
{% endhint %}

To further authenticate your ownership, **it is recommended** to connect and sign with your Update Authority wallet.

<figure><img src="/files/RVpYYZIlJQrAhgCqcZ0n" alt=""><figcaption></figcaption></figure>

Once signed, hit the submit button for our staff to review.

<figure><img src="/files/WhVoOX9zc6Beh6t8zaK0" alt=""><figcaption></figcaption></figure>


# How to get a Creator Page?

Learn how to get a creator page on Tensor!

{% hint style="info" %}
Only applies to Creators with **2 or more Collections** on Tensor.
{% endhint %}

## What is a Creator Page?

<figure><img src="/files/wTGbr9pwCNU4CbwnhFwv" alt=""><figcaption></figcaption></figure>

For Creators with many collections, Creator Pages can help group up all individual collections under one page.&#x20;

<figure><img src="/files/QEdUp1BEQthPTw6M8qfR" alt=""><figcaption></figcaption></figure>

## Access the Creator Form

To create or update your Creator Page, fill out our [form here!](https://airtable.com/apppFpk6Ul9yiI6sw/pagIfSRIegHxolB2P/form)

1. Creator Name
2. Creator Slug (tensor.trade/creator/**slug**)
3. Banner Image (Preferred size and ratio 600x2100)
4. Project Description
5. Collection List: Link the existing collection to be added to the Creator Page
6. Further Info: Any further information you want us to include.


# Creator Partnerships

If you're a creator cooking something cool with NFTs on solana we'd love to work with you. 🤝

We often support creators when they:

* Launch new NFTs & collection
* Do art upgrades
* Do meaningful changes to their projects

Support includes:

* Home page banner placement
* Rewards multipliers
* Co-marketing

& much more!

If you're a creator, [open a ticket in discord](https://discord.com/channels/953488546608599071/1074909902205624353) under the 🤝**collab-request** category and let's chat!


# Contact us

For any support (technical, collection management, tensorians) - [open a ticket in our discord](https://discord.com/channels/953488546608599071/1074909902205624353) 💬

To chat with founders directly, DM us on Twitter: [ilmoi](https://twitter.com/_ilmoi), [0xrwu](https://twitter.com/0xrwu) 🐥

For anything else email us on: [team@tensor.so](mailto://team@tensor.so)


