# OdinBot - The most powerful copy-trading platform on Solana

Trade like a god!

## Overview

Welcome to **OdinBot**, a copy-trading bot specifically designed for the Solana blockchain.&#x20;

This bot utilizes Solana's high-throughput capabilities to perform fast and efficient copy-trades across various decentralized exchanges (DEXs).

## What is Copy-Trading on Solana?

Copy-trading is an automated trading strategy that allows users to replicate the trading activities of another trader or wallet.&#x20;

On the Solana blockchain, this process is typically facilitated by bots, such as OdinBot, which monitor selected wallets and automatically mirror their transactions in real time.

## How much does it cost?

Our trading fee is **1%** with a minimum trading fee of **0.001** SOL.

## How to get started?

Simply follow our guides to get you started with our product quickly and easily.

{% content-ref url="/pages/DQsFcCvCjkrx1CfIqSpC" %}
[3. How to start using OdinBot](/setup-and-initialization/3.-how-to-start-using-odinbot)
{% endcontent-ref %}


# 1. What is OdinBot and how does it work?

{% embed url="<https://youtu.be/cwI_2S4og5E>" %}

OdinBot is a comprehensive Solana copy-trading platform. It is the fastest and easiest way to copy any wallet(s) on Solana, mirroring their trades while you relax.

Its built in security features when properly used ensure you don't get drained.&#x20;

{% content-ref url="/pages/ZGeGp78tOsqoWU2cE3xp" %}
[What are the safety features of OdinBot?](/faqs/6.-frequently-asked-questions/what-are-the-safety-features-of-odinbot)
{% endcontent-ref %}

Whether you want to simply automatically mirror a chosen wallet, or get hands on and set your own defined trading parameters, thresholds, and more - Odin has you covered.

Create your account, pick a wallet (add a wallet's address), seed your account with some SOL, define your trade size, and you are set.

{% content-ref url="/pages/DQsFcCvCjkrx1CfIqSpC" %}
[3. How to start using OdinBot](/setup-and-initialization/3.-how-to-start-using-odinbot)
{% endcontent-ref %}


# 2. What Makes OdinBot different from other Solana copy-trading bots?

OdinBot is built on a professional infrastructure designed to execute trades within 0–1 blocks of the mirrored wallet, so fast that our Hunters can even occasionally front-run the trades of the copied wallets.

What truly sets OdinBot apart is its user-friendly design. With the most streamlined UI/UX on the market, it makes copy-trading effortless for both beginners and experienced traders alike.

Unlike other platforms, there is no need to rely on Telegram or third-party apps that could pose security risks. All trading is handled securely and seamlessly within OdinBot’s native web app.

We also provide a daily alpha of wallets for you to further investigate.

{% content-ref url="/pages/BKa7WVv0eo7f9JwiUxVs" %}
[8. Odin's Alpha - Potential wallets to mirror](/faqs/8.-odins-alpha-potential-wallets-to-mirror)
{% endcontent-ref %}


# 3. How to start using OdinBot

**Step 1.** Sign up for an account on <https://app.odinbot.io> using your email.

<figure><img src="/files/DRELVmmH4xPLkvXmks0N" alt="" width="380"><figcaption></figcaption></figure>

**Step 2.** Verify your email, use the verification link sent to your email address.

**Step 3.** Agree to the Terms of Use.

**Step 4.** Upon account creation, a hot wallet will be spun up automatically and you will be prompted to deposit SOL funds to your OdinBot wallet address.

{% content-ref url="/pages/APHWvuRC3ZsQcm8njQX5" %}
[What are the optimal settings to start with?](/faqs/6.-frequently-asked-questions/what-are-the-optimal-settings-to-start-with)
{% endcontent-ref %}

<figure><img src="/files/4xIZTwP8LNnLDHa39K0s" alt="" width="557"><figcaption></figcaption></figure>

**Step 5**. Define your Trade size. The amount you are willing to spend for each trade.

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

**Step 6.** After depositing funds, you will be able to copy and paste your desired wallet addresses into your dashboard to start mirroring them automatically, or select wallets (posted daily in discord) from Odin's Alpha - our native in house wallet screener.

**Note:** We strongly recommend setting a limit for max buys per mirror.

{% content-ref url="/pages/wavXsc4GVnmriYU7n1sI" %}
[4. OdinBot's Controls](/setup-and-initialization/4.-odinbots-controls)
{% endcontent-ref %}

{% content-ref url="/pages/BKa7WVv0eo7f9JwiUxVs" %}
[8. Odin's Alpha - Potential wallets to mirror](/faqs/8.-odins-alpha-potential-wallets-to-mirror)
{% endcontent-ref %}

<figure><img src="/files/YP0UwkKr4AR1zMKeR1b6" alt="" width="563"><figcaption></figcaption></figure>

**Step 7**. That is it! Sit back and watch Odin’s magic unfold, copy-trading your desired wallet(s) with lightning speed.

{% embed url="<https://youtu.be/z9rUOB-P8sA>" %}

If you are having issues with the OdinBot not mirroring please check our section about the most common reasons:

{% content-ref url="/pages/KSzIEauwQCi4vUcvk3tJ" %}
[7. Most common issues with OdinBot not mirroring](/faqs/7.-most-common-issues-with-odinbot-not-mirroring)
{% endcontent-ref %}


# 4. OdinBot's Controls

### **Spot Controls**

Manage your spot copy-trades. Spot trades involve buying and selling actual tokens directly on the blockchain. Configure buy and sell sizing strategies, apply safety filters, and customize your transaction speeds.

{% content-ref url="/pages/8MitNHcdXupjQ6ewbcrQ" %}
[4.1 Spot Controls](/setup-and-initialization/4.-odinbots-controls/4.1-spot-controls)
{% endcontent-ref %}

### **Perps Controls**

Control your perpetual futures copy-trading. Perps trades use leverage to bet on token price movements without owning the underlying asset. Define rules for opening or closing mirrored positions, set your default collateral amounts, and restrict copied trades to specific directions.

{% content-ref url="/pages/u5PFKuzhTcEBxXZS7MIy" %}
[4.2 Perps Controls](/setup-and-initialization/4.-odinbots-controls/4.2-perps-controls)
{% endcontent-ref %}

### Auto-Sell Profiles

Automate your risk management. Build custom profiles with take-profit and stop-loss triggers to secure gains and limit potential losses.

{% content-ref url="/pages/85tGgjk3Icn4tg2tnsxb" %}
[4.3 Auto-Sell Profiles](/setup-and-initialization/4.-odinbots-controls/4.3-auto-sell-profiles)
{% endcontent-ref %}


# 4.1 Spot Controls

{% embed url="<https://youtu.be/W8NKG0GY4j0>" %}

## 1. Buys Section

### **Toggle Allow Copying Buys**

* This option lets you control if the bot should make buy trades based on mirrored wallets.\
  **When turned off, the bot won’t execute buys**.

**Note:** Does not affect sells, they remain active.

<figure><img src="/files/Ra9BmFijyepf6dOkdOry" alt="" width="563"><figcaption></figcaption></figure>

### Buy Size Strategy

* **Constant Size**\
  The bot buys using your predefined trade size for every transaction.
* **Scaling Size**\
  The bot buys a percentage of the mirrored wallet's buy amount. \
  **Note:** Scaling settings must be configured.

<figure><img src="/files/l9OhGyMnxt4L6rIZX2Px" alt="" width="430"><figcaption></figcaption></figure>

#### **Scaling settings:**

* **Minimum trade size (SOL)**\
  Defines the smallest trade size the bot will execute. If a buy falls below this size, no trade is made.\
  **Default:** 0.01 SOL if left blank.
* **Multiplier (%)**\
  Determines the percentage of the mirror's buy amount to copy.\
  **Example:** A multiplier of 50% means buying 0.5 SOL if the mirror buys 1 SOL.\
  **Default:** 50% if left blank.
* **Max Trade Size (SOL)**\
  Sets the largest trade size the bot will execute. If a calculated buy exceeds this, the bot will use the max trade size.\
  **Default:** Your predefined trade size if left blank.

<figure><img src="/files/xouiqL2POUwjpEim7Gmp" alt="" width="563"><figcaption></figcaption></figure>

{% content-ref url="/pages/kSTLZjDflg1U8OGUr96Q" %}
[What is Scaling Buy Size strategy?](/faqs/6.-frequently-asked-questions/what-is-scaling-buy-size-strategy)
{% endcontent-ref %}

### Limits on Buys:

* **Max Buys per Mirror per Hour**\
  Limits how many buys Odin can make for a mirrored wallet within an hour.\
  **Example:** If set to 3, Odin will make up to 3 buy transactions per mirrored wallet within an hour.
* **Max Buys per Mirror per Day**\
  Limits the number of buys Odin can execute for a mirrored wallet daily.\
  **Example:** If set to 3, Odin will make up to 3 buy transactions per mirrored wallet in a day.\
  (<mark style="color:red;">we strongly recommend setting up a limit</mark>)
* **Max Buys per Token per Day**\
  Specifies the maximum number of buys for a particular token in a day. If left blank, no restriction applies.
* **Max Buys per Token per Week**\
  Defines the maximum number of weekly buys for a specific token. If left blank, there are no restrictions.
* **Min Token Martket Cap (USD)**\
  Ensures OdinBot only trades tokens that meet a minimum market cap requirement, preventing exposure to extremely volatile tokens.\
  **Example:** If set to $40,000, only tokens with a market cap equal to or above $40,000 will be considered.
* **Max Token Market Cap (USD)**\
  Restricts trading to tokens within a specified upper market cap limit, helping avoid large-cap tokens that might not fit your strategy.\
  **Example:** If set to $300,000, tokens exceeding this value will be excluded from trading.
* **Min Token Age**\
  Minimum token age (in seconds) a token must have for OdinBot to buy it.\
  **Example:** If set to 60, OdinBot will only buy tokens that are at least 60 seconds old.
* **Max Token Age**\
  Maximum token age (in seconds) a token must have for OdinBot to buy it.\
  **Example:** If set to 604800, OdinBot will only buy tokens that are up to 604800 seconds old.

**Note:** Failed buy transactions are counted towards the buy limit.

<figure><img src="/files/Z0RdDkEJ25sBkoZ0HUDY" alt="" width="237"><figcaption></figcaption></figure>

### Buy Mode

#### **Instant**&#x20;

* OdinBot will copy buys without a delay.

<figure><img src="/files/Saq1BWhoXWlBAfo1eyh5" alt="" width="114"><figcaption></figcaption></figure>

#### Buy the Dip

* OdinBot will wait for a dip after the mirror's buy before copying it.

<figure><img src="/files/9lxTkiPHY83XOPRbHOvb" alt="" width="351"><figcaption></figcaption></figure>

#### Buy the Dip Settings:

* **Dip Percent (%)** \
  How much the price dips before you buy. Must be a number between 0 and 100.\
  **Default:** 5% if left blank.
* **Dip Timeout**\
  How long to wait for a dip after your mirror buys. Max 7 days.\
  **Default:** 1 day if left blank.\
  **Note:** Input is in seconds.

<figure><img src="/files/6pI25hoLf4NiJzMFmMdf" alt="" width="563"><figcaption></figcaption></figure>

### Toggle Only Copy New Positions

* Enabling this feature restricts mirroring to **newly opened positions only**.\
  A position is considered new if the mirrored wallet’s balance for that token was **exactly 0 immediately before the buy**.
* If the mirrored wallet is **adding to an existing position**, the trade will be ignored and not copied.

<figure><img src="/files/qGDz39sg7OwmiUF5sBUg" alt="" width="563"><figcaption></figcaption></figure>

### Toggle Degen Mode

* Enabling this feature **removes** all price protection for trades.\
  It disregards Odin's built-in safety feature that stops trades being executed if the price you get for the token is more than 50% of the wallet you are mirroring.

**Note:** Does not apply to Pump.fun transactions.

<figure><img src="/files/kTUkvxAi4fX5n9Hvicbm" alt="" width="416"><figcaption></figcaption></figure>

{% content-ref url="/pages/ZGeGp78tOsqoWU2cE3xp" %}
[What are the safety features of OdinBot?](/faqs/6.-frequently-asked-questions/what-are-the-safety-features-of-odinbot)
{% endcontent-ref %}

### Toggle Snipe your mirror's launchpad token launches

* If your mirror launches (or creates) a token on Pump.fun, Raydium LaunchLab, or LetsBonk, you will buy it. \
  **Note:** It ignores market cap filters.

<figure><img src="/files/CpTaUEX0QFC9bJhZOrXe" alt="" width="450"><figcaption></figcaption></figure>

### Launchpad launch snipe Trade Size (SOL)

* Trade size for launch snipes.

<figure><img src="/files/NtpJfQnvuCxALbmq7j37" alt="" width="299"><figcaption></figcaption></figure>

### Lightning Buys

* Enables the bot to execute buys as fast as possible by utilizing multiple transaction landing providers.
* You only pay the tip to the single provider that successfully processes the transaction.
* The max tip is calculated dynamically based on your chosen speed tier and Extra Tip on Buys (%).

{% hint style="info" %}
**Note:** Before enabling Lightning Buys, durable nonce accounts must be created for your OdinBot wallet. The Solana network requires a fee of **0.0058 SOL** to create these accounts. Clicking the **"One Click Setup (0.0058 SOL)"** button will generate these accounts automatically.
{% endhint %}

#### Max Priority Fee (SOL)

* The maximum amount you are willing to spend on a priority fee for lightning buys. When set, OdinBot will send multiple "high priority fee + low tip" and "low priority fee + high tip" transactions. You will only pay fees for the transaction that lands first.

{% hint style="warning" %}
You will pay the priority fee to the Solana network for the failed transactions.
{% endhint %}

<figure><img src="/files/Cab75Emu21B0IfYiupO3" alt="" width="425"><figcaption></figcaption></figure>

<figure><img src="/files/Jmq93iKGhGOuXjfCuNq0" alt="" width="426"><figcaption></figcaption></figure>

### Pump.fun Slippage (%)

* Sets the maximum price difference (as a %) you are willing to accept.

<figure><img src="/files/IDLxHjesaOfDEtLOTweI" alt="" width="204"><figcaption></figcaption></figure>

{% content-ref url="/pages/jUYcYHJPReMossLzule6" %}
[What's the Pump.fun slippage and how to configure it?](/faqs/6.-frequently-asked-questions/whats-the-pump.fun-slippage-and-how-to-configure-it)
{% endcontent-ref %}

### Min Slippage (%)

* This is an advanced setting that will cause your trade to fail if your executed slippage is too low.
* **Note:** Applies exclusively to spot Pump.fun copy buys on Instant buy mode.

<figure><img src="/files/CTvwLqyJRM0VpHYe5xIa" alt="" width="419"><figcaption></figcaption></figure>

{% content-ref url="/pages/7BM6ZArEXJD7htwjVvlU" %}
[When to use Min Slippage (%)?](/faqs/6.-frequently-asked-questions/when-to-use-min-slippage)
{% endcontent-ref %}

### Extra Tip on Buys (%)

* Adds a tip to speed up mirrored buys. The tip scales with the trade size.

<figure><img src="/files/7Yb7be90UfPBZ4GidsHm" alt="" width="563"><figcaption></figcaption></figure>

### Min Priority Fee for Buys (SOL)

* Defines the **minimum** Solana protocol **priority fee** for your buys. \
  Odinbot automatically calculates the best fee, but setting a minimum here is useful for sniping.\
  **Note:** This only applies to spot copy buys on Instant buy mode.

<figure><img src="/files/Qy9GCR5LhIA6VFTIADpC" alt="" width="436"><figcaption></figcaption></figure>

{% hint style="warning" %}
You will pay the priority fee to the Solana network even if your trade fails.
{% endhint %}

## 2. Sells Section

### Sell Strategy

* **Sell 100%**\
  When the mirrored wallet sells any amount of a token, your bot sells 100% of your holding in that token.
* **Sell Proportionally**\
  If the mirrored wallet sells a percentage of their token holding (e.g., 20%), your bot sells the same percentage of your holding.
* **Do Not Copy Sells**\
  When this is selected, the bot ignores all sell trades from the mirrored wallet.

<figure><img src="/files/mLsJ8hBzLq1Y9TMujMRJ" alt="" width="403"><figcaption></figcaption></figure>

### Auto-Sell Profile

* Automated Take Profit and Stop Loss functions.

<figure><img src="/files/ru3JBOzdbKtTH9uG5OLL" alt="" width="299"><figcaption></figcaption></figure>

* Auto-Sell Profile must be created in order to use this function.

{% content-ref url="/pages/85tGgjk3Icn4tg2tnsxb" %}
[4.3 Auto-Sell Profiles](/setup-and-initialization/4.-odinbots-controls/4.3-auto-sell-profiles)
{% endcontent-ref %}

{% embed url="<https://youtu.be/bmG62kCNu8Q>" %}

### Extra Tip on Sells (%)

* Speeds up mirrored sell trades by adding a tip. The tip scales with the trade size.

<figure><img src="/files/wFRnBXkFt9VADIfzLrlW" alt="" width="563"><figcaption></figcaption></figure>

## 3. Misc Section

### Toggle Allow Copying Trades on Pump.fun

* This option enables the bot to mirror trades made on Pump.fun.

<figure><img src="/files/pRguXjPMfnqXZ02aX40r" alt="" width="337"><figcaption></figcaption></figure>

### MEV Protection

* **Fastest:** Prioritizes speed over MEV protection.
* **Balanced:** Offers a mix of speed and MEV protection.
* **Protected:** Maximizes MEV protection but trades will be slower.

<figure><img src="/files/P3KHkxdwwlAbfhbvgD9X" alt="" width="360"><figcaption></figcaption></figure>

{% content-ref url="/pages/ZGeGp78tOsqoWU2cE3xp" %}
[What are the safety features of OdinBot?](/faqs/6.-frequently-asked-questions/what-are-the-safety-features-of-odinbot)
{% endcontent-ref %}

### Toggle Cross-Mirror Trading Prevention

* When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed.

<figure><img src="/files/dyuecygtlJai5z0Tb6Yx" alt="" width="563"><figcaption></figcaption></figure>

{% content-ref url="/pages/5qph7sEkrtSaMdW3XoH5" %}
[What does Cross-mirror Trading Prevention do?](/faqs/6.-frequently-asked-questions/what-does-cross-mirror-trading-prevention-do)
{% endcontent-ref %}


# 4.2 Perps Controls

## 1. Position Open/Increase

### **Toggle Allow Open/Increase**

* This option lets you control if the bot should copy your mirrors open or increase positions.

<figure><img src="/files/lN2liZvZG8xf0W846Ayj" alt="" width="168"><figcaption></figcaption></figure>

### Increase Collateral Amount (SOL)

* This is your constant default amount when increasing on positions.

<figure><img src="/files/pfad17bripOo3Nhd4UZR" alt="" width="356"><figcaption></figcaption></figure>

### Open/Increase Sizing Strategy

* **Constant Size** - OdinBot uses your predefined collateral amount for every open or increase action, regardless of the mirrored wallet’s position size.
* **Dynamic Size** - OdinBot adjusts your position size proportionally based on the mirrored wallet’s collateral using your configured scaling settings (minimum size and multiplier).

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

#### Dynamic Increase Settings:

* **Minimum increase collateral amount (SOL)**\
  Defines the smallest collateral amount the bot will use when increasing a position. If the calculated increase falls below this value, no increase will be executed.\
  **Default:** 0.01 SOL if left blank.
* **Multiplier (%)**\
  Determines the percentage of the mirrored wallet’s increase to copy.\
  **Example:** A multiplier of 50% means increasing by 0.5 SOL if the mirror increases by 1 SOL.\
  **Default:** 50% if left blank.
* **Max increase collateral amount (SOL)**\
  Sets the largest collateral amount the bot will use when increasing a position. If the calculated increase exceeds this value, the bot will use the maximum instead.\
  **Default:** Your "Increase Collateral Amount" if left blank.

<figure><img src="/files/T1JfaJNufSk4aEE7pba8" alt="" width="445"><figcaption></figcaption></figure>

{% content-ref url="/pages/OKC6JuyodZyPuWDVRQit" %}
[What is Dynamic Size strategy?](/faqs/6.-frequently-asked-questions/what-is-dynamic-size-strategy)
{% endcontent-ref %}

### Allow Long or Short Dropdown

* Controls which trade directions OdinBot is allowed to mirror.\
  **Example:** Select Short if you expect prices to drop, blocking any long trades from being copied.

<figure><img src="/files/hAyQbdGtIDhMzCn6bpEZ" alt="" width="395"><figcaption></figcaption></figure>

### Max Leverage

* Set a hard cap on your risk. If the wallet you are mirroring opens a position with leverage that is greater than your maximum limit, your trade will automatically use your max leverage instead.

<figure><img src="/files/gQ4RwBiwFKSCwq7eKgZr" alt="" width="369"><figcaption></figcaption></figure>

## 2. Position Close/Decrease

### Decrease Strategy

* **Decrease All** - If the mirrored wallet decreases their position by any amount, OdinBot will close your entire position.
* **Decrease Proportionally** - If the mirrored wallet decreases their position by a percentage (e.g., 20%), OdinBot decreases its position by the exact same percentage and matches their leverage.
* **Do Not Copy Decreases** - OdinBot ignores all position decreases from the mirrored wallet.

**Note:** If you choose not to copy decreases, you are responsible for manually closing positions to avoid liquidations.

<figure><img src="/files/CEAxaTQ1BOxYArFaFWXR" alt="" width="346"><figcaption></figcaption></figure>

## 3. Misc

### Toggle Cross-mirror Trading Prevention

* When enabled, only the specific mirror that caused you to open a position is allowed to trade that market and side until the position is closed.

<figure><img src="/files/ijlFvQSwzGHpvvp6vwVy" alt="" width="372"><figcaption></figcaption></figure>

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# 4.3 Auto-Sell Profiles

{% embed url="<https://youtu.be/bmG62kCNu8Q>" %}

To use the Auto-Sell function properly, you must first create an Auto-Sell profile.

### Creating Auto-Sell Profiles:

* Head over to the the Auto-Sell Profiles Tab and hit "**+ Add Profile**" button:

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

* Once you have created a profile, you can adjust its name:

<figure><img src="/files/1g3CrBX3l2ch27D2ju73" alt=""><figcaption></figcaption></figure>

* After choosing a name for your Auto-Sell profile, click the "**Expand**" option on the far-right side:

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

### Creating Rules:

* For the Auto-Sell profile to function properly, at least one rule must be added:

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

### Take Profit:

* Adjust the Take Profit rule according to your needs:

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

* If you wish to add more than one rule, click the "**+ Add Rule**" button after creating your first rule:

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

#### Examples of Take Profit rule:

At **+19% sell 20%** of Total Holding of the Token.

At **+32.1% sell 45%** of Total Holding of the Token.

At **+50% sell 35%** of Total Holding of the Token.

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

At **+50% sell 90%** of Total Holding of the Token.

At **+120% sell 10%** of Total Holding of the Token.

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

{% hint style="warning" %}
The total percentage of the Take Profit must not exceed the 100% threshold.
{% endhint %}

### Stop Loss:

* Set up a Stop Loss function to sell portions of your Token holdings if the price declines:

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

* To add more than one rule, click the "**+ Add Rule**" button after creating the first rule:

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

#### Examples of Stop Loss rule:

At -**50% sell 100%** of Total Holding of the Token.

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

At -**35% sell 60%** of Total Holding of the Token.

At **-70% sell 30%** of Total Holding of the Token.

At **-90% sell 10%** of Total Holding of the Token.

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

{% hint style="warning" %}
The total percentage of the Stop Loss must not exceed the 100% threshold.
{% endhint %}

### Combine Take Profit and Stop Loss rules:

* To include both Take Profit and Stop Loss rules under one profile, simply click the "**+ Add Rule**" button after creating your first rule, and add the desired function:

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

After creating your desired profiles, navigate to the Controls tab. Under the Auto-Sell Profile section, select the profile you created and wish to use.

{% content-ref url="/pages/wavXsc4GVnmriYU7n1sI" %}
[4. OdinBot's Controls](/setup-and-initialization/4.-odinbots-controls)
{% endcontent-ref %}

### Setting Auto-Sell orders on individual Tokens:

* After Odin mirrors a trade, you have the option to set Auto-Sell orders on the Token itself.
* Navigate to the Holdings page and click the "View Active Orders" button on the token for which you want to enable the Auto-Sell function.

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

* Define your Take Profit and/or Stop Loss.
* The same principles apply as when you are creating Auto-Sell Profiles.

<figure><img src="/files/niFsNN1qmhz8FHvhF9ns" alt="" width="563"><figcaption></figcaption></figure>

* If you wish, you can configure multiple Take Profit and Stop Loss levels.

<figure><img src="/files/EutZTXKDL1iQqU5nHz7z" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
Trades **under 1 SOL** use **Standard** speed tier; trades **over 1 SOL** use **Turbo**.
{% endhint %}

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# 5. Affiliate Program

Referring a new user to OdinBot earns you a 40% commission on their trading fees for life.

**Example:**

Your affiliate made a trade with **0.1 SOL**, Odin's fee would be **0.001 SOL** (1% fee). \
You would get for your affiliate **40%** of the **0.001 SOL**.&#x20;

To generate your affiliate link, hit the **Affiliate Dashboard** tab.

<figure><img src="/files/6bGU7beewtezASwVSNUy" alt="" width="563"><figcaption></figcaption></figure>

Before you can receive earnings, you must set up a Solana wallet that will act as your **affiliate payout** address. This wallet will receive all referral rewards earned through your affiliate activity. Make sure the wallet is secure and accessible only by you.

<figure><img src="/files/9Hcy2gJd9iBKZu8a71Pd" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Note:** Your affiliate payout wallet gets paid out in **real-time** as trades happen. Make sure it has at least **0.00089088 SOL** in it to cover [**rent on Solana**.](https://solana.com/docs/core/accounts#rent)
{% endhint %}

After you have configured your affiliate payout wallet, a performance chart will be generated. This chart includes key metrics such as **Daily Revenue**, **Daily Referrals**, and **Referral Funnel**. You can adjust the date range to view data over the past **7 days**, **30 days**, or set a **custom range**.

<figure><img src="/files/ffiwF63o1P3bNf6kLvVP" alt="" width="563"><figcaption></figcaption></figure>

The **Source** and **Campaign** selectors let you generate variations of your referral link so you can measure how each marketing channel performs.

**Example how to create a new Source or Campaign:**

1. In the “Affiliate Dashboard” panel, open the **Source** or **Campaign** drop-down.
2. Select **“Add New Source”** or **“Add New Campaign”.**
3. Enter a descriptive name, then click **Save.**

<figure><img src="/files/Wo6YbiHLM2aTen5fANcX" alt="" width="563"><figcaption></figcaption></figure>

OdinBot automatically attaches the new source or campaign tag to your base referral link.

<figure><img src="/files/CNJyEoLHkc8nY1s3tPph" alt="" width="563"><figcaption></figcaption></figure>

Using different referral links for each platform or campaign allows you to:

* **Identify Top Channels**: Clearly see which platforms are driving the highest sign-ups and generating the most revenue.
* **Analyze Funnel Performance**: Compare click-through rates and conversions across different campaigns, highlighting what's working and what isn't.
* **Optimize Your Strategy**: Quickly retire underperforming sources and focus your efforts on channels that consistently perform well.


# 6. Frequently Asked Questions

## Spot

Most frequently asked questions about **spot** copy-trading:

<details open>

<summary>General Questions:</summary>

* [What are the optimal settings to start with?](/faqs/6.-frequently-asked-questions/what-are-the-optimal-settings-to-start-with)
* [What's the difference in speed tiers and which one to choose?](/faqs/6.-frequently-asked-questions/whats-the-difference-in-speed-tiers-and-which-one-to-choose)
* [What are the safety features of OdinBot?](/faqs/6.-frequently-asked-questions/what-are-the-safety-features-of-odinbot)
* [How many wallets can I mirror?](/faqs/6.-frequently-asked-questions/how-many-wallets-can-i-mirror)
* [How much does OdinBot charge for its services?](/faqs/6.-frequently-asked-questions/how-much-does-odinbot-charge-for-its-services#copy-trading-spot)
* [What platforms are supported?](/faqs/6.-frequently-asked-questions/what-platforms-are-supported#spot-copy-trading)

</details>

<details open>

<summary>Questions about Trading:</summary>

* [What metrics should I look for in mirror wallets worth copy trading?](/faqs/6.-frequently-asked-questions/what-metrics-should-i-look-for-in-mirror-wallets-worth-copy-trading)
* [What's the Pump.fun slippage and how to configure it?](/faqs/6.-frequently-asked-questions/whats-the-pump.fun-slippage-and-how-to-configure-it)
* [What's the use of extra tips if we can just change the speed?](/faqs/6.-frequently-asked-questions/whats-the-use-of-extra-tips-if-we-can-just-change-the-speed)
* [What does Cross-mirror Trading Prevention do?](/faqs/6.-frequently-asked-questions/what-does-cross-mirror-trading-prevention-do)
* [What happens to the open positions if I unfollow a wallet?](/faqs/6.-frequently-asked-questions/what-happens-to-open-positions-if-i-unfollow-a-wallet)
* [Can I manually exit positions, and if so, can I scale out vs liquidating a position entirely?](/faqs/6.-frequently-asked-questions/can-i-manually-exit-positions-and-if-so-can-i-scale-out-vs-liquidating-a-position-entirely)
* [I copied a trade that showed X amount of profit, so why is my trade at a loss?](/faqs/6.-frequently-asked-questions/i-copied-a-trade-that-showed-x-amount-of-profit-so-why-is-my-trade-at-a-loss)
* [Why did I buy the same token twice even though my limit is set to 1?](/faqs/6.-frequently-asked-questions/why-did-i-buy-the-same-token-twice-even-though-my-limit-is-set-to-1)
* [How to configure Auto-Sell Profiles?](/setup-and-initialization/4.-odinbots-controls/4.3-auto-sell-profiles)
* [How to Generate a PnL Card in OdinBot?](/faqs/6.-frequently-asked-questions/how-to-generate-a-pnl-card-in-odinbot)
* [What is Scaling Buy Size strategy?](/faqs/6.-frequently-asked-questions/what-is-scaling-buy-size-strategy)
* [When to use Min Slippage (%)?](/faqs/6.-frequently-asked-questions/when-to-use-min-slippage)

</details>

<details open>

<summary>Technical Questions:</summary>

* [How can I export my Private Key?](/faqs/6.-frequently-asked-questions/how-can-i-export-my-private-key)
* [Why is PnL pricing data incorrect/not updating?](/faqs/6.-frequently-asked-questions/why-is-pnl-pricing-data-incorrect-not-updating)

</details>

## Perps

Most frequently asked questions about **perps** copy-trading:

<details open>

<summary>Technical Questions:</summary>

* [What fees does OdinBot charge for copy-trading perpetuals?](/faqs/6.-frequently-asked-questions/how-much-does-odinbot-charge-for-its-services#copy-trading-perps)
* [What platforms are supported?](/faqs/6.-frequently-asked-questions/what-platforms-are-supported#perpetuals-copy-trading-perps)

</details>

<details open>

<summary>Questions about Trading:</summary>

* [Can I manually close my perp positions?](/faqs/6.-frequently-asked-questions/can-i-manually-close-my-perp-positions)
* [What is Dynamic Size strategy?](/faqs/6.-frequently-asked-questions/what-is-dynamic-size-strategy)

</details>

{% content-ref url="/pages/KSzIEauwQCi4vUcvk3tJ" %}
[7. Most common issues with OdinBot not mirroring](/faqs/7.-most-common-issues-with-odinbot-not-mirroring)
{% endcontent-ref %}


# What are the optimal settings to start with?

Keep your trade size low compared to the size of your account. Ideally less than 10% of your account (less than 2% is better for large accounts).

After you finish testing and are comfortable, use trade sizes of at least 0.1 SOL because low trade sizes make profitability challenging due to priority fees.

We recommend the sell strategy "Sell Proportionally" if you want to sell the same % of your tokens that the mirror sells on each sell.

On the controls screen, we recommend you limit your exposure to each wallet by setting a "max buys per mirror per day." Depending on your strategy, you can set this however you like.&#x20;

For example, you could limit your buys to 3 per mirror per hour and 6 per mirror per day. Alternatively you can set higher limits at 10 per mirror per hour and 100 per mirror per day.

{% hint style="warning" %}
We strongly recommend setting a per mirror buy limit.
{% endhint %}

{% content-ref url="/pages/wavXsc4GVnmriYU7n1sI" %}
[4. OdinBot's Controls](/setup-and-initialization/4.-odinbots-controls)
{% endcontent-ref %}

The more wallets you follow the smaller your trade size should be so that you don't max out your account and end up with not enough SOL remaining to cover the cost of entering new positions.

OdinBot has a buffer to ensure enough SOL stays in your account to cover exiting positions.

{% content-ref url="/pages/7CJJhynTS4bSXUxwDOmC" %}
[Trading Strategies](/tracking-academy/trading-strategies)
{% endcontent-ref %}

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# What's the difference in speed tiers and which one to choose?

All speed tiers are capable of landing your copy trade in the next block after your mirror, but the higher you go in speed tier, the more likely your trade will be copied next block.

On each speed tier, **OdinBot will scale** the priority fees to be competitive with local fee markets during market congestion.

The higher the tier, the more OdinBot will spend to beat the competition.

### Standard Tier:

* Very fast during normal network conditions. When in doubt, use Standard.
* Approximate cost during normal network conditions: \~0.002 SOL.

### Turbo Tier:

* Very fast during all network conditions.
* Approximate cost during normal network conditions: \~0.008 SOL.

### Godly Tier:

* Only use if you are mirroring heavily copy-traded wallets and are ok with spending significantly more SOL to win. Not recommended unless you have more than 10 SOL in your account.
* Approximate cost during normal network conditions: \~0.06 SOL.

If you have less than 1 SOL in your account, we recommend sticking with **Standard** tier.

{% hint style="danger" %}
Godly mode can be very expensive and you should choose it only if you know exactly what you are doing.
{% endhint %}

{% embed url="<https://youtu.be/MebQheTCq4Y>" %}

Track OdinBot's speed in real-time:

[**https://speed.odinbot.io/**](https://speed.odinbot.io/)

Speed comparison of OdinBot with other mainstream bots:

{% embed url="<https://www.odinbot.io/the-50-trades-challenge-how-odinbot-outpaced-every-competitor/>" %}

Follow this link to learn how to view the fees of your trades:

{% content-ref url="/pages/WDC1MpbBK9llgXN1jsJE" %}
[How to Look at Your Fees](/tracking-academy/how-to-look-at-your-fees)
{% endcontent-ref %}

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# What are the safety features of OdinBot?

## **Token's Freeze Authority Isn't Revoked:**

OdinBot will not trade tokens that don't have their freeze authority revoked.&#x20;

## **Price Protection:**

Odinbot will not copy trades where your entry price would be significantly unfavorable compared to the mirror you are copying.

#### **Example**:&#x20;

If the price you get for the token is more than 50% of the wallet you are mirroring, OdinBot will not buy the token.

{% hint style="warning" %}
Degen Mode overrides the price impact.
{% endhint %}

{% content-ref url="/pages/iGLujvVraEBDhzQw4Se1" %}
[Odinbot's price protection prevented execution of the trade](/faqs/7.-most-common-issues-with-odinbot-not-mirroring/odinbots-price-protection-prevented-execution-of-the-trade)
{% endcontent-ref %}

{% embed url="<https://youtu.be/2enhG7ETfpQ>" %}

## MEV Protection:

On **Solana**, validators take turns being the leader. The leader builds blocks that are then validated by the network. When the leader sees your trade, they have the opportunity to sandwich it. This is often referred to as "bad MEV". They sandwich by buying before you and selling after you in the same block. Many validators do not participate in "bad MEV" and do not sandwich, but some do.

* **Fastest** - MEV protection will send your transaction straight to the leader through a staked connection, attempting to land your transaction as fast as possible.
* **Balanced -** MEV protection will only send your transaction to the leader if the leader has historically shown that they do not sandwich.
* **Protected** - Sends your transaction through Jito only, a protocol that does not allow for sandwiching.

**Note:** Fastest and Balanced also send to Jito in addition to other avenues to maximize speed.

{% embed url="<https://youtu.be/OpDUBj2fcVA>" %}

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# How many wallets can I mirror?

All accounts are configured to allow up to 250 mirrored wallets. &#x20;

On a case by case basis, we can increase this for users.

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# How much does OdinBot charge for its services?

## Copy-Trading Spot:

We charge a **1**% fee on each transaction.&#x20;

The minimum trading fee is **0.001** SOL.

***

## Copy-Trading Perps:

OdinBot charges a **0.1% fee** on the **total position size** when opening a perpetuals trade.

Decreasing or Closing Positions is **Free**! OdinBot does not charge a fee when you decrease or close a perps position.

**How Leverage Affects Your Fee**

Because the fee is calculated based on your **total position size** (volume) rather than just your initial margin/collateral, using **higher leverage** will **increase** the fee relative to your collateral.

**The Formula:** Position Size = Collateral × Leverage

#### **Example:**&#xD;

#### 1. Calculating from Collateral and Leverage&#x20;

If you enter a trade with **$100** (collateral) and **apply 50x leverage**, your total position size becomes **$5,000** ($100 × 50).

* OdinBot charges **0.1%** on that **$5,000** total size.
* The fee is **$5.00**.

**Note:** This means at **50x** leverage, the fee equals exactly **5%** of your initial collateral **(0.1% × 50 = 5%)**.

#### 2. Calculating directly from Total Position Size

If you look at a transaction and the total requested open size is **$5,000**, the calculation is even simpler.

* OdinBot charges **0.1%** directly on that **$5,000** total volume.
* The fee is **$5.00** (`$5,000 × 0.001`).

**Note:** It does not matter what combination of collateral and leverage was used to reach this number. The fee is **always** strictly **0.1%** of the **final position size**.

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# What platforms are supported?

OdinBot supports a wide range of decentralized exchanges (DEXs), automated market makers (AMMs), and routers to ensure optimal execution for your copy-trades.

#### **Spot Copy-Trading**

For spot copy-trading, OdinBot currently supports the following marketplaces and liquidity pools:

* **Jupiter:** Jupiter v6 Router
* **DFlow**
* **LetsBonk**
* **Meteora:** Dynamic Bonding Curve (DBC), Dynamic AMM, and Dynamic AMM V2
* **OKX:** OKX Router v2
* **Pump.fun:** Standard protocol and PumpSwap (Pump.fun AMM)
* **Raydium:** Liquidity Pool V4, CPMM, and LaunchLab

***

#### **Perpetuals Copy-Trading (Perps)**

For perpetual futures copy-trading, OdinBot currently supports:

* **Jupiter Perpetuals Program**

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# What metrics should I look for in mirror wallets worth copy trading?

**Average ROI:** This indicates a wallet’s profitability over time. High Avg ROI with consistent gains is ideal, but verify that gains come from multiple trades rather than one-off successes.

**Number of Trades:** Consistency in trading suggests active management, and a higher trade count reflects frequent participation and liquidity.

**Last Trade Taken:** A recent trade signals that the wallet is actively managed. Look for wallets with recent activities to ensure they reflect current market conditions.

**Recent Transactions:** Analyze recent buys/sells to understand the types of tokens traded, whether the wallet is diversifying, and how frequently trades occur.

**Win Rate:** This metric shows how often trades result in a profit. Wallets with a win rate above 60-70% generally indicate skilled, risk-managed trading.

**Trade Distribution:** Diversification in trade distribution across tokens and sectors is a positive sign, as it spreads risk.

**Trade Frequency:** High-frequency trading often indicates an experienced, active trader. Low-frequency trading might suggest a less responsive strategy, which may not align with volatile crypto markets.

**Multiple Take Profits:** Wallets that use incremental selling to lock in gains reflect a cautious, profit-maximizing approach. Look for this trait to ensure the wallet employs smart risk management.

{% content-ref url="/pages/7CJJhynTS4bSXUxwDOmC" %}
[Trading Strategies](/tracking-academy/trading-strategies)
{% endcontent-ref %}

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# What's the Pump.fun slippage and how to configure it?

{% embed url="<https://youtu.be/9i7QYPUn5X4>" %}

OdinBot calculates the token price from the most recent on-chain updates, then includes your slippage tolerance when setting up the transaction. If later trades push the price above your slippage limit before the transaction settles, the trade will fail. If the price stays within your limit, the trade goes through successfully.

**Note:** If many people are buying at the same time, the price can jump quickly.

For examples of wallets that often create large price spikes, and may require a higher slippage percentage, please follow this guide:

{% embed url="<https://www.odinbot.io/how-to-identify-already-copytraded-wallets/>" %}

## What's the best way to configure slippage settings?

* **Weigh Risk vs. Reward:** A higher slippage setting helps you enter highly volatile trades, but it can also make you pay more.
* **Observe Your Mirror:** Look at how much the price changes right after your mirror trades. Adjust your slippage based on that.

## When to configure a high slippage?

* **Early Bonding Curve:** Tokens early in their bonding curve can have big price spikes.
* **Heavily Copy-Traded Wallets:** If the wallet you mirror is heavily copy-traded, the sudden demand can raise prices quickly.

{% content-ref url="/pages/8a1L3fn8Uyw9CKJVer0P" %}
[Pump.fun Explained: A Guide to Copy-Trading Success - Vic](/tracking-academy/trading-strategies/pump.fun-explained-a-guide-to-copy-trading-success-vic)
{% endcontent-ref %}

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# What's the use of extra tips if we can just change the speed?

The "Extra Tip on Buys (%)" and "Extra Tip on Sells (%)" are used to add an additional amount to incentivize validators, potentially increasing your transaction speed.&#x20;

While changing the speed setting can also affect transaction speed, adding a tip provides an extra incentive for validators to prioritize your transaction.

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# What does Cross-mirror Trading Prevention do?

Cross mirror trade prevention applies to both buys and sells and behaves exactly as follows.

When enabled, only the mirror that caused the first buy of a token can trade that token until the position is closed.

### Examples:

We are mirroring 2 wallets, **Wallet A** and **Wallet B**.&#x20;

**Scenario 1:** \
Wallet A has cross-mirror prevention **Enabled**, Wallet B has it **Disabled**.

**Wallet A** buys the token first:

* Odin copies the buy because Wallet A initiated the trade, and Cross-Mirror Trading Prevention is **enabled** for Wallet A.

**Wallet B** buys the same token later:

* Odin copies this as well, because Cross-Mirror Trading Prevention is **disabled** for Wallet B.

**Scenario 2:**\
Wallet A has cross-mirror prevention **Enabled**, Wallet B has it **Disabled**.

**Wallet B** buys the token first:

* Odin **copies** the buy from Wallet B, as it has no restrictions.

**Wallet A** tries to buy the same token:

* Odin **does not copy** this trade, since Cross-Mirror Trading Prevention is **enabled** for Wallet A.

**Scenario 3:**\
Wallet A has cross-mirror prevention **Enabled**, Wallet B has it **Enabled**.

**Wallet A** buys the token first:

* Odin **copies** the buy from Wallet A, as it is the first mirror to trade it.

**Wallet B** tries to buy the same token:

* Odin **does not copy** this trade, since Cross-Mirror Trading Prevention is **enabled** for both Wallet A and Wallet B.

{% embed url="<https://youtu.be/Fho79EgPVxU>" %}

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# What happens to open positions if I unfollow a wallet?

Nothing.&#x20;

You can exit live positions anytime you want. &#x20;

Remember, if you unfollow a wallet, any open positions based on that wallet's activity will remain open. You would then need to manually close them (in whole or part).

{% content-ref url="/pages/19fRx2bdJZdStERC8H3u" %}
[Can I manually exit positions, and if so, can I scale out vs liquidating a position entirely?](/faqs/6.-frequently-asked-questions/can-i-manually-exit-positions-and-if-so-can-i-scale-out-vs-liquidating-a-position-entirely)
{% endcontent-ref %}

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# Can I manually exit positions, and if so, can I scale out vs liquidating a position entirely?

With OdinBot, you have full control. &#x20;

You can either let OdinBot mirror fully autonomously with the wallet you are following, or you can manually sell the tokens on a case by case basis. Sell any amount between 0-100%.

To manually sell the tokens through the OdinBot app, go to the Holdings page and hit the arrows button next to the token you want to sell.

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

Alternatively, you can import your private key into wallets like Phantom or Solflare and manually trade from them.

{% content-ref url="/pages/IhcF2vLGuMk6o1TVkqnz" %}
[How can I export my Private Key?](/faqs/6.-frequently-asked-questions/how-can-i-export-my-private-key)
{% endcontent-ref %}

<details>

<summary>How to manually sell on the <a href="https://dexscreener.com/solana">Dexscreener</a> platform:</summary>

* Once you have imported Odin’s private key into your Solana wallet, open Dexscreener.
* Click on the "Sign-in" button.

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

* When the pop-up appears, choose the option "Connect Wallet".

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

* From the options pop-up, choose the wallet where you imported Odin's private key.

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

* After connecting your wallet to Dexscreener, open the "Trades" tab in OdinBot and find the token you wish to sell.
* Click on the token, then click the "View in Dexscreener" button.

<figure><img src="/files/LSZRXJ0muoTX6tfCFRCx" alt="" width="152"><figcaption></figcaption></figure>

* Proceed to sell the token.

<figure><img src="/files/b5NITNQ7lFHzbQEsBhCb" alt="" width="290"><figcaption></figcaption></figure>

</details>

<details>

<summary>How to manually sell on the <a href="https://raydium.io/swap/">Raydium</a> platform:</summary>

* Once you have imported Odin’s private key into your Solana wallet, open Raydium platform.
* Click on the "Connect Wallet" button.

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

* From the options pop-up, choose the wallet where you imported Odin's private key.

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

* After connecting your wallet to the Raydium platform, open the "Trades" tab in OdinBot and find the token you wish to sell.
* Click on the token, then click the "Copy token mint address" button.
* Navigate back to the Raydium platform and paste the copied token mint address into the search bar.

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

* Proceed to sell the token.

</details>

{% embed url="<https://youtu.be/e45705k6pF8>" %}

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# Can I manually close my perp positions?

Yes, you can manually close your perpetuals positions by connecting your OdinBot wallet directly to the Jupiter DEX.

To do this, follow these steps:

1. **Export your private key:** Navigate to OdinBot's settings and securely export your wallet's private key.
2. **Import to a Web3 wallet:** Import your private key into a supported Solana wallet, such as Phantom Wallet.
3. **Connect and Close:** Go to the Jupiter DEX, connect your Phantom wallet, and manage or close your open positions directly from their interface.

{% content-ref url="/pages/IhcF2vLGuMk6o1TVkqnz" %}
[How can I export my Private Key?](/faqs/6.-frequently-asked-questions/how-can-i-export-my-private-key)
{% endcontent-ref %}

> **⚠️ Important Note:** If you have position decreases disabled in your OdinBot settings, the bot will not scale out of or close your trades automatically. In this scenario, you are strictly responsible for closing your positions manually to avoid liquidations.

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# I copied a trade that showed X amount of profit, so why is my trade at a loss?

When you copy a wallet, you will always buy after they buy and sell after they sell. This delay often results in worse entry and exit prices for your trade, which can reduce profits or even lead to losses, especially in fast-moving markets.

There are several factors to consider:

1. **Price Movement Due to Liquidity:**
   * If the wallet you are copying trades small liquidity or low market cap tokens in large amounts, their purchase can push the price up significantly. By the time you enter the trade, the price is already higher.
2. **Copy Trader Competition:**
   * Popular wallets, especially those in the top 50 on tools like GM Smart Money, often have many copy traders. If 10+ people copy the same trade, the increased demand can further drive up the price before your trade is processed.
   * Being first in line for these trades can be expensive due to higher fees, so most copy traders end up entering later in the queue, further increasing the price.
3. **Multiple Buy Orders:**
   * The wallet may have already been holding a position in the token and added to it, making their overall percentage gain appear higher than yours since they entered at a lower price initially.
4. **Bots and Farming:**
   * Traders or bots using MEV (Maximum Extractable Value) strategies may execute trades within seconds, giving them a competitive edge. Always check trade timestamps in tools like GMGN to confirm that the wallet you are copying held their position long enough to avoid farming behaviour.
5. **Win Rate Manipulation:**
   * Be cautious when relying on win rate statistics. Some traders avoid selling at a loss to maintain high win rate numbers, which doesn’t reflect their true profitability.

Always analyze trades carefully. Use tools like GMGN to check buy and sell timestamps, holding duration, and trade patterns to understand how the wallet operates. Copy trading isn’t always exact, and it is important to manage expectations about entry prices and timing differences.

{% content-ref url="/pages/oGEaIhiuTYafN7mbK5WU" %}
[Wallets to Avoid When Copy-Trading](/tracking-academy/wallets-to-avoid-when-copy-trading)
{% endcontent-ref %}

{% content-ref url="/pages/WDC1MpbBK9llgXN1jsJE" %}
[How to Look at Your Fees](/tracking-academy/how-to-look-at-your-fees)
{% endcontent-ref %}

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# Why did I buy the same token twice even though my limit is set to 1?

Currently with OdinBot, your limits (per Mirror, per Token) can be bypassed if multiple trades occur simultaneously while you are still under your limit.

**Example:**&#x20;

If your limit Max Buys (per Mirror, per Token) is set to 1 and you are currently at 0 (no trades counting against your limit yet), and 3 trades come in at precisely the same time (same block), OdinBot evaluates each trade separately. Since each evaluation sees your wallet below your limit, it allows all 3 trades to execute simultaneously. This results in exceeding your limit. After this, you won't execute additional buys until your limits reset, as you are now above the set threshold.

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# How to Generate a PnL Card in OdinBot?

1. **Navigate to the Trades Tab**
   * Open OdinBot and go to the "Trades" tab.

<figure><img src="/files/ms41Zn351ybprUn0YQrH" alt="" width="245"><figcaption></figcaption></figure>

2. **Find the Trade**
   * Scroll through the list of trades to locate the specific trade for which you want to generate the PnL card.
3. **Select the Token**
   * Click on the token’s name associated with the trade.
4. **Generate the PnL Card**
   * Press the "Share PnL" button.

<figure><img src="/files/kmWLxG16CrnkIQCWHRUt" alt="" width="184"><figcaption></figcaption></figure>

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# What is Scaling Buy Size strategy?

The Scaling Buy Size strategy allows you to dynamically adjust your buy amounts based on the behavior of the wallet you are mirroring. Instead of using a fixed buy amount for every transaction, OdinBot calculates your entry size as a percentage of the mirror's trade, ensuring you scale up or down in proportion to their position sizing.

#### Example 1

Goal: You want to maintain a fixed trade size of 0.5 SOL, but you only want to enter a trade if the mirror wallet commits at least 5 SOL. If they buy less than 5 SOL, you want to ignore the trade.

Configuration:

* Minimum Trade Size: `0.4999 SOL`
* Multiplier: `10%`
* Max Trade Size: `0.5 SOL`

How it works:

1. Scenario A (Mirror buys 5 SOL):
   * Calculation: 5 SOL × 10% = 0.5 SOL.
   * Result: The amount meets your Minimum (`0.4999`) and equals your Max (`0.5`). OdinBot buys with 0.5 SOL.
2. Scenario B (Mirror buys 4 SOL):
   * Calculation: 4 SOL × 10% = 0.4 SOL.
   * Result: The amount is below your Minimum (`0.4999`). OdinBot skips the trade.
3. Scenario C (Mirror buys 100 SOL):
   * Calculation: 100 SOL × 10% = 10 SOL.
   * Result: The amount exceeds your Max (`0.5`). OdinBot buys with 0.5 SOL (capped).

#### Example 2

Goal: You are following a "whale" wallet that swings with large amounts. You want to execute trades exactly proportional to theirs (1% of their size) to manage risk, but you never want to risk more than 1 SOL per trade, regardless of how much they spend.

Configuration:

* Minimum Trade Size: `0.01 SOL`
* Multiplier: `1%`
* Max Trade Size: `1.0 SOL`

How it works:

* If the whale buys with 10 SOL, OdinBot buys with  0.1 SOL (1%).
* If the whale buys with  50 SOL, OdinBot buys with 0.5 SOL (1%).
* If the whale buys with 200 SOL, the calculated amount is 2 SOL (1%), but OdinBot caps it at your Max. It buys with 1.0 SOL.

#### Example 3

Goal: You are copying a "degen" wallet that trades with small amounts (e.g., 0.1 SOL). You want to trade heavier than them to maximize returns on their picks, buying 2x whatever they buy, but ensuring you don't buy dust.

Configuration:

* Minimum Trade Size: `0.05 SOL`
* Multiplier: `200%`
* Max Trade Size: `2.0 SOL`

How it works:

* If mirror buys with 0.1 SOL, OdinBot buys with 0.2 SOL (200%).
* If mirror buys with 0.02 SOL, the calculated amount is 0.04 SOL. This is below your Minimum (`0.05`). OdinBot skips the trade.

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# When to use Min Slippage (%)?

This is an advanced setting that will cause your trade to fail if your executed slippage is too low.

{% hint style="warning" %}
Applies exclusively to spot Pump.fun copy buys on Instant buy mode.
{% endhint %}

How it works:

* **0% (Default):** The feature is turned off. OdinBot buys normally, jumping in right behind your mirror even if nobody else buys in between.
* **Above 0% (e.g., 1%):** You are telling OdinBot, "Let someone else buy first." If you are the very next person in line after your mirror and the price has not moved, OdinBot cancels the trade. The trade only goes through if someone else buys in between, raising the price just enough to hit your minimum.

#### Example Strategy: Avoiding the "Bait and Switch" Trap

* **Configuration:** Set Min Slippage to a moderate value (e.g., 0.5%) and utilize a strict maximum Pump.fun Slippage (%).
* **The Edge:** Malicious developers sometimes use insider wallets as bait to trigger copy-trading bots, immediately dumping on the very next buyer in the block. By enforcing a minimum slippage threshold, you ensure your bot is never the direct sequential buyer.
* **Protection:** Your trade will only execute if other bots or traders fall for the bait first, pushing the price up slightly and absorbing the initial risk of a trap before your OdinBot enters the position.

#### Example Strategy: Validating KOL Market Impact

* **Configuration:** Set Min Slippage to a higher threshold (e.g., 1.5%) alongside a wider Max Pump.fun Slippage (e.g., 15%).
* **The Edge:** When mirroring a influential caller, you only want exposure if their buy actually triggers a retail rush. If the KOL buys and the market ignores it, your slippage remains at 0% and the trade safely fails, protecting you from a dead play.
* **Protection:** The trade only executes if followers swarm the token immediately after the mirror, pushing the price up and confirming actual volume and momentum.

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# What is Dynamic Size strategy?

The Dynamic Size strategy allows you to automatically adjust your collateral when opening or increasing positions based on the behavior of the wallet you are mirroring. Instead of using a fixed collateral amount, OdinBot calculates your increase size as a percentage of the mirror’s collateral, letting you scale your exposure proportionally while still respecting your configured limits.

#### **Example 1**

Goal: You want to consistently increase positions by **0.5 SOL**, but only if the mirrored wallet increases by at least **5 SOL**. Smaller increases should be ignored.

Configuration:

* Minimum Increase Collateral: `0.4999 SOL`
* Multiplier: `10%`
* Max Increase Collateral: `0.5 SOL`

How it works:

1. Scenario A (Mirror increases by 5 SOL):
   * Calculation: 5 SOL × 10% = 0.5 SOL
   * Result: Meets Minimum and equals Max. OdinBot increases by 0.5 SOL.
2. Scenario B (Mirror increases by 4 SOL):
   * Calculation: 4 SOL × 10% = 0.4 SOL
   * Result: Below Minimum (`0.4999`). No increase is executed.
3. Scenario C (Mirror increases by 100 SOL):
   * Calculation: 100 SOL × 10% = 10 SOL
   * Result: Exceeds Max (`0.5`). OdinBot increases by 0.5 SOL (capped).

#### **Example 2**

Goal: You are copying a high-volume trader and want to scale proportionally at **1%**, while never increasing more than **1 SOL** per action.

Configuration:

* Minimum Increase Collateral: `0.01 SOL`
* Multiplier: `1%`
* Max Increase Collateral: `1.0 SOL`

How it works:

* If mirror increases by 10 SOL, OdinBot increases by 0.1 SOL.
* If mirror increases by 50 SOL, OdinBot increases by 0.5 SOL.
* If mirror increases by 200 SOL, the calculated amount is 2 SOL, but the bot caps it at 1.0 SOL.

#### **Example 3**

Goal: You are copying a wallet that increases positions with small collateral sizes (e.g., 0.1 SOL). You want to be more aggressive by increasing **2x their size**, while avoiding very small increases.

Configuration:

* Minimum Increase Collateral: `0.05 SOL`
* Multiplier: `200%`
* Max Increase Collateral: `2.0 SOL`

How it works:

* If mirror increases by 0.1 SOL, OdinBot increases by 0.2 SOL.
* If mirror increases by 0.02 SOL, the calculated amount is 0.04 SOL, which is below your Minimum (`0.05`). No increase is executed.

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# How can I export my Private Key?

Simply visit the app, navigate to your settings, and Export your private key.

<figure><img src="/files/zUqZ2muZH5jgEOBVnrWY" alt="" width="563"><figcaption></figcaption></figure>

Follow these guides to import your private key into Phantom or Solflare wallets:

{% embed url="<https://help.phantom.app/hc/en-us/articles/15079894392851-Importing-an-Existing-Wallet-into-Phantom>" %}

{% embed url="<https://docs.solflare.com/solflare/onboarding/web-app-and-extension/import-any-solana-wallet>" %}

**REMINDER**: Anyone who has access to this key has complete control over your wallet.

{% embed url="<https://youtu.be/8hD8B8UDWcA>" %}

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# Why is PnL pricing data incorrect/not updating?

The holdings page is not updated in real-time and may not display the most accurate information.

For the most accurate price, please use the dexscreener and Pump.fun links we provide on the holdings page.

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

{% content-ref url="/pages/aBX2gVO7Edp5vxhCJJpf" %}
[6. Frequently Asked Questions](/faqs/6.-frequently-asked-questions)
{% endcontent-ref %}


# 7. Most common issues with OdinBot not mirroring

{% embed url="<https://youtu.be/51KHs9M9rC8>" %}

There could be a few reasons why your account isn't following trades properly. Below are the most common issues and how to resolve them:

### 1. **Account Size vs. Trade Size:**

* Trades will not be initiated if your account size is too small compared to the trade sizes being executed. If your SOL **balance** is **below 0.1 SOL**, OdinBot may **not execute** trades. OdinBot will reserve a SOL buffer for the open positions to be closed. The buffer for buy transactions includes 20% of the trade size. **Note:** For higher speed tiers that buffer is increased.
* **Solution:** Decrease the trade amount or increase your account size to ensure trades can be executed within your available funds.

{% content-ref url="/pages/APHWvuRC3ZsQcm8njQX5" %}
[What are the optimal settings to start with?](/faqs/6.-frequently-asked-questions/what-are-the-optimal-settings-to-start-with)
{% endcontent-ref %}

{% content-ref url="/pages/vE9an6jTsFdSeN52ZYQH" %}
[What's the difference in speed tiers and which one to choose?](/faqs/6.-frequently-asked-questions/whats-the-difference-in-speed-tiers-and-which-one-to-choose)
{% endcontent-ref %}

### 2. **Pump.fun transactions failing due to slippage:**

* High token volatility often makes incorrect slippage settings a common reason for Pump.fun  trades not to be copied.

{% content-ref url="/pages/9hikdYX21Xm6T8Be1sSf" %}
[Pump.fun transactions failing due to slippage](/faqs/7.-most-common-issues-with-odinbot-not-mirroring/pump.fun-transactions-failing-due-to-slippage)
{% endcontent-ref %}

{% content-ref url="/pages/jUYcYHJPReMossLzule6" %}
[What's the Pump.fun slippage and how to configure it?](/faqs/6.-frequently-asked-questions/whats-the-pump.fun-slippage-and-how-to-configure-it)
{% endcontent-ref %}

### 3. **Low Liquidity Tokens:**

* Some of the wallets you are following might be trading low liquidity tokens in an attempt to farm profits from copy-traders, leaving you holding an illiquid asset ("holding the bag").
* **Security Measure:** OdinBot has slippage protection in place to prevent this from happening. This protection stops your account from executing trades that could result in significant losses due to illiquid tokens.

{% content-ref url="/pages/iGLujvVraEBDhzQw4Se1" %}
[Odinbot's price protection prevented execution of the trade](/faqs/7.-most-common-issues-with-odinbot-not-mirroring/odinbots-price-protection-prevented-execution-of-the-trade)
{% endcontent-ref %}

{% content-ref url="/pages/oGEaIhiuTYafN7mbK5WU" %}
[Wallets to Avoid When Copy-Trading](/tracking-academy/wallets-to-avoid-when-copy-trading)
{% endcontent-ref %}

### 4. **Tokens that do not have their Freeze Authority revoked:**

* OdinBot will not buy a token if the freeze authority of the token is not revoked. This is another security measure designed to protect your account from significant losses.

{% content-ref url="/pages/ZGeGp78tOsqoWU2cE3xp" %}
[What are the safety features of OdinBot?](/faqs/6.-frequently-asked-questions/what-are-the-safety-features-of-odinbot)
{% endcontent-ref %}

{% content-ref url="/pages/oGEaIhiuTYafN7mbK5WU" %}
[Wallets to Avoid When Copy-Trading](/tracking-academy/wallets-to-avoid-when-copy-trading)
{% endcontent-ref %}

### **5. Mirror Wallet Trade was less than 0.01 SOL:**

* OdinBot will not mirror trades if the wallet you are copying trades below the minimum threshold of 0.01 SOL. This is to prevent your SOL being drained from fees, and to protect your holdings from traders/bots that are not putting SOL at risk.

### **6. Unable to sell the Token from the Holdings page - Could not find any route:**

* This error happens when the token has little to no liquidity and Jupiter doesn't know how to sell it.
* **Solution:** You can manually sell these tokens by locating them on Dexscreener and trading directly through the liquidity pool, such as Raydium or Meteora. This method allows you to bypass the issue and liquidate your holdings.

{% content-ref url="/pages/hB9fk3wv7qvu8ScFoMcC" %}
[Unable to sell the Token from the Holdings page - Could not find any route](/faqs/7.-most-common-issues-with-odinbot-not-mirroring/unable-to-sell-the-token-from-the-holdings-page-could-not-find-any-route)
{% endcontent-ref %}

### 7. **Auto-Sell Profile not triggering:**

* Unsupported Market:\
  OdinBot’s Auto-Sell feature currently works only on LetsBonk, Meteora Dynamic AMM, Meteora Dynamic AMM V2, Meteora Dynamic Bonding Curve (DBC), Pump.fun, PumpSwap, Raydium Liquidity Pool V4, Raydium CPMM, and Raydium LaunchLab. If the token you are trying to sell is not traded in one of these markets, OdinBot won’t execute the Auto-Sell profile.
* Insufficient Liquidity:\
  Some traders will lure copy-traders into low liquidity tokens. OdinBot will not sell if there is less than 3 SOL in the liquidity pool to avoid accidentally selling tokens for nothing.
* Rapid Price Movements:\
  To ensure consistency, OdinBot requires the token’s price to remain within the target range for approximately 1–3 seconds. If the price briefly spikes into the range but drops below it immediately, the auto-sell will not execute.
* The Price Didn’t Hit Your Target:\
  Since OdinBot factors in fees when calculating PnL, the Take Profit and Stop Loss targets may be higher than anticipated.

{% content-ref url="/pages/5Cis7hkpIwjGFmwEm7MY" %}
[Auto-Sell Profile not triggering](/faqs/7.-most-common-issues-with-odinbot-not-mirroring/auto-sell-profile-not-triggering)
{% endcontent-ref %}

### 8. Trade bellow Min Slippage (%) (Error 3001):

* Your trade executed with a slippage lower than your configured Min Slippage (%).
* **Error Message:** `Instruction #4 Failed - custom program error: 3001`
* **Solution:** Set your Min Slippage (%) back to 0% (Default). This is a highly specialized feature designed for advanced traders who explicitly want other transactions to happen between the mirror and their own entry to validate momentum. If your goal is standard copy-trading without intentional delays, this value must remain at 0%.

{% content-ref url="/pages/7BM6ZArEXJD7htwjVvlU" %}
[When to use Min Slippage (%)?](/faqs/6.-frequently-asked-questions/when-to-use-min-slippage)
{% endcontent-ref %}


# Pump.fun transactions failing due to slippage

An incorrect slippage setting is a common reason why Pump.fun trades don’t get copied.

We can confirm if our transaction failed due to slippage % by using tools like Solscan, where viewing the transaction signature reveals if slippage was the cause.

1. Go to [**solscan.io**](https://solscan.io) and search for your wallet.
2. Look for the failed transaction that occurred at the time of the trade. (*has a red sign next to it*)

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

3. Open the transaction and you will see one of the following errors: \
   \&#xNAN;***"Program Error: "Instruction #4 Failed - custom program error: slippage: Too much SOL required to buy the given amount of tokens"***\
   \
   \&#xNAN;*or*\
   \
   ***"Program Error: "Instruction #4 Failed - custom program error: 6042 | Slippage: Would buy less tokens than expected min\_tokens\_out"***

<figure><img src="/files/qjO2JdSONcR9pncCOKME" alt=""><figcaption><p>An example of a failed transaction due to the slippage</p></figcaption></figure>

**Solution:** If you are willing to accept a higher price difference and would like to catch these trades regardless, increase the Pump.fun slippage %.

If you are uncertain how much should you increase the slippage %, you can follow these steps:

{% content-ref url="/pages/jUYcYHJPReMossLzule6" %}
[What's the Pump.fun slippage and how to configure it?](/faqs/6.-frequently-asked-questions/whats-the-pump.fun-slippage-and-how-to-configure-it)
{% endcontent-ref %}

{% embed url="<https://youtu.be/9i7QYPUn5X4>" %}

{% content-ref url="/pages/KSzIEauwQCi4vUcvk3tJ" %}
[7. Most common issues with OdinBot not mirroring](/faqs/7.-most-common-issues-with-odinbot-not-mirroring)
{% endcontent-ref %}


# Odinbot's price protection prevented execution of the trade

Odinbot ensures that trades are not copied if your entry price would be significantly less favorable compared to the wallet being mirrored.

To confirm that the transaction was not executed due to the Odin's safety features, we can use tools like Solscan, where viewing the transaction signature reveals if slippage was the cause.

1. Go to [**solscan.io**](https://solscan.io) and search for your wallet.
2. Look for the failed transaction that occurred at the time of the trade. (*has a red sign next to it*)
3. Open the transaction and you will see one of the following errors:&#x20;

&#x20;***"*****Program Error: "Instruction #7 Failed - Unknown instruction error"" -** If you see this error, scroll down until you see the *Program Logs* and under it you should be able to find the description of the error: ***Program log: Error: exceeds desired slippage limit**.*

***"Program Error: "Instruction #7 Failed - custom program error: exceeds desired slippage limit""***&#x20;

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

Enabling the [**Degen Mode**](https://docs.odinbot.io/setup-and-initialization/4.-odinbots-controls#toggle-degen-mode) bypasses the safety feature. \
**Note:** Does not affect Pump.fun transactions.

{% content-ref url="/pages/ZGeGp78tOsqoWU2cE3xp" %}
[What are the safety features of OdinBot?](/faqs/6.-frequently-asked-questions/what-are-the-safety-features-of-odinbot)
{% endcontent-ref %}

{% embed url="<https://youtu.be/2enhG7ETfpQ>" %}

{% content-ref url="/pages/KSzIEauwQCi4vUcvk3tJ" %}
[7. Most common issues with OdinBot not mirroring](/faqs/7.-most-common-issues-with-odinbot-not-mirroring)
{% endcontent-ref %}


# Unable to sell the Token from the Holdings page - Could not find any route

## 1. Token has no liquidity:

How to confirm:

* Open [Dexscreener](https://dexscreener.com/) and search for the token by pasting its Token address.
* Once opened, click on the **pair button** located on the Dexscreener token page. This will redirect you to the token’s pair page on [Solscan](https://solscan.io/).

<figure><img src="/files/y8QOwaIJpKZGcEOLPVPO" alt="" width="303"><figcaption></figcaption></figure>

* Verify if the token has no liquidity.

<figure><img src="/files/1DvQ3fcbTHXwqgRQSbdS" alt="" width="563"><figcaption></figcaption></figure>

* If the Token has no liquidity, you can decide to burn it or keep it in your wallet.

{% hint style="danger" %}
Burning a Token means permanently destroying your portion of the total supply.
{% endhint %}

{% embed url="<https://solana.com/developers/courses/tokens-and-nfts/token-program-advanced#burn-tokens>" %}

## 2. Token has liquidity:

How to confirm:

* Open [Dexscreener](https://dexscreener.com/) and search for the token by pasting its Token address.
* Confirm on which platform the token is being traded.

<figure><img src="/files/FTkOZMDheV2e6mhQl55P" alt="" width="563"><figcaption></figcaption></figure>

* Once opened, click on the **pair button** located on the Dexscreener token page. This will redirect you to the token’s pair page on [Solscan](https://solscan.io/).

<figure><img src="/files/HYsZ5R7BrKP7hP3pmjpc" alt="" width="300"><figcaption></figcaption></figure>

* Verify the liquidity pool and the token's available liquidity.

<figure><img src="/files/oSVTSrORBM0hbSTrUelK" alt="" width="563"><figcaption></figcaption></figure>

* After verifying that the token has liquidity, import Odin's private key into a Solana wallet of your choice and proceed to sell the token.

{% content-ref url="/pages/IhcF2vLGuMk6o1TVkqnz" %}
[How can I export my Private Key?](/faqs/6.-frequently-asked-questions/how-can-i-export-my-private-key)
{% endcontent-ref %}

<details>

<summary>How to manually sell on the <a href="https://raydium.io/swap/">Raydium</a> platform:</summary>

* Once you have imported Odin’s private key into your Solana wallet, open Raydium platform.
* Click on the "Connect Wallet" button.

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

* From the options pop-up, choose the wallet where you imported Odin's private key.

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

* After connecting your wallet to the Raydium platform, open the "Trades" tab in OdinBot and find the token you wish to sell.
* Click on the token, then click the "Copy token mint address" button.
* Navigate back to the Raydium platform and paste the copied token mint address into the search bar.

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

* Proceed to sell the token.

</details>

<details>

<summary>How to manually sell on the <a href="https://dexscreener.com/solana">Dexscreener</a> platform:</summary>

* Once you have imported Odin’s private key into your Solana wallet, open Dexscreener.
* Click on the "Sign-in" button.

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

* When the pop-up appears, choose the option "Connect Wallet".

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

* From the options pop-up, choose the wallet where you imported Odin's private key.

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

* After connecting your wallet to Dexscreener, open the "Trades" tab in OdinBot and find the token you wish to sell.
* Click on the token, then click the "View in Dexscreener" button.

<figure><img src="/files/LSZRXJ0muoTX6tfCFRCx" alt="" width="152"><figcaption></figcaption></figure>

* Proceed to sell the token.

<figure><img src="/files/b5NITNQ7lFHzbQEsBhCb" alt="" width="290"><figcaption></figcaption></figure>

</details>

{% content-ref url="/pages/KSzIEauwQCi4vUcvk3tJ" %}
[7. Most common issues with OdinBot not mirroring](/faqs/7.-most-common-issues-with-odinbot-not-mirroring)
{% endcontent-ref %}


# Auto-Sell Profile not triggering

## 1. Unsupported Market

OdinBot’s Auto-Sell feature currently works only on the following markets, which are also the most commonly used for trading:

* LetsBonk
* Meteora Dynamic AMM
* Meteora Dynamic AMM V2
* Meteora Dynamic Bonding Curve (DBC)
* Pump.fun
* PumpSwap (Pump.fun AMM)
* Raydium Liquidity Pool V4 and Raydium CPMM
* Raydium LaunchLab

If the token you are trying to sell is not traded on one of these supported markets, OdinBot won’t execute your Auto-Sell profile.

How to confirm:

* Open [Dexscreener](https://dexscreener.com/) and search for the token by pasting its Token address.
* Check the search results. If only **one pool** is displayed, click on that pool.

<figure><img src="/files/FOdbOGcS6s8dAJRZMaMV" alt="" width="563"><figcaption></figcaption></figure>

* Once opened, click on the **pair button** located on the Dexscreener token page. This will redirect you to the token’s pair page on [Solscan](https://solscan.io/).

<figure><img src="/files/wTtfmLUSbmrjpVNJsseb" alt="" width="298"><figcaption></figcaption></figure>

* Verify the liquidity pool.

<figure><img src="/files/aVh3iNBWOTN3VSCyOBvj" alt="" width="563"><figcaption></figcaption></figure>

## 2. Insufficient Liquidity

OdinBot will not sell if there is less than 3 SOL in the liquidity pool to avoid accidentally selling tokens for nothing.&#x20;

* Example: The token was completely rugged and all liquidity was removed.&#x20;

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

How to confirm:

* Open [Dexscreener](https://dexscreener.com/) and search for the token by pasting its Token address.
* Once opened, click on the **pair button** located on the Dexscreener token page. This will redirect you to the token’s pair page on [Solscan](https://solscan.io/).
* Verify if the token has any liquidity left.

<figure><img src="/files/yker4WchCpVB4TiYwrUs" alt="" width="563"><figcaption></figcaption></figure>

## 3. Rapid Price Movements:

OdinBot requires the token’s price to remain within your Auto-Sell target range for about 1–3 seconds. This is roughly the amount of time it takes for a Solana transaction to be confirmed. If the price briefly spikes into your target range but immediately drops below it, the auto-sell won’t execute.

How to confirm:

* Navigate to Odin’s Trade Page, locate the token you purchased, click on it, and open the Dexscreener link.

<figure><img src="/files/NJIvLUrBd8OgMy7By0kY" alt="" width="160"><figcaption></figcaption></figure>

* Set the candles to 1s, click the "Makers" button, and add your wallet.

<figure><img src="/files/1RQG5MvFH2QGbo3XYFQp" alt=""><figcaption></figcaption></figure>

* Confirm if the price of the token remained within the targeted range for 1–3 seconds. If there was a sudden spike followed by a drop, Odin will not initiate the sell.

## 4. The Price Didn’t Hit Your Target:

OdinBot includes fees in PnL calculations, which can make Take Profit and Stop Loss targets higher than expected.

How to calculate the target price range:

* Navigate to Odin’s Trade Page, locate the token you purchased.
* Click the "View your transaction" button located on the far right.

<figure><img src="/files/4dfzT3v9chjACM1wVtY3" alt="" width="160"><figcaption></figcaption></figure>

* In Solscan, open the "SOL Balance Change" tab and check the total amount of SOL spent for the transaction.

{% content-ref url="/pages/WDC1MpbBK9llgXN1jsJE" %}
[How to Look at Your Fees](/tracking-academy/how-to-look-at-your-fees)
{% endcontent-ref %}

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

* After noting your total cost, open the "Token Balance Change" tab and check the total number of tokens received.

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

* Calculate the Price per token **(P)**:

<figure><img src="/files/iE0uhuevmbGP3xee0qAP" alt="" width="298"><figcaption></figcaption></figure>

Example: \
Price per token (P) = 0.129410851 SOL / 3,277,637.037856\
Price per token (P) ≈ 0.0000000395 SOL/token<br>

* To calculate a Take Profit **(TP)** target at a profit of for example 30%:

<figure><img src="/files/h8h3yKi5O3h77DH6qEcr" alt="" width="191"><figcaption></figcaption></figure>

<figure><img src="/files/y6ewdgKtbyErO3KdoBcn" alt="" width="137"><figcaption></figcaption></figure>

TP =  0.0000000395 SOL x 1.30

Take Profit targeted price ≈ 0.00000005135 SOL/token<br>

* To calculate a Stop Loss **(SL)** target at a loss of for example 30%:

<figure><img src="/files/GBXF3sRg2TdF5zerWdgd" alt="" width="178"><figcaption></figcaption></figure>

<figure><img src="/files/DHiyYp7UYXBmAyiEotO4" alt="" width="143"><figcaption></figcaption></figure>

SL = 0.0000000395 SOL x 0.70

Stop Loss targeted price  ≈ 0.00000002765 SOL/token<br>

* Find the token on Dexscreener, set the candles to 1s, and ensure the price is displayed in SOL instead of USD.

<figure><img src="/files/3czdjiQrOUDyrOv2xVFe" alt=""><figcaption><p>Example Token</p></figcaption></figure>

{% content-ref url="/pages/KSzIEauwQCi4vUcvk3tJ" %}
[7. Most common issues with OdinBot not mirroring](/faqs/7.-most-common-issues-with-odinbot-not-mirroring)
{% endcontent-ref %}


# 8. Odin's Alpha - Potential wallets to mirror

When you join the OdinBot [Discord](https://discord.gg/odinbot), you will also get access to "Odin's Alpha" channel, a daily drop of wallets provided by an algorithm that searches for recently high-performing wallets.&#x20;

These wallets are provided as a starting point for further research by you, the copy trader.&#x20;

However, recent performance is no guarantee of future performance. Some wallets may perform well on their own but may not be ideal for copy trading because of lower-margin wins and copy farming.

{% hint style="warning" %}
You can use these wallets as a starting point for your research, but we don’t recommend blindly copying them. We suggest testing with a low trade size, such as 0.xx, and setting controls to limit the number of trades. Once you find wallets that perform well for you, you can gradually increase your trade size.
{% endhint %}


# What is OdinBot Pro and how to start using it?

OdinBot Pro is a high-speed wallet screener and analyzer for Solana copy-traders. It filters millions of wallets instantly, runs on live data, and is fully integrated with OdinBot so you can go from discovery to mirroring without leaving the platform.

<figure><img src="https://app.odinbot.io/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fodinbot-pro-screener.ffd15b0a.png&#x26;w=3840&#x26;q=75" alt=""><figcaption></figcaption></figure>

### Who is it for?

* Experienced copy-traders who want to scale disciplined strategies
* New copy-traders who need a reliable way to find wallets worth mirroring
* Researchers who want token level drilldowns without limits

### Why OdinBot Pro?

* Find top traders before the herd
* Screen millions of wallets in under a second
* Eliminate guesswork with clear, comparable performance metrics
* Go from discovery to mirroring without leaving OdinBot

## How to start using OdinBot Pro?

* Navigate to your OdinBot account
* Hit the "**Wallet Screener**" button
* From the Wallet Screener section hit the "**Buy Pro Now**" button
* Proceed with the checkout

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

{% hint style="info" %}
We want you to be able to try Odinbot Pro **risk-free**. Receive a **100% refund** for any reason within 72 hours of purchase by creating a ticket in our discord
{% endhint %}

{% content-ref url="/pages/0eP4H2uJShvXBYHtY2He" %}
[Filters](/odinbot-pro/filters)
{% endcontent-ref %}

{% content-ref url="/pages/22r3p8L0OIrEAZYzPOaJ" %}
[Wallet Analysis](/odinbot-pro/wallet-analysis)
{% endcontent-ref %}


# Filters

Below is a complete list of all available filters. They can be applied individually, combined, or left unused.

| List of all available filters                           | Description                                                                                      |
| ------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| [Last activity](#last-activity)                         | Time of the last buy or sell swap (in hours)                                                     |
| [Current SOL balance](#current-sol-balance)             | Last known state of the SOL balance                                                              |
| [Trades](#trades)                                       | Number of trades performed (pair of buy and sell of a token for the same token amount)           |
| [Swaps](#swaps)                                         | Number of swaps performed - a single buy or sell of a token using SOL or stablecoin (USDC, USDT) |
| [Active days](#active-days)                             | The number of days the wallet was active (had at least 1 swap) from the specified time-frame     |
| [Bot usage percentage](#bot-usage-percentage)           | Percentage of bot traded tokens                                                                  |
| [Successful tokens traded](#successful-tokens-traded)   | Number of win trades                                                                             |
| [Failed tokens traded](#failed-tokens-traded)           | Number of loss trades                                                                            |
| [Hold time](#hold-time)                                 | Median between the initial buy swap and the last sell swap in seconds for each token traded      |
| [First detected activity](#first-detected-activity)     | First detected activity since 29 Mar 2025 - can be considered the wallet’s age                   |
| [Tokens traded](#tokens-traded)                         | Number of tokens traded                                                                          |
| [Tokens swapped](#tokens-swapped)                       | Number of tokens swapped                                                                         |
| [Success rate](#success-rate)                           | Percentage of successful trades                                                                  |
| [Trade rate](#trade-rate)                               | Percentage of tokens traded versus tokens swapped only                                           |
| [Total buy](#total-buy)                                 | Total amount of SOL spent on buying tokens                                                       |
| [Average buy](#average-buy)                             | Average buy per swap in SOL                                                                      |
| [Median buy market cap USD](#median-buy-market-cap-usd) | Median market cap at the time of buying                                                          |
| [Total sell](#total-sell)                               | Total amount of SOL received from selling tokens                                                 |
| [Trade PnL](#trade-pnl)                                 | Trade PnL is calculated only for completed trades and not for individual swaps                   |
| [Trade RoI](#trade-roi)                                 | Average return on investment for trades in %                                                     |
| [Median RoI](#median-roi)                               | Median per token return on investment in %                                                       |

***

### Last activity

Time of the last buy or sell swap (in hours)

<figure><img src="/files/nJgyetWgVU0DOVCVYivy" alt="" width="323"><figcaption></figcaption></figure>

* Older than (hours) is the **maximum** time of the last buy or sell swap
* Newer than (hours) is the **minimum** time of the last buy or sell swap

#### Example:

Setting the parameters to "**Older than 24**" and "**Newer than 12**" hours, we will only list wallets that had their last buy or sell swap in the given time period.

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

Sorted by "**Last activity**" Ascending:

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

***

### Current SOL balance

Last known state of the SOL balance

<figure><img src="/files/1Y08djystMSvGXxOKSSR" alt="" width="320"><figcaption></figcaption></figure>

* Min SOL represents the **minimum** amount of SOL a wallet can have
* Max SOL represents the **maximum** amount of SOL a wallet can have

#### Example:

Setting the parameters to "**Min SOL 1**" and "**Max SOL 77**", we will only list wallets that have a current SOL balance within the entered range.

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

Sorted by "**Current SOL balance**" Ascending:

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

***

### Trades

A trade is a pair of buy and sell of a token for the same token amount

<figure><img src="/files/93uKhRMqLagCiuxUIfXg" alt="" width="322"><figcaption></figcaption></figure>

* Min Trades represents the **minimum** number of trades (*a buy followed by a sell for the same token amount*) a wallet can have&#x20;
* Max Trades represents the **maximum** number of trades (*a buy followed by a sell for the same token amount*) a wallet can have

#### Example:

Setting the parameters to "**Min Trades 2**" and "**Max Trades 7**", we will only list wallets that had that number of completed trades (pair of buy and sell of a token for the same token amount).

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

Sorted by "**Trades**" Ascending:

<figure><img src="/files/8Cvq33QE6w5vEKFH9Oap" alt=""><figcaption></figcaption></figure>

***

### Swaps

A swap is a single buy or sell of a token using SOL or stablecoin (USDC, USDT)

<figure><img src="/files/CekcoZwAMt0cOGrsWFOG" alt="" width="322"><figcaption></figcaption></figure>

* Min Swaps is the **minimum** number of swaps (buy or sell) a wallet can have
* Max Swaps is the **maximum** number of swaps (buy or sell) a wallet can have

#### Example:

Setting the parameters to "**Min Swaps 4**" and "**Max Swaps 12**", we will only list wallets that had that number of swaps (a single buy or sell of a token)

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

Sorted by "**Swaps**" Ascending:

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

***

### Active days

The number of days the wallet was active (had at least 1 swap) from the specified time-frame

<figure><img src="/files/YWv7CU0msrEjmD81bdA1" alt="" width="323"><figcaption></figcaption></figure>

* Min Days / Max Days represents the time-frame of the most recent day when the wallet had a swap

#### Example:

Setting the parameters to "**Min Days 1**" and "**Max Days 7**", we will only list wallets that had their last swap in the given time period.

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

Sorted by "**Active days**" Ascending:

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

***

### Bot usage percentage

Percentage of bot-traded tokens

<figure><img src="/files/rX4ZNRLSqCW3xvBRcy2h" alt="" width="323"><figcaption></figcaption></figure>

* Min % / Max % of tokens that had bot activity

#### Example:

Setting the parameters to "**Min % 0**" and "**Max % 40**", we will only list wallets with a bot-traded token percentage in that range.

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

Sorted by "**Bot usage percentage**" Descending:

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

***

### Successful tokens traded

Number of winning trades (pair of buy and sell of a token for the same token amount)

<figure><img src="/files/95vqcanJEF6TVexpdBxf" alt="" width="324"><figcaption></figcaption></figure>

* Min number of tokens that had a positive outcome
* Max number of tokens that had a positive outcome

#### Example:

Setting the parameters to "**Min 10**" and "**Max 20**", we will only list wallets that had the entered number of winning trades.

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

Sorted by "**Successful tokens traded**" Ascending:

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

***

### Failed tokens traded

Number of losing trades (pair of buy and sell of a token for the same token amount)

<figure><img src="/files/LRv0XAWvgeCjLhznCiYL" alt="" width="324"><figcaption></figcaption></figure>

* Min number of tokens that had a negative outcome
* Max number of tokens that had a negative outcome

#### Example:

Setting the parameters to "**Min 3**" and "**Max 10**", we will only list wallets that had the entered number of losing trades.

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

Sorted by "**Failed tokens traded**" Ascending:

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

***

### Hold time

Median time between the initial buy swap and the last sell swap in seconds for each token traded

<figure><img src="/files/QBuJlNLvj0W8WyNOb03e" alt="" width="324"><figcaption></figcaption></figure>

* Min Seconds represents the **minimum** time that passed between the initial buy swap and the last sell swap for each token traded in seconds
* Max Seconds represents the **maximum** time that passed between the initial buy swap and the last sell swap for each token traded in seconds

#### Example:

Setting the parameters to "**Min Seconds 200**" and "**Max Seconds 1000**", we will only list wallets that have a hold time within the entered range.

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

Sorted by "**Hold time**" Ascending:

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

***

### First detected activity

First detected activity since 29 Mar 2025 - can be considered the wallet's age

<figure><img src="/files/zwoKVn6SbcbkLzHeUJ1d" alt="" width="323"><figcaption></figcaption></figure>

* Min Days / Max Days represents the time-frame when the wallet could have had its first detected activity

#### Example:

Setting the parameter "**Max Days 20**", we will only list wallets at least 20 days old.

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

Sorted by "**First detected activity**" Descending:

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

***

### Tokens traded

Number of unique tokens traded

<figure><img src="/files/5uE4VeVbis1IHtVIn9pG" alt="" width="328"><figcaption></figcaption></figure>

* Min / Max number of tokens traded (pair of buy and sell of a token for the same token amount)

#### Example:

Setting the parameters to "**Min 5**" and "**Max 10**", we will only list wallets that had the entered number of tokens traded.

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

Sorted by "**Tokens traded**" Ascending:

<figure><img src="/files/8DYqOlnlrisIGbw1Sr0q" alt=""><figcaption></figcaption></figure>

***

### Tokens swapped

Number of unique tokens swapped

<figure><img src="/files/3Ib9qn1OL41wuhNvSaQR" alt="" width="324"><figcaption></figcaption></figure>

* Min / Max number of unique tokens swapped

#### Example:

Setting the parameters to "**Min 10**" and "**Max 20**", we will only list wallets that had the entered number of unique tokens swapped.

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

Sorted by "**Tokens swapped**" Ascending:

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

***

### Success rate

Percentage of successful trades (pair of buy and sell of a token for the same token amount)

<figure><img src="/files/pw7qZ09r0T8bJ03IA8H9" alt="" width="326"><figcaption></figcaption></figure>

* Min / Max percentage of successful trades

#### Example:

Setting the parameters to "**Min % 50**" and "**Max % 90**", we will only list wallets that had a success rate in that range.

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

Sorted by "**Success rate**" Ascending:

<figure><img src="/files/06ualChx65JU9Hqpwtra" alt=""><figcaption></figcaption></figure>

***

### Trade rate

Percentage of tokens traded versus tokens swapped only

<figure><img src="/files/PnySK16dvjCPvjHtsj5p" alt="" width="326"><figcaption></figcaption></figure>

* Min / Max percentage of tokens traded (pair of buy and sell of a token for the same token amount)

#### Example:

Setting the parameters to "**Min % 30**" and "**Max % 70**", we will only list wallets that had a trade rate in that range.

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

Sorted by "**Trade rate**" Ascending:

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

***

### Total buy

Total amount of SOL spent on buying tokens

<figure><img src="/files/txYIOnuSMw5Zy6EYaCXM" alt="" width="323"><figcaption></figcaption></figure>

* Min SOL spent on buying tokens
* Max SOL spent on buying tokens

#### Example:

Setting the parameters to "**Min SOL 1**" and "**Max SOL 3**", we will only list wallets that spent that amount of SOL on buying tokens.

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

Sorted by "**Total buy**" Ascending:

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

***

### Average buy

Average buy per swap in SOL

<figure><img src="/files/bEWuWAftsmRBPjrNh0D2" alt="" width="323"><figcaption></figcaption></figure>

* Min SOL spent on average per swap
* Max SOL spent on average per swap

#### Example:

Setting the parameters to "**Min SOL  1**" and "**Max SOL 3**", we will only list wallets that spent that amount of SOL on average per swap.

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

Sorted by "**Average buy**" Ascending:

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

***

### Median buy market cap USD

Median market cap at the time of buying

<figure><img src="/files/lEON3fgZla3kB7vhPGNf" alt="" width="324"><figcaption></figcaption></figure>

* Min USD represents the **minimum** median market cap at the time of buying a token
* Max USD represents the **maximum** median market cap at the time of buying a token

#### Example:

Setting the parameters to "**Min USD 10000**" and "**Max USD 70000**", we will only list wallets that have a median market cap at the time of buying within that range.

<figure><img src="/files/5eqDco1XdAaBAcVy5vWJ" alt=""><figcaption></figcaption></figure>

Sorted by "**Median buy market cap USD**" Ascending:

<figure><img src="/files/0Ah4pf8zQsuyQzIt2H3E" alt=""><figcaption></figcaption></figure>

***

### Total sell

Total amount of SOL received from selling tokens

<figure><img src="/files/RDDJCiLDVKk2k9rU66pA" alt="" width="327"><figcaption></figcaption></figure>

* Min SOL represents the **minimum** amount of SOL the wallet received from selling tokens
* Max SOL represents the **maximum** amount of SOL the wallet received from selling tokens

#### Example:

Setting the parameters to "**Min SOL 10**" and "**Max SOL 30**", we will only list wallets that received that amount of SOL from selling tokens.

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

Sorted by "**Total sell**" Descending:

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

***

### Trade PnL

Trade PnL is calculated only for completed trades and not for individual swaps

<figure><img src="/files/clQgnZ8EFX7CUnsS7Hbe" alt="" width="327"><figcaption></figcaption></figure>

* Min SOL represents the **minimum** profit for completed trades
* Max SOL represents the **maximum** profit for completed trades

#### Example:

Setting the parameters to "**Min SOL 10**" and "**Max SOL 200**", we will only list wallets that had profit for completed trades in that range.

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

Sorted by "**Trade PnL**" Ascending:

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

***

### Trade RoI

Average return on investment for trades in %

<figure><img src="/files/Jxh7eEgeAxA7HBpinfes" alt="" width="326"><figcaption></figcaption></figure>

* Min / Max percentage of average return on investment for trades

#### Example:

Setting the parameters to "**Min % 100**" and "**Max % 700**", we will only list wallets that had average return on investment for trades in that range:

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

Sorted by "**Trade RoI**" Descending:

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

***

### Median RoI

Median per token return on investment in %

<figure><img src="/files/MAk8oPEPvwQfunlgB1do" alt="" width="325"><figcaption></figcaption></figure>

* Min / Max median return on investment per token in percent

#### Example:

Setting the parameters to "**Min % 50**" and "**Max % 400**", we will only list wallets that had median per token return on investment in that range:

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

Sorted by "**Median RoI**" Ascending:

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

***

{% content-ref url="/pages/22r3p8L0OIrEAZYzPOaJ" %}
[Wallet Analysis](/odinbot-pro/wallet-analysis)
{% endcontent-ref %}


# Wallet Analysis

Analyze an individual wallet by entering its address or selecting one from the results list.

## Analysing a wallet from the list

1. Click the wallet you want to analyze in the results
2. Choose "**Analyze with OdinBot Pro"**

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

## Manually inputting a wallet address

1. Paste or enter the wallet address in the "**Quick Analyzer"** field
2. Press **Enter**, or select the button to the right of the input field

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

## Wallet statistics

Below is a complete list of all available information for the wallet.

| List of all available metrics                       | Description                                                                                                     |
| --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| [Current Balance](#current-balance)                 | Last known state of the SOL balance                                                                             |
| [First Activity](#first-activity)                   | First detected activity since 29 Mar 2025 - can be considered the wallet’s age                                  |
| [Last Activity](#last-activity)                     | Time of the last buy or sell swap (in days)                                                                     |
| [Days Active (of last 7d)](#days-active-of-last-7d) | The number of days the wallet was active (had at least 1 swap) of last 7 days                                   |
| [Bot usage %](#bot-usage)                           | Percentage of bot traded tokens                                                                                 |
| [Success Rate](#success-rate)                       | Percentage of completed trades (buy + sell pair) that closed with profit - can be considered as winrate         |
| [Trades (Wins/Losses)](#trades-wins-losses)         | Count of completed trades split into profitable (wins) and unprofitable (losses)                                |
| [Tokens (Wins/Losses)](#tokens-wins-losses)         | Number of unique tokens traded that ended profitably versus those that ended at a loss                          |
| [Median RoI](#median-roi)                           | The median return on investment per token in percent                                                            |
| [Trade RoI %](#trade-roi)                           | The average return on investment across all completed trades in percent                                         |
| [Trade Rate](#trade-rate)                           | Percentage of tokens fully traded (both bought and later sold) compared to tokens only swapped                  |
| [Total Trades](#total-trades)                       | Total number of completed trades, each defined as a buy followed by a sell of the same token in the same amount |
| [Tokens Traded](#tokens-traded)                     | Number of unique tokens with at least one completed trade                                                       |
| [Swaps](#swaps)                                     | Total number of individual buys or sells performed by the wallet                                                |
| [Tokens swapped](#tokens-swapped)                   | Number of unique tokens involved in at least one swap                                                           |
| [Average Hold Time](#average-hold-time)             | The median time (in seconds) between the first buy and the last sell for each token traded                      |
| [Med Market Cap](#med-market-cap)                   | The median market capitalization of tokens at the time the wallet bought them                                   |
| [Total Pnl](#total-pnl)                             | Net profit or loss across all completed trades in SOL and USD                                                   |
| [PnL from Successes](#pnl-from-successes)           | Total profit generated from winning trades                                                                      |
| [PnL from Failures](#pnl-from-failures)             | Total loss generated from losing trades                                                                         |
| [Average Buy](#average-buy)                         | Average size of each buy swap, expressed in SOL and USD                                                         |
| [Total Buy](#total-buy)                             | Total SOL spent on buying tokens                                                                                |
| [Total Sell](#total-sell)                           | Total SOL received from selling tokens                                                                          |

***

### Current Balance

The last known SOL balance of the wallet.

#### Example:

<figure><img src="/files/907EqI5bCe63SSa6ZHDL" alt=""><figcaption></figcaption></figure>

***

### First Activity

First detected activity since 29 Mar 2025 - can be considered the wallet’s age.

#### Example:

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

***

### Last Activity

Time of the last buy or sell swap (in days).

#### Example:

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

***

### Days Active (of last 7d)

The number of days the wallet was active (had at least 1 swap) of last 7 days.

#### Example:

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

***

### Bot usage %

Percentage of bot traded tokens.

#### Example:

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

***

### Success Rate

Percentage of completed trades (buy + sell pair) that closed with profit - can be considered as winrate.

#### Example:

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

***

### Trades (Wins/Losses)

Count of completed trades split into profitable (wins) and unprofitable (losses).

#### Example:

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

***

### Tokens (Wins/Losses)

Number of unique tokens traded that ended profitably versus those that ended at a loss.

#### Example:

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

***

### Median RoI

The median return on investment per token, in percent.

#### Example:

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

***

### Trade RoI %

The average return on investment across all completed trades, in percent.

#### Example:

<figure><img src="/files/5BUd32MdpFqGNqAnpDmc" alt=""><figcaption></figcaption></figure>

***

### Trade Rate

Percentage of tokens fully traded (both bought and later sold) compared to tokens only swapped. A value of 100% means the wallet closed every token position it opened.

#### Example:

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

***

### Total Trades

Total number of completed trades, each defined as a buy followed by a sell of the same token in the same amount.

#### Example:

<figure><img src="/files/0savLTiYbeEic8oW19QT" alt=""><figcaption></figcaption></figure>

***

### Tokens Traded

Number of unique tokens with at least one completed trade.

#### Example:

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

***

### Swaps

Total number of individual buys or sells performed by the wallet.

#### Example:

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

***

### Tokens swapped

Number of unique tokens involved in at least one swap.

#### Example:

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

***

### Average Hold Time

The median time (in seconds) between the first buy and the last sell for each token traded.

#### Example:

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

***

### Med Market Cap

The median market capitalization of tokens at the time the wallet bought them.

#### Example:

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

***

### Total Pnl

Net profit or loss across all completed trades in SOL and USD.

#### Example:

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

***

### PnL from Successes

Total profit generated from winning trades.

#### Example:

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

***

### PnL from Failures

Total loss generated from losing trades.

#### Example:

<figure><img src="/files/0fQlrtyfNAOLxZRwY6p1" alt=""><figcaption></figcaption></figure>

***

### Average Buy

Average size of each buy swap, expressed in SOL and USD.

#### Example:

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

***

### Total Buy

Total SOL spent on buying tokens.

#### Example:

<figure><img src="/files/5indyry03inKSNOkP5sv" alt=""><figcaption></figcaption></figure>

***

### Total Sell

Total SOL received from selling tokens.

#### Example:

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

***

## Tokens Traded (7d)

Shows the tokens the wallet traded over the past 7 days, giving a clear view of its activity and performance with each asset.

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

***

## SOL Transfers (7d)

Shows where SOL flowed to and from this wallet over the past week, grouped by the other wallets involved. Helps identify recurring transfer patterns.

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

***

## Recent Transfers

A chronological log of the latest SOL transfers, including date, amount, and the sending and receiving wallets. This provides transaction-level detail to complement the 7-day summary.

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

***

{% content-ref url="/pages/0eP4H2uJShvXBYHtY2He" %}
[Filters](/odinbot-pro/filters)
{% endcontent-ref %}


# Trading Strategies

Whether you are a total beginner or already have experience, you can use the strategies shared by our community to your advantage. Take the time to learn, sharpen your skills, and dive into the hunt!

A guide on mindset, risk management, and strategies to stay disciplined and succeed with OdinBot:&#x20;

{% content-ref url="/pages/ks2JKefKi9TTQVfQDGfp" %}
[Risk Management and Trade Strategies - charlespurrgeon](/tracking-academy/trading-strategies/risk-management-and-trade-strategies-charlespurrgeon)
{% endcontent-ref %}

Learn how to protect your capital and maximize returns in Solana copy-trading by avoiding nine critical pitfalls:

{% content-ref url="/pages/S00B8IM43ey1c6w8R1uB" %}
[The 9 Critical Copy-Trading Mistakes to Avoid - Vic](/tracking-academy/trading-strategies/the-9-critical-copy-trading-mistakes-to-avoid-vic)
{% endcontent-ref %}

Learn how liquidity impacts copy-trading, affects price movement, and influences your profitability on OdinBot:

{% content-ref url="/pages/vexLOXE4zrDQulkQhwwt" %}
[Why Liquidity Matters in Copy-Trading](/tracking-academy/trading-strategies/why-liquidity-matters-in-copy-trading)
{% endcontent-ref %}

Learn how to evaluate wallets for copy-trading, focusing on key metrics like win rate, ROI, and trading patterns to make smarter decisions:

{% content-ref url="/pages/4cRPnxuFo4e7ybe0Rry7" %}
[How to Choose Wallets for Copy-Trading - atomic\_rasta](/tracking-academy/trading-strategies/how-to-choose-wallets-for-copy-trading-atomic_rasta)
{% endcontent-ref %}

Discover how to investigate wallets for copy-trading by analyzing trader strategies, performance metrics, and trading patterns:

{% content-ref url="/pages/gPg2WEiWR0l3q2CVJQSx" %}
[Investigating Wallets for Copy-Trading - vect](/tracking-academy/trading-strategies/investigating-wallets-for-copy-trading-vect)
{% endcontent-ref %}

A guide to analyzing wallets for copy-trading, including tips on spotting profitable patterns and avoiding common pitfalls:

{% content-ref url="/pages/8r80B8hJzcd7UhFtj3eV" %}
[The Hidden Pitfalls of Copy-Trading: A Guide to Smarter Strategies - Vic](/tracking-academy/trading-strategies/the-hidden-pitfalls-of-copy-trading-a-guide-to-smarter-strategies-vic)
{% endcontent-ref %}

Learn how to leverage Pump.fun for copy-trading success with insights into market patterns, strategies, and risk management:

{% content-ref url="/pages/8a1L3fn8Uyw9CKJVer0P" %}
[Pump.fun Explained: A Guide to Copy-Trading Success - Vic](/tracking-academy/trading-strategies/pump.fun-explained-a-guide-to-copy-trading-success-vic)
{% endcontent-ref %}

Learn how to begin your copy-trading journey with OdinBot using strategies for risk management, wallet selection, and trade configuration. Start small, stay consistent, and grow confidently:

{% content-ref url="/pages/Lnu130zjGks59ftuFiI6" %}
[Start Small and Build Up: A Beginner's Guide to Copy-Trading with OdinBot](/tracking-academy/trading-strategies/start-small-and-build-up-a-beginners-guide-to-copy-trading-with-odinbot)
{% endcontent-ref %}

A Coin Flip Tactic for Copy-Trading: Embrace calculated risk by mirroring high-ROI wallets with balanced win rates. Analyze patterns and stay adaptive to maximize potential gains while managing losses:

{% content-ref url="/pages/UVZAeV3rEFK8jeW5CDFB" %}
[A Coin Flip Tactic for Copy-Trading](/tracking-academy/trading-strategies/a-coin-flip-tactic-for-copy-trading)
{% endcontent-ref %}

Trace transactions from ChangeNow and SimpleSwap.io by identifying wallet patterns and tracking fund movements:

{% content-ref url="/pages/kwT4czYpmFBNy5UQuwrT" %}
[How to Reverse ChangeNow & SimpleSwap.io Transactions - Vic](/tracking-academy/trading-strategies/how-to-reverse-changenow-and-simpleswap.io-transactions-vic)
{% endcontent-ref %}

Learn how to identify early buyers using Dexscreener to spot high potential wallets and refine your copy-trading strategy with OdinBot:

{% content-ref url="/pages/STHQJoyajIZxYg3Qy9um" %}
[How to Find Early Buyers Using Dexscreener - Vic](/tracking-academy/trading-strategies/how-to-find-early-buyers-using-dexscreener-vic)
{% endcontent-ref %}

A guide to identifying profitable and reliable wallets for copy-trading by analyzing key metrics such as win rate, ROI, token quality, holding duration, trading frequency, and copy-trading saturation:

{% content-ref url="/pages/0kdFBuI39r8tjQnDIF1c" %}
[How to Spot a Great Wallet for Copy-Trading - Vic](/tracking-academy/trading-strategies/how-to-spot-a-great-wallet-for-copy-trading-vic)
{% endcontent-ref %}

Explore behavioral wallet analysis, highlighting how trading patterns, position sizing, and market adaptation provide deeper insights beyond traditional metrics like win rate and ROI:

{% content-ref url="/pages/92VvKdQq0hrhfqz6qNua" %}
[Looking Beyond Numbers: Behavioral Wallet Analysis - Vic](/tracking-academy/trading-strategies/looking-beyond-numbers-behavioral-wallet-analysis-vic)
{% endcontent-ref %}

How to use OdinBot for Pump.fun tokens, covering platform fundamentals, wallet analysis, risk management, and speed tiers for effective copy-trading:

{% content-ref url="/pages/6ioIDV8xv9lrUjyux3z4" %}
[Pump.fun 101: Wallets, Analysis and Insights - Vic](/tracking-academy/trading-strategies/pump.fun-101-wallets-analysis-and-insights-vic)
{% endcontent-ref %}

A concise guide outlining effective strategies and best practices for sustainable and profitable copy-trading with OdinBot:

{% content-ref url="/pages/6wDOr9J4BQzx0VaV4r4C" %}
[Copy-Trading 101: Building a Profitable Strategy with OdinBot](/tracking-academy/trading-strategies/copy-trading-101-building-a-profitable-strategy-with-odinbot)
{% endcontent-ref %}


# Risk Management and Trade Strategies - charlespurrgeon

Content provided by charlespurrgeon

## Mindset

Trading is one of the most challenging psychological battles you’ll face, it’s **you vs. yourself** every day. Unfortunately, many misunderstand real trading, thanks to unrealistic expectations set by trading “influencers.”

#### Reality Check:

* **Trading is not a get-rich-quick scheme.**
* **Never trade money you can’t afford to lose.** If you’re using your last $100 for rent or food, keep it in your bank account.

#### The Right Mindset: The Hunt

Success with Odin Bot requires falling in love with **The Hunt**. Instead of focusing on money, focus on:

* Hunting for profitable wallets.
* Hunting for strong risk-to-reward ratios.
* Hunting for discipline to stick with mirrors, even after 3–4 losses in a row.

#### Shift your focus to questions like:

* How can I improve my risk management?
* How do I find better wallets?
* How do I handle 5–10 consecutive losses?
* How can I maximize wins by adding to profitable trades?

Adopting this mindset will not only improve your discipline but will help you build a sustainable, long-term trading strategy.

## Risk Management

In trading, **risk management is the only true edge**. Technical and fundamental analysis are only as useful as the risk you’re willing to take. Indicators, moving averages, and support/resistance levels can fail at any time, especially when market conditions shift unexpectedly.

#### Why Risk Management Matters

* **Unpredictability:** No one, not even the best traders, can predict the price of a token a second from now.
* **The 50/50 Reality:** Every trade has a 50% chance of hitting your profit target and a 50% chance of hitting your stop loss.

When using Odin Bot, your focus should be on two key factors:

1. **Position Size**
2. **Cumulative Win Rate and PNL Size**

## Position Size

The amount you risk per trade determines your ability to survive losing streaks, this is known as **Risk of Ruin**.

#### Example:

* **Risking 0.1 SOL on a 0.5 SOL account:**
  * You only have **5 chances** to win before your account is wiped out.
* **Risking 1% of your account:**
  * You can survive **100 losing trades** before losing everything.
* **Risking 5% of your account:**
  * You can only survive **20 losing trades.**

There’s no strict rule for how much to risk per trade. If you’re comfortable risking 50% of your account on a single trade, that’s your choice, but the goal is **survival**. Surviving long enough to hit a few big wins can grow your account significantly.

## Cumulative Win Rate and PNL Size

The balance between win rate and profit/loss (PNL) size plays a critical role in your success.

#### Win Rate:

Each wallet has its own win rate. When following multiple wallets, your combined **Cumulative Win Rate** is an average of all their win rates.

#### Example:

* Follow 10 wallets: 5 with a 67% win rate and 5 with a 50% win rate.
* Your average win rate is **58.5%**.

**Important Note:** You will never mirror trades at the exact same time as the wallet. Delays are inevitable, so it’s wise to subtract **10–15%** from your Cumulative Win Rate as a safety buffer.

#### PNL Size:

Win rate alone doesn’t tell the full story, **the size of wins and losses matters**.

#### Example 1:&#x20;

* A wallet with a 90% win rate might look great, but if its winners average 2% gains and its losers average 50% losses, it’s not profitable.

#### Example 2:

* A wallet with a 30% win rate may seem poor, but if its winners average 800% gains and its losers average 2% losses, it will be highly profitable over time.

Balancing win rates and PNL size is an essential skill for using Odin effectively.

## Final Thoughts

Success with Odin Bot is a balance between embracing **The Hunt**, managing risk, and fine-tuning win rates and PNL sizes. Focus on the process, stay disciplined, and adapt your strategy to survive and thrive. With time and patience, you’ll build the skills needed to reach Valhalla.

For detailed explanations with examples, visit our official blog:

{% embed url="<https://www.odinbot.io/risk-management-101-how-to-be-one-step-ahead/>" %}

<figure><img src="/files/ktA5z9zBOviwqvcbhglj" alt="" width="447"><figcaption></figcaption></figure>


# The 9 Critical Copy-Trading Mistakes to Avoid - Vic

Content provided by Vic

## Foundation of Profitable Copy-Trading

When it comes to making money in trading, especially on Solana, there are two fundamental rules:

1. **Make money.**
2. **Avoid losing it.**

Despite the speed and promise of copy-trading, it is surprisingly easy to fall into traps set by certain mirror (target) wallets or by volatile market conditions. The following pitfalls are the most common and costly we have seen.

## 1. Using Inadequate Tools

Copy-trading success is all about **speed**. The faster you get in after your mirror wallet, the less likely you will end up overpaying. For example, if your mirror wallet buys at $1 and your transaction is slow, you might be forced to buy at $1.20 or $1.30, which can significantly reduce your profit margin.

* **Why It Matters**: Even a small delay can mean the difference between a profitable trade and a losing one.
* **How to Avoid**: Use a **fast copy-trading bot** with near instant transactions. For Solana, **OdinBot** stands out as one of the fastest, often executing trades in about 1 block on all speed tiers (\~400ms).

{% content-ref url="/pages/vE9an6jTsFdSeN52ZYQH" %}
[What's the difference in speed tiers and which one to choose?](/faqs/6.-frequently-asked-questions/whats-the-difference-in-speed-tiers-and-which-one-to-choose)
{% endcontent-ref %}

## 2. Following Unprofitable Wallets

This might sound obvious, but it is a trap many fall into: if a wallet consistently loses money, copying it will likely lose you money too.

* **Check Overall Performance**: Do not be blinded by one spectacular win. Look at the monthly or weekly net results.
* **Example**: Some wallets show juicy short-term gains but end up far in the negative over a longer timeframe. If they are losing money, so will you if you copy them blindly.

<figure><img src="/files/gmLJh8Ma4ZehwJaoX4kd" alt="" width="563"><figcaption></figcaption></figure>

## 3. Following Highly Risky “Degen” Wallets

Memecoin mania is filled with extremely aggressive traders. These wallets often buy a token at a very low market cap (for example, $5,000) and exit almost immediately at $7,000. By the time you copy their buy, they have already sold, leaving you holding the bag.

* **Key Indicator**: Numerous red “danger” signs next to traded tokens (low liquidity, extreme volatility, etc.).
* **Why It Is Risky**: Low liquidity means price spikes and crashes happen fast. Copying at the wrong second can leave you at a huge disadvantage.

<figure><img src="/files/iHzZezQclEZwdKVul1d2" alt="" width="563"><figcaption></figcaption></figure>

For a deeper dive into how low liquidity can affect your trades, check out our article:

{% content-ref url="/pages/vexLOXE4zrDQulkQhwwt" %}
[Why Liquidity Matters in Copy-Trading](/tracking-academy/trading-strategies/why-liquidity-matters-in-copy-trading)
{% endcontent-ref %}

## 4. Copying High Frequency Trading Wallets

While not always negative, high frequency trading (HFT) wallets can be problematic if:

* You have a smaller portfolio (excessive fees can eat into or exceed your profits).
* The wallet is “spraying” trades constantly without solid research.

<figure><img src="/files/fnZMO2vN3G8a5OgZXzsx" alt="" width="563"><figcaption></figcaption></figure>

**Recommendation**: For smaller portfolios, focus on wallets that make a few well researched trades (for example, 1–3) per day rather than dozens of trades with small profit margins.

## 5. Rushing Into Copy Trading

Many beginners spot a wallet with incredible stats and immediately start copying. This is a huge mistake. A wallet’s strategy or luck can change overnight, and some wallets even try to profit at the expense of their copy-traders.

* **Monitoring Phase**: Always track a wallet for a few days before you invest. Look at its consistency and see if it matches your risk tolerance.

See our guide on **wallet monitoring** to learn more:

{% content-ref url="/pages/gmJN8EpRvyH3w6O6boRE" %}
[For Monitoring Wallets](/tracking-academy/tools/for-monitoring-wallets)
{% endcontent-ref %}

## 6. Overemphasizing Win Rate

A common misconception is that win rate alone is the key metric. It is not.

<figure><img src="/files/tKNVK0vYvPvRdclwU0T8" alt="" width="375"><figcaption></figcaption></figure>

* **Consider Profit to Loss Ratio**:
  * A wallet with only a 50% win rate might net large profits if the wins are big.
  * Conversely, a wallet with a 90% win rate might show tiny wins and massive losses on its 10%.

Always look at **net profit**, not just how many times they win versus lose.

For tips on spotting a great wallet, see:

{% content-ref url="/pages/0kdFBuI39r8tjQnDIF1c" %}
[How to Spot a Great Wallet for Copy-Trading - Vic](/tracking-academy/trading-strategies/how-to-spot-a-great-wallet-for-copy-trading-vic)
{% endcontent-ref %}

## 7. Copy Trading Suspicious Pattern Wallets

One of the most dangerous patterns to see is multiple tokens with identical tickers and icons in a wallet’s history. This often indicates a pump and dump or rug pull scenario.\\

<figure><img src="/files/kOXlfvKgvPK6hKKabJv1" alt="" width="563"><figcaption></figcaption></figure>

* **Red Flag**: If all tokens share the same name or image, it is likely a scheme.
* **Check Contract Addresses**: Tokens with identical symbols but different addresses can be repeated attempts to scam copy-traders.

Some legitimate traders might catch multiple copies of the same token before finding the real one, but that is a small exception. When you see this pattern, proceed with extreme caution.

## 8. Copying Already Heavily Copied Wallets

When many people are following the same wallet, it creates massive price spikes the moment that wallet trades.

<figure><img src="/files/BXignLXe254vhgpSDMyC" alt="" width="563"><figcaption></figcaption></figure>

* **Option 1**: Skip them if your account is small or if you want to avoid fierce competition.
* **Option 2**: If you are determined, use a higher speed tier (and a large enough portfolio) to potentially get filled before the price soars.

For more on identifying these wallets, see:

{% embed url="<https://www.odinbot.io/how-to-identify-already-copytraded-wallets/>" %}

## 9. Having the Wrong Trading Mindset

This is perhaps the most important point of all.

#### Key Psychological Tips:

1. **Manage Emotions**: Losses happen, learn from them instead of revenge trading.
2. **Use Proper Risk Management**: Do not risk 1 SOL just to make 0.5 SOL. Keep the risk to reward ratio balanced.
3. **Stick to a Plan**: Do not chase a wallet out of FOMO.
4. **Commit to Continuous Learning**: Strategies evolve, so stay informed.
5. **Avoid Doubling Down**: Throwing larger positions at losses is often disastrous.

## Final Thoughts

By avoiding these nine critical mistakes, you will be ahead of the average copy-trader. Remember, **profitable trading requires patience, discipline, and continuous learning**. There are no shortcuts. When combined with a solid plan, the right tools, and a commitment to monitoring and analysis, copy-trading can become a powerful strategy on Solana.

If you are **serious** about copy-trading on Solana:

* Take time to research wallets thoroughly.
* Memorize (or bookmark) these 9 mistakes to dodge major pitfalls.
* Develop a disciplined trading mindset.

{% content-ref url="/pages/ks2JKefKi9TTQVfQDGfp" %}
[Risk Management and Trade Strategies - charlespurrgeon](/tracking-academy/trading-strategies/risk-management-and-trade-strategies-charlespurrgeon)
{% endcontent-ref %}

For detailed explanations with examples, visit our official blog:

{% embed url="<https://www.odinbot.io/the-9-critical-copytrading-mistakes-to-avoid/>" %}

{% content-ref url="/pages/7CJJhynTS4bSXUxwDOmC" %}
[Trading Strategies](/tracking-academy/trading-strategies)
{% endcontent-ref %}

<figure><img src="/files/xQ0iD4outNRz9BZQL10T" alt="" width="304"><figcaption></figcaption></figure>


# Why Liquidity Matters in Copy-Trading

Content provided by Vic

Have you ever experienced a trade where the wallet you are mirroring is making a profit, yet your own trade results in a loss? This is not just bad luck, it is often a result of liquidity mechanics in Solana meme coins. The profitability of a trade does not solely depend on entry and exit prices but also on how liquidity impacts price movements.

This guide explains liquidity, its effect on copy-trading, and why understanding it is crucial for avoiding losses.

## 1. What is Liquidity?

Liquidity determines how easily an asset (such as a meme coin) can be converted into cash or another cryptocurrency without causing significant price changes. Think of it like a swimming pool, the deeper the pool, the less impact a single person has on the water level. Similarly, in trading, the higher the liquidity the lower the price impact when buying or selling.

On decentralized exchanges (DEXs), liquidity is provided through **liquidity pools**. These pools contain token pairs, and in the case of copy-trading Solana meme coins, they are usually paired with SOL.

<figure><img src="/files/2COuFevalv8m4HS5qB4J" alt="" width="375"><figcaption></figcaption></figure>

The price of a token in a liquidity pool is determined by an **Automated Market Maker (AMM)**, a mathematical formula that adjusts prices based on token supply and demand.

## 2. How Liquidity Affects Price Impact

<figure><img src="/files/MaFtaQ2dp8MCQERvriV8" alt="" width="375"><figcaption></figcaption></figure>

Liquidity has a direct influence on price impact, the extent to which a trade moves the token price.

* **High Liquidity:** When liquidity is high, even large trades barely affect the price. It is like throwing a rock into the ocean, the ripples are small.
* **Low Liquidity:** When liquidity is low, even small trades can create massive price swings. This is like throwing the same rock into a puddle, causing a big splash.

#### Example:

* **Low Liquidity Trade:** A $240 sell on a low-liquidity token may cause a **10% price drop**.

<figure><img src="/files/VjiZo3ANXtT11kwRLDZe" alt="" width="563"><figcaption></figcaption></figure>

* **High Liquidity Trade:** A $247 sell on a high-liquidity token may cause only a **0.61% price drop**.

<figure><img src="/files/8bpxV7vdEjVtsZAIOYlp" alt="" width="563"><figcaption></figcaption></figure>

This illustrates why low liquidity trading can be risky, small orders can drastically impact prices, potentially making it difficult to exit a trade profitably.

## 3. Risks of Copy-Trading Low Liquidity Tokens

Copy-trading introduces additional risks when liquidity is low. A typical scenario:

1. **The Mirror Wallet Buys First**
   * A skilled mirror wallet buys a meme coin when liquidity is **very low** (e.g., at a $12,900 market cap).
   * The price remains low since the liquidity pool is small.
2. **Your Copy Trade is Executed Later**
   * If you copy this trade, your order might be executed when the market cap has already increased to **$16,500** (a **30% price increase**).

<figure><img src="/files/tz7dZuNVC07NIKarCKIf" alt="" width="563"><figcaption></figcaption></figure>

* This means you paid a significantly higher price than the mirror wallet.

3. **Profit Discrepancy**
   * If the mirror wallet **sells immediately**, they might secure a **20-25% profit**.
   * However, you might be left with a **loss**, since you bought at a higher price but are selling at the same price as them.

## 4. How to Protect Yourself

To minimize risks when copy-trading, consider these strategies:

### **Check Liquidity Before Copying a Trade**

* Always check **liquidity levels and market cap** before mirroring a trade.
* Higher market cap generally means higher liquidity.

### **Set Market Cap Limits in OdinBot**

* Enable **Degen Mode** only if you fully understand the risks.
* Set a **minimum market cap filter** to avoid getting caught in low-liquidity trades.

### **Use Gmgn.ai for Risk Assessment**

* Gmgn.ai provides **risk indicators** for low-liquidity tokens.
* A **red danger sign** next to a token means it had low liquidity and could be a pump and dump.

<figure><img src="/files/fIpUE6axPV5UoxQbhB8l" alt="" width="375"><figcaption></figcaption></figure>

The more **red danger signs** a wallet has, the **riskier it is to copy-trade**.

## 5. Final Thoughts

Liquidity is a crucial factor that can **make or break a copy-trade**. Many mirror wallets exploit low-liquidity tokens to lure copy-traders only to secure profits at their expense.&#x20;

To trade smartly employ these tactics:

* Always check liquidity before copying trades.
* Use **market cap filters** to prevent buying into illiquid assets.
* Avoid wallets that frequently trade **low-liquidity meme coins**.
* Monitor **risk indicators** on platforms like **Gmgn.ai**.

By understanding liquidity mechanics, you can make smart decisions and **avoid unnecessary losses** in copy-trading.

For more detailed explanations, please visit:

{% embed url="<https://www.odinbot.io/how-liquidity-works-and-how-it-affects-copytrading/>" %}

<figure><img src="/files/xQ0iD4outNRz9BZQL10T" alt="" width="293"><figcaption></figcaption></figure>


# How to Choose Wallets for Copy-Trading - atomic\_rasta

Content provided by atomic\_rasta

Odin’s Alpha is one of the tools I use to find wallets to copy, but it’s not the only one. I use several tools to make sure a wallet is worth copying. In this guide, I’ll show you the steps I follow and the important numbers I check. This method helps me pick wallets that are more likely to bring steady and profitable results.

## Step 1: Start with WalletX

I begin by checking wallets on WalletX, where I can compare up to five wallets at the same time. Here are the key things I look at:

* **Win Rate:** This should be over 50%, but I prefer wallets with win rates above 65%.
* **ROI (Return on Investment):** This shows how much the wallet earns overall, but I focus more on:
  * **Median ROI:** Look for a median ROI higher than 35%.
  * **Trade Duration:** The wallet’s average trade duration should be longer than 30 minutes.

These two metrics "median ROI and trade duration" are very important for copy trading because they show how steady and reliable the wallet is.

## Step 2: Check Trade History on GMGN.ai

Next, I look at the wallet’s trade history on GMGN.ai. This gives me more details about how well the wallet performs:

* **Average Win Percentage:** This should be above 25%, as that’s the minimum needed to make copy trading profitable.
* **High Win Rate with Small Wins:** If a wallet has a very high win rate (like 90%) but its average win is only 15–25%, it’s unlikely to be profitable. Be careful with these types of wallets—they might look good at first, but they don’t always work for copy trading.

## Step 3: Double-Check with Other Tools

After WalletX and GMGN.ai, I sometimes use tools like Cielo to double-check the wallet. Each tool calculates things a little differently, so looking at a wallet in more than one place helps me feel more confident about my choice.

### My Trading Style

I focus on getting steady, small wins instead of taking big risks for large profits. Here’s how I do it:

* **Taking Profits Manually:** I often take profits myself to make sure I lock in gains.
* **Choosing Reliable Wallets:** I prefer wallets with higher win rates and good median ROI, as these are more consistent.

Some people prefer a different style, like going for big wins even if it means losing more often, but I find my way works better for me.

<figure><img src="/files/RAZziqkvQkQKX4E4HOMn" alt="" width="275"><figcaption></figcaption></figure>


# Investigating Wallets for Copy-Trading - vect

Content provided by vect

Copy trading is highly dependent on selecting the right wallets. While strategies vary, I focus on metrics like win rate, trade frequency, and holding patterns to find traders worth copying. This guide outlines my approach, including tools I use and specific factors to consider. Keep in mind, what works for me might not work for everyone, but this strategy has helped me find an edge in the competitive world of trading.

## Step 1: Understand the Role of Win Rate (WR)

Win rate is an important metric, especially when copying traders who actively trade new pairs daily on platforms like Pumpfun or Radium. Here’s what to look for:

* Ideal Win Rate Range: The sweet spot is between 65% and 90%. A lower win rate often indicates inconsistency, while a win rate above 95% could mean something suspicious or very rare.
* Watch for Manipulation: Some traders artificially inflate their win rate by buying a large number of tokens without selling them. Always verify trades to ensure their win rate reflects genuine performance.

## Step 2: Check Trade Patterns

* Average Hold Time: If a wallet frequently flips tokens within a minute, it’s unlikely to be profitable long term. I avoid wallets with an average hold time of less than 5 minutes. Slower, more deliberate trading tends to yield better results.
* Recent Trades: Examine their recent trade history. Use tools like Dexscreener to verify buy and sell points, ensuring they aren’t copying others or farming tokens excessively.

## Step 3: Use the Right Tools

I rely on a combination of tools for analysis:

1. Cielo, GMGN, and Gatekept Pro (Beta):
   * Check 30-day and overall win rates. A consistently high win rate across timeframes is a positive indicator.
   * Gatekept Pro provides valuable metrics like average hold time and average profit per trade.
2. Dexscreener:
   * Use this to track exactly when and where a wallet bought or sold a token. It’s especially useful for spotting insider wallets or copy traders.
3. WalletX:
   * I also use WalletX for its median win rate calculations. This gives a clearer picture of how long a wallet typically holds a token. For example, if a wallet makes 5 trades with a hold time of 5 days, then follows up with 20 trades holding less than a minute, the average hold time may look long. Median win rate avoids this distortion and provides a more accurate assessment.

## Step 4: Watch Out for Red Flags

* Wallet Clustering: Groups of wallets often trade the same tokens. They may generate an initial big win, but later trades could exploit followers by farming those tokens. This comes with experience—knowing which wallets to avoid is critical.
* Fund Transfers: Some wallets frequently move funds to new wallets. If you’ve had success with one wallet, check to see if it has linked wallets. This can help you stay ahead of their activity.

## Step 5: Insider Wallets

Insider wallets are rare but highly profitable. However, they often try to remain hidden:

* Misleading Win Rates: Some insiders deliberately lower their win rate (e.g., to 35%) to avoid being noticed.
* Entry Timing: Use Dexscreener to see how early they entered a token. Early entries can signal insider knowledge.

### Final Thoughts

Trading is a competitive, player-versus-player (PvP) environment where every edge matters. My approach emphasizes adaptability and continuous learning:

* Experiment with strategies that match your risk level and trading size.
* Focus on tools and techniques that give you an advantage.
* Stick with what works for you, and don’t be afraid to adjust as you gain more experience.

Remember, I’m still learning too, but by staying curious and disciplined, you can refine your approach to copy trading and improve your results over time.

<figure><img src="/files/2JpONSyP5BtlqekQntqZ" alt="" width="278"><figcaption></figcaption></figure>


# The Hidden Pitfalls of Copy-Trading: A Guide to Smarter Strategies - Vic

Content provided by Vic

Copy-trading is often seen as an easy shortcut to profits—just follow a skilled trader and replicate their moves. However, this approach comes with hidden challenges that can quickly turn potential gains into losses. Copy-trading isn't as simple as hitting "copy" and watching your balance grow; timing, token liquidity, and market dynamics all play critical roles.

This guide explains why blindly copying wallets can be risky, how to spot heavily copy-traded wallets, and strategies for improving your copy-trading success.

## Why Timing Matters

When you copy a trade, you’ll always **buy after the mirror wallet** and **sell after they sell**. This delay is similar to trying to catch the same wave as a surfer ahead of you. It impacts your profits in several ways:

* **Market Volatility:** By the time you enter the trade, the price may have shifted significantly.
* **Crowded Copy-Trading:** Other copy-traders piling into the same trade push prices even further, worsening your entry and exit points.

### Example of Price Impact:

* The target wallet enters a trade at a $28,000 market cap.
* Copy-traders drive the price up by 39%, forcing you to enter at a $40,000 market cap.
* **Result:** The original wallet profits, but you face reduced returns—or even losses—due to your delayed entry.

## Red Flags to Avoid

Not all profitable wallets are worth copying. Here’s what to watch out for:

### 1. Too-Good-to-Be-True Returns

Wallets with consistently high win rates and massive profits might seem like ideal targets, but they often rely on strategies you can't replicate, such as:

* **Sniping Tools:** Using bots to execute trades faster than humanly possible.
* **Market Manipulation:** Benefiting from the price spikes caused by copy-traders.

### 2. Sudden Price Spikes

Examine **1-second candles** after the wallet's trades. A significant spike (10-15% or more) in low-liquidity tokens indicates heavy copy-trading activity.

* **Low Liquidity Risk:** Tokens with small market caps (<$500k) are especially prone to dramatic price impacts when heavily copy-traded.

## How to Spot Heavily Copy-Traded Wallets

### Signs of Over-Copied Wallets

* **Frequent Price Pumps:** Tokens consistently spike immediately after the wallet's trades.
* **Unnatural Patterns:** Trades that seem perfectly timed or focus on sketchy, low-liquidity tokens.

### Why It Matters

When a wallet is heavily copied, your entry and exit points will almost always lag behind, leading to diminished profits or losses.

## Strategies for Smarter Copy-Trading

Copy-trading isn’t inherently bad, it just requires careful planning. Use these strategies to protect your investments:

1. **Analyze Before You Copy:**
   * Study 1-second charts to spot unnatural price movements.
   * Monitor the wallet’s trades for a few days before committing money.
2. **Diversify Your Choices:**
   * Spread your investments across multiple mirrors to minimize risk. A single strong trade can offset weaker ones.
3. **Focus on Liquidity:**
   * Prioritize wallets trading tokens with higher liquidity and market caps.
   * Avoid wallets targeting tokens under $500k market cap.
4. **Use Monitoring Tools:**
   * Tools like **Ray** or **Defined Bot** can help you track wallet behavior and trade patterns.

## Conclusion

Copy-trading can be a powerful tool if approached thoughtfully. By focusing on wallets with genuine skill rather than chasing flashy win rates, you can improve your chances of success. Avoid the pitfalls of heavily copy-traded wallets, study market dynamics, and always keep risk management in mind.

**Remember:** Success leaves clues, but not every profitable trader's strategy can—or should—be copied. Choose wisely.

<figure><img src="/files/xQ0iD4outNRz9BZQL10T" alt="" width="272"><figcaption></figcaption></figure>


# Pump.fun Explained: A Guide to Copy-Trading Success - Vic

Content provided by Vic

Pump.fun has become a major platform for creating and trading meme coins in the Solana ecosystem. Thousands of tokens are launched daily, but only a small percentage achieve lasting success. Identifying and leveraging profitable wallets early in their journey can turn these tokens into valuable opportunities.

This guide explores the dynamics of Pump.fun tokens, the risks and rewards of trading them, and strategies for effective wallet analysis using OdinBot.

## What is Pump.fun?

Pump.fun is a user-friendly platform that allows anyone to create Solana meme coins in seconds, without coding knowledge. Users can:

* Choose a token name.
* Set up social links.
* Pay a small fee in SOL to launch their token.

The platform handles smart contract creation, liquidity pools, and provides basic marketing tools. However, the success of these tokens depends on strong marketing and community engagement.

## Pros & Cons of Pump.fun Tokens

### Pros:

* **Early Entry Opportunities:** Early investments in promising tokens can yield significant returns.
* **Accessibility:** The platform makes it easy to discover new projects at low initial prices.

### Cons:

* **High Failure Rate:** 99% of tokens fail due to scams, abandonment, or lack of interest.
* **Low Liquidity:** Small market caps (often \~$5,000) lead to sharp price movements, causing high volatility.
* **Slippage:** Large price impacts during trades can reduce profits or increase losses.

#### Example of Price Volatility

* A $200 buy order can push a token’s price up by 10–20%.
* A sudden sell-off often causes significant price drops, leaving late sellers at a loss.

## Pump.fun Wallet Tracking

Trading Pump.fun tokens comes with substantial risks, as high volatility often leads to losses for inexperienced traders. However, skilled traders have crafted strategies to navigate this market profitably. This guide will help you identify and analyze such wallets and provide insights on successfully copy-trading them using Odin Bot.

### Analyzing Wallets: Key Metrics

**1. Win Rate & ROI**

* **Don’t Rely Solely on Win Rate:** Experienced traders may take small losses to discourage copycats, making their win rate seem lower. Instead, focus on:
  * Total profits.
  * Trade sizes and profit/loss ratios.

#### **Example:**&#x20;

A wallet with a 45% win rate generated $2,036 in profit over 30 days by maintaining low losses and making significant gains on a few key trades.

**2. Traded Token Quality & Buy Sizes**

* Tokens with **low liquidity and market caps** (<$10,000) are highly volatile. Copy-traders often:
  * Buy at inflated prices.
  * Sell at lower prices than the original wallet due to slippage.

**Pro Tip:** Focus on wallets targeting tokens with market caps above $10,000–$15,000 to minimize price impacts.

**3. Trading Frequency**

* High-frequency trading doesn’t always mean high-quality trades.
* Avoid wallets that frequently trade **"danger-marked" tokens**, as these are often pump-and-dump schemes.

**4. Copy-Traded by Others**

* Heavily copy-traded wallets often cause immediate price spikes after their trades, reducing profitability for later entries.
* **How to Spot These Wallets:** Look for 1-second price candles with sharp movements following trades.

## Using OdinBot Settings for Pump.fun Trades

### Recommended Settings:

1. **Slippage Tolerance:**
   * Early Stage (Near 0% Bonding Curve): Price impacts are larger, requiring higher slippage settings (above 10%) to execute trades successfully, though this carries increased risk.
   * Later Stage (Near Complete Bonding Curve): Price impacts decrease, allowing for lower slippage settings (5-10%) with higher success rates.
2. **Buy Tips:**
   * Adding a tip (e.g., 1% of trade size) can prioritize your trade execution.

#### Example:

If your mirror wallet buys at $10 and you set slippage to 50%, OdinBot allows a maximum buy price of $15. Your trade will execute if the price meets this threshold

{% content-ref url="/pages/jUYcYHJPReMossLzule6" %}
[What's the Pump.fun slippage and how to configure it?](/faqs/6.-frequently-asked-questions/whats-the-pump.fun-slippage-and-how-to-configure-it)
{% endcontent-ref %}

## Conclusion

Trading Pump.fun tokens involves balancing high potential rewards with substantial risks. To succeed:

* Target wallets trading tokens with higher market caps and liquidity.
* Focus on overall profitability, not just win rates.
* Avoid heavily copy-traded wallets and risky tokens.

By carefully evaluating wallets and maintaining disciplined risk management, you can navigate Pump.fun's challenges and unlock profitable trading opportunities.

{% content-ref url="/pages/ks2JKefKi9TTQVfQDGfp" %}
[Risk Management and Trade Strategies - charlespurrgeon](/tracking-academy/trading-strategies/risk-management-and-trade-strategies-charlespurrgeon)
{% endcontent-ref %}

<figure><img src="/files/xQ0iD4outNRz9BZQL10T" alt="" width="272"><figcaption></figcaption></figure>


# Start Small and Build Up: A Beginner's Guide to Copy-Trading with OdinBot

Content provided by Odin's team

When beginning with OdinBot, it is essential to adopt a cautious, well thought out strategy to maximize your chances of success. This guide provides a balanced approach to risk management, wallet selection, and trade settings to help you grow your portfolio effectively.

## Initial Setup

### Starting Balance

* **Recommended Starting Amount:** At least **0.5 SOL**.
* While you can start with **0.2 SOL**, this leaves little room for error. With **0.5 SOL**, you have at least five trade opportunities at **0.1 SOL per trade** before running out of funds.

### Trade Size and Speed

* Set **trade size** to **0.1 SOL**.
* Use the **Standard Speed Tier** to minimize expenses.
  * Higher speed tiers are unnecessary for beginners and can quickly eat into your funds due to higher fees.

### Buy Limits

* **Suggested Buys Per Hour:** Limit to **2 per hour**.
* **Maximum Buys Per Day:** Limit to **3 per day**.

This approach enables quicker evaluation of wallet performance while managing risks effectively.

### Number of Mirrors

* **Recommended:** Start with **1-2 mirrors** if you are not monitoring trades actively.
* **Experienced Users:** Can consider up to **10 mirrors** if carefully selected and monitored.

## Key Principles

### Avoid Gambling

* The goal is not to gamble but to gradually build your portfolio. Success in copy-trading requires patience and discipline.

### Risk Management

* Avoid "all-in" approaches. Start small and spread out your trades.
  * **Example:** With **0.5 SOL**, you have five chances to recover from potential losses versus only one chance if starting with **0.2 SOL**.

### Diversify

* Mirror multiple wallets to spread risk and increase potential returns.

## Trade Configuration

### Pump.fun Trades

While avoiding Pump.fun trades entirely might seem like a safe option, it could limit opportunities. Many high-performing wallets trade on Pump.fun, and understanding how to navigate these trades is key to success. Instead, focus on filtering out risky trades:

* Avoid wallets that consistently execute trades with gains below **2-5%**, as these are likely farming wallets or low-percentage scalpers.
  * **Example:** A wallet making dozens of trades daily, each earning less than 1%, is often exploiting copy-traders.
* Prioritize wallets with longer average hold times, such as **5 minutes or more**, to avoid bots that sell instantly for marginal gains.
  * **Example:** A wallet holding positions for at least **10 minutes** before selling often signals genuine trading behavior.
* Review trade patterns using tools like Solscan or Dexscreener to identify consistent strategies.

{% content-ref url="/pages/bGkiiZkcwPjqbT0z2tPM" %}
[Types of Wallets: Understanding Their Roles in Copy-Trading](/tracking-academy/types-of-wallets-understanding-their-roles-in-copy-trading)
{% endcontent-ref %}

### Auto-Sell Profiles

Setting up Auto-Sell Profiles ensures a well-defined and strategic exit plan:

**Example Profile:**

* **Take Profit:** **Sell 100%** of holdings **at 50% gain**.
* **Stop Loss:** **Sell 100%** of holdings **at -50% loss**.

If your mirrored wallet frequently trades tokens that spike **30-40%** immediately after purchase but then drop sharply, consider using a smaller Take Profit target to secure gains before the decline.

| Parameter        | Value                            |
| ---------------- | -------------------------------- |
| Trade Size       | 0.1 SOL                          |
| Speed Tier       | Standard                         |
| Buys Per Hour    | 2                                |
| Max Buys Per Day | 3                                |
| Take Profit      | +50% (100% sell)  or +**30-40%** |
| Stop Loss        | -50% (100% sell)                 |

## Wallet Selection

### **Ideal Mirror Wallets**

* **Low Trading Frequency**: 5-10 trades per day.
* **Holding Duration**: Holds tokens for at least 10 minutes rather than selling immediately.

### **Avoid High-Volume Traders**

* Mirrors executing **50+ trades per day** can lead to higher expenses and riskier trades.

{% content-ref url="/pages/oGEaIhiuTYafN7mbK5WU" %}
[Wallets to Avoid When Copy-Trading](/tracking-academy/wallets-to-avoid-when-copy-trading)
{% endcontent-ref %}

## Final Thoughts

Starting small and building up is not just a strategy; it is a mindset. This approach minimizes risks and sets a solid foundation for sustainable growth. Remember, copy-trading is a marathon, not a sprint. Regularly review your strategies, adapt to market conditions, and focus on wallet rotation and management for long-term success.

By applying these principles, you will be better prepared to navigate OdinBot and thrive in the world of copy-trading.


# A Coin Flip Tactic for Copy-Trading

Content provided by Odin's team

### The Perfect Strategy for When You’re Away

If you’re looking for a straightforward yet disciplined approach to copy-trading with OdinBot, especially when you can’t monitor the market around the clock, the “coin flip” tactic might be exactly what you need. By pairing balanced Take Profit (TP) and Stop Loss (SL) settings with selective mirroring, you create an automated system that can steadily grow your account while minimizing risk. Here’s how it works:

## Strategy Overview

### Coin Flip Mentality

* **Max Buys per Mirror per Day:** Set to **1** in your OdinBot controls. This limit helps prevent multiple losses in quick succession from the same wallet.
* **Take Profit & Stop Loss:** Both at **50%** you either lock in a 50% gain or cut your losses at 50%. This is a 1:1 risk-to-reward ratio, which is inherently close to gambling, so the wallet’s win rate (and ROI) will be critical to your success.
* **Sell Strategy:** Choose **Do Not Copy Mirror Sells**, giving you complete control over exits. This flexibility lets you manually close trades based on your judgment of market conditions or token momentum.

### Why Consider This Tactic?

* It’s easy to set up and maintains consistent risk parameters (1:1 R:R).
* It’s ideal when you’re offline or asleep, because you have a simple, automated framework to handle volatile markets.
* Ultimately, success hinges on picking good wallets (high ROI, consistent performance) and intervening when needed.

### Monitoring and Manual Overrides

* **Active Supervision**\
  When you’re at your computer, keep an eye on each token’s chart. If a trade seems unlikely to reach the 50% profit target, consider exiting near break-even or accept a smaller (3–5%) gain.
* **Partial Runs**\
  If a token spikes by 15–20% but volume or momentum starts declining, you might close early to secure a decent profit before it reverses.
* **Autopilot While Asleep**\
  Rely on the coin flip settings (50% TP/SL) when you’re away. By capping losses at 50% and automatically cashing out at a 50% gain, you ensure that each trade follows a predictable outcome without constant supervision.

### Setting Pump.fun Slippage and Tips

* **Pump.fun Slippage (30–33%)**\
  If the trade executes within your slippage range, great if not, you avoid an unfavorable entry.

{% content-ref url="/pages/jUYcYHJPReMossLzule6" %}
[What's the Pump.fun slippage and how to configure it?](/faqs/6.-frequently-asked-questions/whats-the-pump.fun-slippage-and-how-to-configure-it)
{% endcontent-ref %}

* **Extra Tip on Buys (2–5%)**\
  If the wallet or token tends to trade highly volatile meme coins, consider adding a small tip (2–5%) on buy orders to increase your likelihood of getting filled quickly. This is optional and should be used sparingly to prevent excessive fees.

### Searching for Wallets

#### Thorough Analysis of Odin’s Alpha

* Odin’s Alpha channel often highlights interesting or successful wallets. Investigate each wallet’s recent trades and performance to see if it’s suitable for mirroring.

#### Use Dune Dashboard:

{% embed url="<https://dune.com/couldbebasic/token-analyzer>" %}

#### Analyze Tokens and Wallets:

1. **Locate the Token’s Contract Address (CA)**:
   * Obtain the token’s CA from a decentralized exchange or blockchain explorer. The contract address is a unique identifier necessary for accessing token specific data.
   * Copy the CA for use in the dashboard.
2. **Plug in the Contract Address**:
   * Navigate to [Token Analyzer for Copy-Traders](https://dune.com/couldbebasic/token-analyzer) on Dune Dashboards.
   * Enter the token’s CA into the search bar. The dashboard will retrieve data about trading activity, wallet performance, and key metrics associated with the token.
3. **Evaluate Key Metrics**:
   * **Trade Size Compatibility**:
     * Focus on wallets that trade within or slightly above your typical size range. Mirroring wallets aligned with your account size ensures better utilization of your funds and avoids overexposure.
   * **Return on Investment (ROI)**:
     * Look for wallets and tokens with an **ROI above 100%**. This signifies that the wallet has successfully doubled its initial investment, indicating strong trading strategies.
   * **Win Rate**:
     * Prioritize wallets with a **win rate exceeding 60%**. Consistently successful trades are a good indicator of reliable performance.
   * **Trading Patterns**:
     * Cross verify patterns of profitability or repetitive trading strategies. This helps determine whether performance is consistent or based on isolated successes.
4. **Additional Analysis**:
   * Use the dashboard to identify wallets actively trading the token and evaluate their trading histories. This can provide insights into wallet behavior, such as frequency and timing of trades.

**Why This Analysis is Crucial:**

By using Dune Dashboards and focusing on these metrics, you can:

* **Filter Low Performers**: Avoid tokens and wallets with poor historical performance.
* **Spot Opportunities**: Identify wallets and tokens that align with your trading strategy.
* **Reduce Risks**: Minimize exposure to inconsistent or speculative trading behaviors.
* **Maximize Potential**: Focus on tokens and wallets with strong performance metrics and sustainable patterns.

Taking the time to analyze tokens and wallets with these steps ensures your copy-trading decisions are both strategic and well informed. This not only improves your trading outcomes but also builds confidence in the wallets you choose to mirror.

1. Check via Solscan
   * Under **DeFi-Activity**, confirm the wallet actually sells tokens, rather than holding them indefinitely (so you know they’re capturing profits).
   * Evaluate how long they hold tokens, do they scalp quickly, or wait for a stable run up?
   * See if their gains (e.g., from 1 SOL to 1.7 SOL) align with what you hope to achieve.
2. Consistency Matters
   * **3 wins out of their last 4** trades is an encouraging sign, but at the end of the day, what truly matters is consistent profitability.
   * Also consider if the wallet has many other copy-traders. Heavy competition can sometimes move the price quickly and affect your entries or exits.

{% content-ref url="/pages/oGEaIhiuTYafN7mbK5WU" %}
[Wallets to Avoid When Copy-Trading](/tracking-academy/wallets-to-avoid-when-copy-trading)
{% endcontent-ref %}

### Managing Mirrors

1. **First Trade Outcome**
   * **Win:** Continue mirroring.
   * **Loss:** Investigate if it was an anomaly. If the mirror suffers 3–4 losses in a row, remove it from your list.
2. **Maintain Decent Metrics**
   * If a wallet experiences 1–2 wins followed by 3 losses, that’s a caution flag.
   * Aim for mirrors with a **win rate of 60% or more** and consistently strong ROI. Even with a 50/50 TP/SL, the key is picking wallets that win frequently enough to stay profitable.
3. **Manual Exit Options**
   * **Cutting Losses Early:** If the token barely moves, closing at a small loss or near break even can preserve capital for better trades.
   * **Taking Partial Profits:** If you see a quick 15–20% jump but the token appears to be cooling off, lock in the gain instead of waiting for the full 50%.

### Final Thoughts

The coin flip tactic offers a clear and controlled way to copy-trade with OdinBot especially handy when you’re away and can’t babysit each position:

* **Simplicity:** 50% TP/SL is easy to remember and implement.
* **Selective Mirroring:** Limit your exposure by following only wallets that demonstrate consistent, profitable behavior.
* **Balanced Oversight:** Leverage the autopilot features for routine trades, but be ready to step in when momentum shifts.

By combining solid wallet analysis with a 1:1 risk to reward approach, you can gradually increase your account balance. Remember: the real game changer is choosing mirrors whose win rates and ROI justify that 50/50 coin flip. Keep refining your choices, adapt to market conditions, and let OdinBot handle the rest.

{% content-ref url="/pages/7CJJhynTS4bSXUxwDOmC" %}
[Trading Strategies](/tracking-academy/trading-strategies)
{% endcontent-ref %}


# How to Reverse ChangeNow & SimpleSwap.io Transactions - Vic

Content provided by Vic

Cryptocurrency bridging platforms such as ChangeNow and SimpleSwap.io have become increasingly popular for exchanging different cryptocurrencies without relying on centralized exchanges (CEX). While these platforms primarily facilitate transfers between blockchain networks, some users attempt to leverage them to obscure their transaction history.

The Odin team has advanced tracking capabilities that stay ahead of these obfuscation attempts. This guide will demonstrate how to identify wallets that have recently received funds through bridging platforms and trace them back to their original source wallets.

For simplicity, we will focus on Solana-to-Solana (SOL-SOL) exchanges, as cross-chain bridges involve more complex processes that require additional time to investigate.

## Understanding the Bridging Process

### Step 1: Initial SOL Transfer

When bridging SOLANA to SOLANA, users first send a specific amount to the exchange's temporary wallet.

<figure><img src="/files/loKhpphnH5vphJwGvVSt" alt="" width="563"><figcaption></figcaption></figure>

#### **Temporary Wallet Characteristics:**

* Newly created for each transaction.
* Handles receiving and withdrawing SOLANA only.
* Transactions occur in close succession.

<figure><img src="/files/LxF2MnumMnxXHsSarBJl" alt="" width="563"><figcaption><p>Temporary wallet: 2HCoPfFMpGtdDXZ3vNSLxdPE1pmCRGrSfTfbFpcyBWXj</p></figcaption></figure>

Example Temporary Wallet: **2HCoPfFMpGtdDXZ3vNSLxdPE1pmCRGrSfTfbFpcyBWXj**

## Step 2: Temporary Wallet Operations

Each transaction uses a fresh temporary wallet with distinct timestamps, which can serve as an indicator of these freshly made wallets.

## Step 3: Main Wallet Transfer

The platform transfers funds from the temporary wallet to its main wallet. For SOLANA transactions, both ChangeNow and SimpleSwap use the same main wallet address:

<figure><img src="/files/NHYvLVqZAZR4leOuFXNs" alt="" width="563"><figcaption><p>Platforms' Main Solana Wallet</p></figcaption></figure>

Main SOLANA Wallet: G2YxRa6wt1qePMwfJzdXZG62ej4qaTC7YURzuh2Lwd3t

This wallet exclusively handles SOLANA transactions.

As a summary, this is the workflow:

<figure><img src="/files/B8RNSHzyRwAwuO2JVMLe" alt="" width="563"><figcaption></figcaption></figure>

## Reversing Transactions

Now that we understand the platform's operations, we can trace transactions backwards. This technique is primarily effective for SOL-to-SOL transfers. Below are two scenarios:

### Successful Case Study

<figure><img src="/files/U1laaddzAMVOtvwib0I5" alt="" width="563"><figcaption><p>Final wallet</p></figcaption></figure>

Example Wallet: **37d7AEne3KCgTzkEAAtYjuVDJTVwyVb5eEBz4WeLos8n**

### **Steps to Reverse:**

1. Analyze the transaction history to identify funds received from the platform's main wallet.
2. Match the transaction value (e.g., 3.70 SOL) with the main wallet's outgoing transactions.

<figure><img src="/files/EnMIwUhJ2PqP0KTxdRaU" alt="" width="563"><figcaption></figcaption></figure>

3. Identify the corresponding incoming transfer from a temporary wallet.

<figure><img src="/files/FowY3MP3QUdaPXkrH10K" alt="" width="563"><figcaption><p>Temporary Wallet: 2Peag566ArLUCyg94X3GA8vt7PrxV3QgBhg6UwfKS5yU</p></figcaption></figure>

4. The minimal time gap (e.g., 8 seconds) between transactions confirms a SOL to SOL bridge operation.
5. Trace further to the original source wallet: **3eJ2vXTUMr3Tt8au2x9r2b8Quafc7eCYvbJBhbcCNFPt**

## Unidentifiable Case Study

Cross-chain transactions pose significant challenges as the incoming funds may have been converted from other cryptocurrencies.

<figure><img src="/files/4fbflt5LpzMdF7Pntaq2" alt="" width="563"><figcaption></figcaption></figure>

Example Wallet: **33uvmRYEfJuFE7fE5iTsWzSPmL7aqkNuUrb5D9bhhz2v**

### **Challenges:**

* Absence of a corresponding incoming SOL transaction.
* The incoming funds were likely converted from a different cryptocurrency.
* Significant time gaps between transactions.

<figure><img src="/files/R7teJhxYFQWBLpRPL4H7" alt="" width="563"><figcaption></figcaption></figure>

## Additional Information

The table below lists mother wallets of these exchanges based on the exchanged token:

<table><thead><tr><th width="300" align="center">Token</th><th align="center">Funding Wallet Address</th></tr></thead><tbody><tr><td align="center">SOL</td><td align="center">G2YxRa6wt1qePMwfJzdXZG62ej4qaTC7YURzuh2Lwd3t</td></tr><tr><td align="center">TRX</td><td align="center">TWS1onJnNTg8tJHomceqxBxTsUB1DHh7PV</td></tr><tr><td align="center">BSC</td><td align="center">0xe2d60CFE3cF8B2079C7DF0144c5b28C03469775C</td></tr><tr><td align="center">ETH</td><td align="center">0xEbA88149813BEc1cCcccFDb0daCEFaaa5DE94cB1</td></tr><tr><td align="center">BTC</td><td align="center">bc1qq904ynep5mvwpjxdlyecgeupg22dm8am6cfvgq</td></tr><tr><td align="center">USDC (ETH)</td><td align="center">0xD72CD83aFba0dCfEFf95D463adcB2b8dEf6aA623</td></tr><tr><td align="center">USDT (ETH)</td><td align="center">0xD72CD83aFba0dCfEFf95D463adcB2b8dEf6aA623</td></tr><tr><td align="center">USDT (SOL)</td><td align="center">2jwP4cuugAAYiGMjVuqvwaRS2Axe6H6GvXv3PxMPQNeC</td></tr><tr><td align="center">USDC (SOL)</td><td align="center">2jwP4cuugAAYiGMjVuqvwaRS2Axe6H6GvXv3PxMPQNeC</td></tr></tbody></table>

By following the methods outlined in this guide, users can effectively trace SOL to SOL transactions and identify original funding sources with precision. Cross-chain transactions, however, require additional resources and deeper analysis.

{% content-ref url="/pages/7CJJhynTS4bSXUxwDOmC" %}
[Trading Strategies](/tracking-academy/trading-strategies)
{% endcontent-ref %}

<figure><img src="/files/xQ0iD4outNRz9BZQL10T" alt="" width="293"><figcaption></figcaption></figure>


# How to Find Early Buyers Using Dexscreener - Vic

Content provided by Vic

Identifying wallets that purchased tokens early can provide valuable insights into profitable trading strategies. By using platforms like **Dexscreener** or similar decentralized exchange (DEX) analytics tools, traders can track early buyers and analyze their potential profitability. This guide outlines a simple and effective method to locate early buyer wallets using basic filtering techniques.

## **Step 1: Selecting a Token for Analysis**

To begin, navigate to [Dexscreener](https://dexscreener.com/) and search for a token of interest. This technique applies to any token, but for the sake of example, **Pump.fun** tokens will be used due to their consistent total supply of **1,000,000,000 tokens.**

#### **Example Token:**

Let's analyze the token with the contract address: **FprQaYuyA4CN1f7UtLd7Vd1NR9vyACBy91cE8tiGpump**

<figure><img src="/files/vWZOZmlEbzX9Tap0VAAR" alt="" width="563"><figcaption></figcaption></figure>

### **Why Pump.fun Tokens?**

* The last 4 letters of the contract address (“pump”) indicate the token originates from Pump.fun.
* Tokens from Pump.fun always have a **fixed supply**, making it easier to analyze early purchases.

## **Step 2: Understanding Market Cap and Token Pricing**

Before applying filters, it is important to assess the token’s market cap and its current price.

* **Example Token Market Cap:** $42.5M
* **Example Token Price:** $0.04271 per token

As the market cap grows, purchasing large amounts of tokens becomes increasingly expensive. Therefore, early buyers who acquired tokens at a much lower price often hold a significant advantage.

## **Step 3: Applying Filters to Identify Early Buyers**

Once on the Dexscreener token page, apply the following filters to narrow down potential early buyers:

#### **Filters to Apply:**

1. **Transaction Type:** Set to **BUY** (only show buy transactions).
2. **Amount of Tokens Purchased:**
   * Minimum of **5,000,000 tokens** to identify substantial early purchases.

<figure><img src="/files/bmdlbg3GGqjPyepQA42L" alt="" width="563"><figcaption></figcaption></figure>

## **Step 4: Analyzing Filtered Results**

After applying the filters, scroll down to the earliest wallet purchases and look for key details.

#### **What to Look For in an Early Buyer:**

* **Large Token Purchases:** Wallets that acquired significant token amounts at lower prices.
* **Entry Price:** Check the cost per token during the purchase.
* **Profitability Indicator:** On Dexscreener, wallets in **green** indicate profitable trades, while those in **red** are unprofitable.

**Example Analysis:**

Consider a wallet that bought **27,388,724 tokens** for **$2,581** at a price of **$0.000942 per token**, indicating an early entry.

* If the wallet is **red (unprofitable),** it suggests poor trading decisions or bad timing.
* If the wallet is **green (profitable),** it indicates successful trading strategies.

<figure><img src="/files/z5FkmRhsDncD9d23zohM" alt="" width="563"><figcaption></figcaption></figure>

## **Step 5: Identifying Profitable Early Buyers**

Continue scrolling through the filtered transactions to locate wallets that meet the following criteria:

1. **Profitable Trades (Green Status):**
   * Wallets that bought early and currently show profit.
   * Example: A wallet that turned **$5,000 into $100,000**, indicating a highly successful early purchase.
2. **Buying Early at Low Prices:**
   * Identify wallets that purchased tokens at the lowest available prices.

<figure><img src="/files/uW4u6r0QvC9sAEpOhMFZ" alt="" width="563"><figcaption></figcaption></figure>

## **Step 6: Next Steps After Identifying Early Buyers**

Finding early buyers does not automatically mean they are worth copying. Further analysis is required before deciding to mirror their trades.

### **Steps to Take Before Copy-Trading a Wallet:**

1. **Transaction History Analysis:**
   * Check if the wallet has consistently profited from other token trades.
2. **Check for Diversification:**
   * Ensure the wallet is not solely dependent on one token for profitability.
3. **Monitor for Exit Patterns:**
   * Watch if the wallet sells portions gradually or exits in one go.

## **Step 7: Additional Analysis Considerations**

Before making decisions based on early buyers, take into account the following:

* **Token Longevity:**
  * Analyze the project’s roadmap and longevity to avoid short-term hype-driven buys.
* **Liquidity Levels:**
  * Ensure that liquidity is sufficient for profitable selling without major slippage.
* **Community Sentiment:**
  * Review social media and project updates to gauge the token’s popularity.

## **Conclusion**

Finding early buyers can provide valuable insights into profitable trading strategies. However, simply following their trades without further research can be risky. By using platforms like Dexscreener and applying proper filters, traders can spot opportunities, analyze early adopters, and make informed trading decisions.

**Key Takeaways:**

1. Use filters to locate early buyers with significant holdings.
2. Focus on wallets that show consistent profitability.
3. Conduct thorough research before mirroring any trades.

By following these steps, traders can improve their chances of identifying high potential tokens and maximizing profits.

For detailed explanations with examples, visit our official blog:

{% embed url="<https://www.odinbot.io/finding-profitable-wallets-the-early-buyer-filter-technique/>" %}

{% content-ref url="/pages/7CJJhynTS4bSXUxwDOmC" %}
[Trading Strategies](/tracking-academy/trading-strategies)
{% endcontent-ref %}

<figure><img src="/files/xQ0iD4outNRz9BZQL10T" alt="" width="304"><figcaption></figcaption></figure>


# How to Spot a Great Wallet for Copy-Trading - Vic

Content provided by Vic

## 1. Starting With the Basics: The Numbers That Matter

### Win Rate

<figure><img src="/files/ftJlpjzYcqkpYqrCrJqK" alt="" width="563"><figcaption></figcaption></figure>

Win rate is often the first thing traders check when evaluating a wallet, but focusing solely on this number can make you miss great opportunities.

* **Ideal Win Rate:** Aim for **60-65%**. Lower rates can indicate gambling behavior, while higher than **90%** might signal manipulation.
* **Win:Loss Ratio:** Profits matter more than the win rate itself. A wallet with a 50% win rate but high returns is more valuable than one with a 90% win rate and small profits.
* **Example:** If a wallet wins 5 trades with a total gain of $10,000 and loses 5 trades with a total loss of $1,000, its win rate is only **50%**, but the net profit is **$9,000**.

### ROI (Return on Investment)

<figure><img src="/files/CyoSwRQBRTFaTkGSzCpV" alt="" width="563"><figcaption></figcaption></figure>

ROI tells you how much money a wallet makes in proportion to its investment. It's a crucial metric, but understanding **how it’s generated** is just as important as the percentage itself.

* **How ROI Works:** ROI is calculated by comparing profits to the initial investment. A **100% ROI** means a wallet doubled its initial investment (e.g., $1,000 turns into $2,000).
* **Good ROI Ranges:**
  * **30-50% ROI:** Suitable for conservative traders who prioritize stability.
  * **100-200% ROI:** Higher risk traders may target these levels for greater returns.
* **The Problem with Extremely Low ROI:**
  * Wallets with **less than 20-30% ROI** may not be worth copying. After factoring in **Solana’s transaction fees, speed tip and OdinBot’s 1% trading fee**, these traders may barely break even, or even lose money if trading with smaller trade sizes.
* **Be Cautious of Unrealistic ROI:**
  * Wallets showing **over 500%+ ROI in a short period** should be approached with skepticism.
  * Many of these high ROI wallets **rely on highly speculative tokens** or engage in strategies that are difficult for copy traders to replicate.
* **Matching ROI to Your Strategy:**
  * Don't just chase the highest ROI. Instead, find a wallet that aligns with your **risk tolerance, trading style, and sol balance**.

## 2. Quality of the Traded Tokens

A great ROI and win rate do not mean much if a wallet is trading scam tokens. Here’s how to spot a quality wallet:

* **Avoid Red Flags:** If a wallet frequently trades tokens marked with “red danger sign,” it is likely involved in quick pump and dump schemes.
* **Look for Stability:** The best wallets trade established tokens with real market activity and liquidity.
* **Evaluate Trading Patterns:**
  * Check if the wallet trades during the **bonding curve** or shortly after tokens hit **Raydium**. This indicates strategic entry points rather than random gambling.
  * Observe if the wallet trades tokens that maintain activity **days after purchase**, instead of those that collapse immediately after a pump.

#### Example Comparison:

* **Bad Wallet (5rEYJuDHGp4BWaTcn1RrSWg5XZCs3LRMc9Edezsck1hN)**
  * Trades mostly low liquidity tokens that show **huge price spikes followed by rapid crashes**.
  * Often exits before others can, leaving copy-traders stuck with losses.
  * Contains multiple trades flagged with the **red danger sign**.

<figure><img src="/files/D0nNtQCc4AxfFNii6tDd" alt="" width="375"><figcaption></figcaption></figure>

* **Good Wallet (CFqDUKDfAN9wadUwUBrb3LCEy8fjx7zqJnYXMd7P6JMv)**
  * Trades tokens that maintain healthy market activity even after their initial spike.
  * Shows **consistent liquidity** in trades, ensuring positions can be entered and exited efficiently.
  * Avoids assets prone to **rug pulls** and price manipulation.

<figure><img src="/files/PnJbP0t1lyGIZ8veRSIM" alt="" width="375"><figcaption></figcaption></figure>

#### What This Means for Copy-Trading

* Copy-traders should **prioritize wallets that trade tokens with organic price movement** and enough liquidity to prevent instant crashes.
* Avoid wallets focusing on **short lived trends** that make profitable copy-trading impossible.

## 3. Holding Duration

Holding time is crucial in copy trading because if a wallet buys and sells within seconds, you likely will not be able to copy it effectively.

* **High-Risk Wallets:** Avoid wallets holding for less than **2-3 minutes**, as these are nearly impossible to follow.
* **Better to Copy:** Look for wallets that hold tokens for **hours or even days**, giving copy traders time to react.
* **Example:**
  * **Bad Wallet (5rEYJuDHGp4BWaTcn1RrSWg5XZCs3LRMc9Edezsck1hN):** Holds tokens for mere seconds.

<figure><img src="/files/hnkiZlvPfWveuFZFj5WC" alt="" width="563"><figcaption></figcaption></figure>

* **Good Wallet (8FGQCoSqZkiYWPgvShkg8HxEsxvxC5v5nqxTaS9rkVgJ):** Holds trades for hours or days, making them easier to copy.

<figure><img src="/files/b2JjQT9YD7aIybt1Zjot" alt="" width="563"><figcaption></figcaption></figure>

## 4. Trading Frequency

The trading frequency of a wallet plays a crucial role in copy-trading success. A wallet's activity level can impact both costs and overall profitability.

* **High Frequency Traders:**
  * Execute 20+ trades daily.
  * May produce strong returns but incur higher transaction fees.
  * Require larger capital balance to sustain consistent profits.
* **Moderate Frequency Traders:**
  * Execute a few well timed trades per day or week.
  * Allow for better capital management and lower fees.
  * Often maintain a stable strategy with reduced risk exposure.
* **Low Frequency Traders:**
  * Execute fewer than 5 trades per week.
  * Focus on long term positioning and strategic entries.
  * Best suited for copy traders looking to minimize transaction costs.

### Choosing the Right Frequency

* High frequency traders are best suited for advanced copy-traders with higher capital.
* Moderate frequency traders provide a balance between trade volume and risk.
* Low frequency traders are ideal for those seeking minimal fees and longer term stability.

## 5. Is the Wallet Already Being Heavily Copied?

If many traders are already copying a wallet, your entry price will likely be worse than theirs. A wallet that is too popular can cause copy-traders to enter trades at inflated prices and exit with losses.

* **Signs of a Heavily Copied Wallet:**
  * **Sudden Price Spikes:** Watch for **10-20% price increases** seconds after the wallet buys.
  * **Sharp Pullbacks:** If a token’s price surges and then rapidly crashes, it suggests heavy copy trading pressure.
  * **Unusual Buy Patterns:** If a token’s price consistently jumps after the same wallet trades, it may be attracting too many followers.

For more thorough explanations visit:

{% embed url="<https://www.odinbot.io/how-to-identify-already-copytraded-wallets/>" %}

### Final Thoughts: What Makes a Wallet Worth Copying?

1. **Win Rate & ROI:** Aim for a **60-65% win rate** and at least **30-50% ROI**.
2. **Token Quality:** Avoid wallets trading low liquidity scam tokens.
3. **Holding Duration:** Copy wallets that hold tokens **for several hours or days**.
4. **Trading Frequency:** Ensure the wallet’s trading style matches your capital.
5. **Copytrading Status:** Avoid heavily copy-traded wallets with extreme price spikes.

For detailed explanations with examples, visit our official blog:

{% embed url="<https://www.odinbot.io/how-to-spot-a-great-wallet-for-copytrading/>" %}

<figure><img src="/files/xQ0iD4outNRz9BZQL10T" alt="" width="304"><figcaption></figcaption></figure>


# Looking Beyond Numbers: Behavioral Wallet Analysis - Vic

Content provided by Vic

You’ve likely noticed how relying solely on win rates and ROI when analyzing wallets for copy-trading decisions leaves out crucial parts of the story. While these metrics matter, understanding wallet behavior reveals insights that numbers alone can’t show.

## Key Components of Behavioral Wallet Analysis

### 1. Trading Patterns

Through our analysis of many wallets, it was discovered that the rhythm and timing of trades reveal far more about a wallet’s strategy than its raw performance metrics. You’ll want to focus on identifying methodical trading sequences that align with specific market conditions, as this approach consistently helps spot wallets with sustainable strategies that are overlooked by many (because they only focus on numerical metrics).

A common scenario that highlights why behavioral analysis matters: You might come across a wallet with a low win rate that appears to be consistently losing money. However, upon closer inspection, you realize it’s actually generating profits through effective roundtrip trades or simply missing optimal exit points.

If you had relied solely on static metrics like win rate and ROI, you might have overlooked some potentially profitable wallets.

### 2. Initial Screening Process

Since analyzing every wallet in detail isn’t practical, we recommend starting with a quick initial screening process. These key metrics serve as effective filters:

**Your initial check should confirm (in order):**

* The wallet is currently profitable.
* Win rate exceeds 50% (ideally 60% or higher).
* ROI demonstrates strong returns (above 50%).
* Trading sizes show consistency rather than extreme changes.

### 3. Smart Money Moves

The way wallets adjust their position sizes across different market conditions reveals crucial insights. The most reliable wallets demonstrate sophisticated scaling patterns, starting conservatively and increasing exposure only when their strategy proves effective. This dynamic risk management approach helps distinguish professional traders from lucky ones who are just gambling.

The most successful wallets maintain a steady pattern in their position sizing, making notable size increases only when their confidence is particularly high. Equally important is their buy/sell ratio: how often they sell compared to how often they buy can reveal crucial insights about their strategy and risk management.

For example, the wallet **7bHHeSmhyQFjEkg7y4GyEAqidVEqn3k29QNDLKYNqJqp** consistently buys once, showing both confidence and consistency. A wallet that buys only once but is making very good profits with a high win rate must definitely know something!

<figure><img src="/files/iuMqWVGpiC7naV32bgPY" alt="" width="563"><figcaption></figcaption></figure>

Additionally, consider a wallet that typically trades with 1 SOL but occasionally places larger 3-5 SOL trades that result in exceptional returns. Such behavior might indicate insider knowledge of certain projects. To validate this pattern, observe if these larger than usual positions consistently result in higher returns.

For example, if a wallet's bigger sized trades tend to lose more, you can safely avoid copy-trading tokens when the wallet increases its trade size beyond its normal range.

### 4. Entry Points

When analyzing wallets, you can spot clear patterns in how they select their tokens. The best performers tend to show remarkable consistency in their entry points:

* Does the wallet buy a token in its very early stages?
* Does it prefer multi-million market cap tokens?

Interestingly, wallets that trade early stage tokens on platforms like Pump.fun or pre-bonding often achieve higher ROIs compared to their trades on larger market cap tokens. However, this is a double-edged sword, very small market cap tokens carry higher risks of failing quickly.

For instance, the wallet **6oXqLE7x8wjJcSuSTCGpkr44a2aGUFj1oSmQcGqHGkfj** is heavily copy-traded and tends to generate its biggest gains by consistently buying tokens during the Pump.fun phase before migration.

<figure><img src="/files/ylSlNDkb9bD6MT0G9Bch" alt="" width="563"><figcaption></figcaption></figure>

Does this mean you should copy-trade all its Pump.fun buys? Absolutely not. But identifying its trading patterns allows you to better anticipate market movements and make more informed copy-trading decisions.

### 5. Taking Profits & Market Adaptation

Achieving impressive returns occasionally doesn’t tell the whole story. What truly matters is finding wallets that hit those 2-3x gains consistently rather than getting lucky once in a while. This steady approach demonstrates expertise rather than sheer luck.

Pay attention to how wallets handle their exits. Strong traders show clear patterns: They don’t randomly take profits but adapt based on how the token is moving and the overall market conditions. Some may hold longer in strong trends while taking quicker profits in choppy markets, but they stick to their core strategy.

For instance, the wallet **79ghxHDPFM3uSEpq9rKEDbgcXY1DSDtKMNJoBU5TxnHj** consistently maintains strong ROIs despite occasional losses. This suggests the wallet may have access to valuable information or a strategic approach worth monitoring.

<figure><img src="/files/Do8KURJmmxohbIMOPEz4" alt="" width="563"><figcaption></figcaption></figure>

A crucial warning sign: When a wallet suddenly changes how it trades especially in trade sizes or frequency it might indicate a shift in strategy or deteriorating performance. If you notice this, it’s a good reason to reconsider copy-trading that wallet.

## Conclusion

While initial metrics like win rate and ROI provide a good starting point, digging deeper into wallet behavior can be incredibly rewarding.

Yes, it takes more time to analyze patterns in position sizing, trading frequency, and market adaptation, but this extra effort often reveals hidden gems that others might miss.

Just remember: There’s no such thing as perfect wallet analysis. These patterns and behaviors should guide your decisions, not dictate them. Use behavioral analysis as one tool in your arsenal, alongside traditional metrics and your own judgment.

For detailed explanations with examples, visit our official blog:

{% embed url="<https://www.odinbot.io/looking-beyond-numbers-behavioral-wallet-analysis/>" %}

<figure><img src="/files/xQ0iD4outNRz9BZQL10T" alt="" width="304"><figcaption></figcaption></figure>


# Pump.fun 101: Wallets, Analysis and Insights - Vic

Content provided by Vic

Pump fun has emerged as a prominent platform for meme coin creation on Solana. Thousands of tokens appear every day. While 99 percent of them fail, a few may achieve significant growth. By identifying and following the right wallets early, traders can encounter worthwhile opportunities provided they manage the risks properly.

## What is Pump fun?

<figure><img src="/files/UopoIyRREctpB2Nue0TL" alt="" width="563"><figcaption></figcaption></figure>

Pump fun is a user friendly platform on the Solana network. It allows anyone to create meme coins in just a few seconds. It offers:

* Smart contract creation
* Liquidity pool setup
* Basic marketing tools and analytics

Although creating a token is simple on Pump fun, genuine success relies on marketing, community building, and consistent activity.

{% content-ref url="/pages/8a1L3fn8Uyw9CKJVer0P" %}
[Pump.fun Explained: A Guide to Copy-Trading Success - Vic](/tracking-academy/trading-strategies/pump.fun-explained-a-guide-to-copy-trading-success-vic)
{% endcontent-ref %}

## Pros and Cons of Pump fun

### Potential Advantages

* **Early Discovery**\
  If you invest in a legitimate project at its earliest stage, you may benefit from substantial returns.
* **Accessibility**\
  Because the entry threshold is low, it is easier to spot new tokens early.

### Main Drawbacks

* **High Failure Rate**\
  Many new tokens do not survive. Some are abandoned or turn out to be scams or rug pulls.
* **Crowded Market**\
  Thousands of meme coins appear each day, making it difficult to find promising ones.
* **Volatility**\
  Price swings can be extreme, especially with initial market caps of around 5,000 USD.

#### **Key Point**

Early entry can be very profitable, but there is a high risk of total loss. Always do thorough research and manage your risk carefully.

## Track Pump.fun Wallets

In spite of the volatility, some experienced traders profit from Pump.fun tokens. This guide explains how OdinBot helps you discover and copy-trade these successful wallets.

### Wallet Sourcing

[OdinBot’s Discord](https://discord.gg/NA8uV2JwVr) channel highlights at least 50 potentially profitable wallets daily. Copy-trading them blindly is rarely effective, so you should apply your own analysis to filter out high-risk tokens.

<figure><img src="/files/iNRAU5QyQdV8PRKdvFnH" alt="" width="563"><figcaption></figcaption></figure>

## OdinBot’s Trading Speeds for Pump.fun

All speed tiers can execute copy-trades in less than one second. The primary difference is how they handle local network congestion and heavy trading activity. Under typical conditions, even the Standard tier performs well, however, more competitive or congested environments may require faster tiers to ensure rapid confirmation.

<figure><img src="/files/vFuxpgk2NzE60ofbGcDW" alt="" width="270"><figcaption></figcaption></figure>

1. **Standard**
   * Ideal for low to moderate congestion
   * Trades usually complete in under one second
   * Cost-effective and stable for calmer market scenarios
2. **Turbo**
   * Maintains high speed even when the network is moderately congested
   * Balances cost and speed for everyday trading activity
3. **Godly**
   * Fastest tier, designed for intense competition or extreme congestion
   * Ensures minimal delay when split-second execution is critical
   * Useful if you are following wallets that move large volumes and cause sharp price swings
   * It can be extremely expensive

{% content-ref url="/pages/vE9an6jTsFdSeN52ZYQH" %}
[What's the difference in speed tiers and which one to choose?](/faqs/6.-frequently-asked-questions/whats-the-difference-in-speed-tiers-and-which-one-to-choose)
{% endcontent-ref %}

## Pump.fun Wallet Analysis

### 1. Win Rate and ROI

* **Why Win Rate Can Mislead**\
  A high win rate does not always indicate real success. Some traders accept small losses often to discourage copycats, then make large gains on winning trades.
* **Focus on Overall Profit**\
  Check trade amounts and the ratio of wins to losses. A 50 percent win rate can still be very profitable if the winning trades are large and the losses stay small.

#### **Example:**

A trader invests 100 USD in 10 tokens.

* Five trades lose 50 USD each → total loss of 250 USD
* Five trades profit 300 USD each → total of 1,500 USD

Despite a 50 percent win rate, the total profit is 1,250 USD.

## Token Quality and Buy Sizes

* **Low Liquidity Challenges**\
  Most Pump.fun tokens begin with a 5,000 USD market cap. Even moderate buys or sells can shift the price by 10 to 20 percent.
* **Delayed Copy-Trades**
  * Buying: You buy after the wallet you copy, resulting in a higher price.
  * Selling: You exit after the original wallet, potentially at a lower price.
* **Liquidity Threshold**
  * Many tokens never break the 10,000 to 15,000 USD market cap mark.
  * You should focus on wallets that trade tokens above or near that level to reduce slippage and extreme price impact.

## OdinBot Settings for Meme Tokens

<figure><img src="/files/oTm3CUqSnFXeHSn8Cvi3" alt="" width="220"><figcaption></figcaption></figure>

* **Degen Mode**\
  Disabling Degen Mode helps filter out extremely risky tokens. (Does not apply to Pump.fun transactions)

{% content-ref url="/pages/iGLujvVraEBDhzQw4Se1" %}
[Odinbot's price protection prevented execution of the trade](/faqs/7.-most-common-issues-with-odinbot-not-mirroring/odinbots-price-protection-prevented-execution-of-the-trade)
{% endcontent-ref %}

* **Pump.fun Slippage**
  * Early stage tokens often need 10 to 50 percent slippage, if not more.
  * Tokens at 10,000 USD or higher market cap typically work with 5 to 10 percent slippage.
  * OdinBot calculates slippage based on your mirror wallet’s execution price. For example, if the wallet buys at 10 USD and your slippage is 50 percent, your purchase is capped at 15 USD. If the price goes beyond 15 USD, your trade fails.

{% content-ref url="/pages/9hikdYX21Xm6T8Be1sSf" %}
[Pump.fun transactions failing due to slippage](/faqs/7.-most-common-issues-with-odinbot-not-mirroring/pump.fun-transactions-failing-due-to-slippage)
{% endcontent-ref %}

* **Aggressive Tactics**
  * Increase slippage to about 25 to 50 percent.
  * Add a buy tip, for instance 0.01 SOL when spending 1 SOL, to gain priority.
  * Larger buy sizes cause bigger price shifts, so they also require higher slippage.

## Trading Frequency

* **High Activity**\
  Some Pump.fun wallets make numerous trades daily. This is not necessarily negative, but it often indicates higher risk.
* **Red Flags**\
  Watch out for wallets that frequently trade “Danger” tokens or ones known for rug pulls. Examples include:
  * **BeyDWcMpaVN9EX7Ezr46PUy93gjCMw5WcXWzuTo64tr2**
  * **H4Ddgnv9hgFyWoB7rT3MUd1n9RuV7ZjKe1ffghBJ87u8**
  * **8qcu6FfKqKLfJxYbDPLwi53o9Lu96bUtVnGkcX1zbm5Y**

## Already Copy-Traded Wallets

* **Instant Price Surges**\
  When multiple people copy-trade the same wallet, the market can jump by 10 to 20 percent within seconds. Copy-traders usually buy higher and sell lower than the original wallet.
* **Spotting Over-Copied Wallets**\
  Check 1 second price candles right after a wallet’s buy or sell. If you see a 15 to 20 percent move almost immediately, it is likely heavily copy-traded.

{% embed url="<https://www.odinbot.io/how-to-identify-already-copytraded-wallets/>" %}

## Final Thoughts

Pump.fun tokens are risky because they begin with very low liquidity. Prices can surge or plunge quickly, and many tokens never climb past 10,000 to 15,000 USD in market cap. Nevertheless, you can earn profits by choosing the right wallets and managing risk effectively. Keep these points in mind:

1. Focus on tokens already near or above a 10,000 USD market cap.
2. Evaluate total gains rather than just the win rate.
3. Watch for heavy copy-trading that may lower your own returns.
4. Adjust slippage settings to reflect the token’s liquidity level.
5. Skip wallets that often trade high-risk “Danger” tokens.

**Reminder**\
Controlled, well researched trades usually outperform aggressive methods that chase extreme volatility.

For detailed explanations with examples, visit our official blog:

{% embed url="<https://www.odinbot.io/pumpfun-101-wallets-analysis-and-insights/>" %}

<figure><img src="/files/xQ0iD4outNRz9BZQL10T" alt="" width="304"><figcaption></figcaption></figure>


# Copy-Trading 101: Building a Profitable Strategy with OdinBot

Content provided by Vic

Many traders begin copy-trading excited by the prospect of quick profits, but without a clear strategy. While mirroring wallets that show rapid growth might seem appealing, doing so without a structured approach often results in unexpected losses.

This guide outlines a step by step strategy to help you build sustainable profits using OdinBot’s copy-trading tools on the Solana blockchain.

## Strategic Foundations: Start Small to Grow Safely

Proper position sizing is essential for long-term success. If you're new to copy-trading, starting with smaller amounts allows you to test the platform, understand the market, and develop your strategy without risking too much capital.

#### Recommended Starting Strategy:

* **Begin with 0.5–1 SOL**

  This amount allows multiple small trades, reducing the risk of significant losses early on.
* **Trade in Small Amounts (0.1 SOL per trade)**\
  Small trades help you learn from mistakes without heavily affecting your portfolio.
* **Use the Standard Speed Tier**\
  The Standard tier provides balanced speed and cost efficiency. If your portfolio allows, the Turbo tier offers faster transactions but incurs higher fees.

## The Importance of Discipline: Quality Over Quantity

Frequent trading might be tempting, but a disciplined approach yields better long-term results. Set clear limits to ensure your capital is used effectively:

* Maintain a consistent trade size (e.g., 0.1 SOL per trade).
* Limit buys to **two per hour** and **three per day**.
* Restrict yourself to **one trade per token per day or week**, depending on token quality.
* Only trade tokens with a minimum market cap of **20,000 USD** to avoid scams or high-risk tokens.
* Initially, follow **1-2 wallets** to maintain focus and better assess performance.

## Selecting the Right Wallets to Mirror

Choosing wallets carefully is crucial for successful copy-trading. We recommend looking for wallets with:

* Moderate trade frequency (**fewer than five daily trades**).
* Reasonable holding periods (**at least 10 minutes, ideally several hours or days**).
* Consistent trading behavior rather than random or gambling like activity.
* A realistic win rate between **60-65%**. Extremely high win rates may indicate manipulation.

### Further Resources for Wallet Selection:

{% content-ref url="/pages/bGkiiZkcwPjqbT0z2tPM" %}
[Types of Wallets: Understanding Their Roles in Copy-Trading](/tracking-academy/types-of-wallets-understanding-their-roles-in-copy-trading)
{% endcontent-ref %}

{% content-ref url="/pages/0kdFBuI39r8tjQnDIF1c" %}
[How to Spot a Great Wallet for Copy-Trading - Vic](/tracking-academy/trading-strategies/how-to-spot-a-great-wallet-for-copy-trading-vic)
{% endcontent-ref %}

{% content-ref url="/pages/GbllLW8VjT9ZIUIw8nTi" %}
[For Finding Wallets](/tracking-academy/tools/for-finding-wallets)
{% endcontent-ref %}

## Managing Risk Effectively

Proper risk management is the difference between consistently profitable trading and losing your funds. OdinBot provides helpful tools to protect your investments.

#### Key Risk Management Practices:

* **Stop-Loss Settings**: Set a stop-loss around 40% to protect against large losses. History shows tokens dropping more than 40% usually decline further.
* **Take-Profit Settings**: Decide when to secure profits based on your strategy (e.g., fully sell at a 50% gain or sell half at 100% to lock in profit and reduce risk).

OdinBot's **Auto-Sell Profiles** feature helps automate these settings, ensuring you stick to your plan consistently.

{% content-ref url="/pages/85tGgjk3Icn4tg2tnsxb" %}
[4.3 Auto-Sell Profiles](/setup-and-initialization/4.-odinbots-controls/4.3-auto-sell-profiles)
{% endcontent-ref %}

## Adopting a Long-Term Mindset

Copy-trading success is about patience and consistent growth, not instant profits. Focusing on long-term improvement, rather than chasing quick returns, will help you develop your skills and build your portfolio steadily.

### Recommendations for Sustainable Success:

* Document your trades and learn from your successes and failures.
* Aim for smaller but consistent gains (20-50%) rather than trying to win big on every trade.
* Recognize that compounding moderate profits (e.g., 20% per week) over time can substantially increase your portfolio value without relying on risky trades.

For more insights into mindset and risk management strategies, refer to:

{% content-ref url="/pages/ks2JKefKi9TTQVfQDGfp" %}
[Risk Management and Trade Strategies - charlespurrgeon](/tracking-academy/trading-strategies/risk-management-and-trade-strategies-charlespurrgeon)
{% endcontent-ref %}

{% content-ref url="/pages/S00B8IM43ey1c6w8R1uB" %}
[The 9 Critical Copy-Trading Mistakes to Avoid - Vic](/tracking-academy/trading-strategies/the-9-critical-copy-trading-mistakes-to-avoid-vic)
{% endcontent-ref %}

## Conclusion: Beginning Your OdinBot Journey

Copy-trading with OdinBot becomes profitable when approached strategically. Begin with small amounts, follow carefully selected wallets, maintain disciplined risk controls, and focus on steady growth rather than rapid profits.

Consistent, strategic actions will position you ahead of traders who take unnecessary risks. With patience and careful planning, OdinBot can become a powerful tool for growing your crypto investments safely and sustainably.

For detailed explanations with examples, visit our official blog:

{% embed url="<https://www.odinbot.io/how-to-turn-the-odds-in-your-favour/>" %}

<figure><img src="/files/xQ0iD4outNRz9BZQL10T" alt="" width="304"><figcaption></figcaption></figure>


# Tools

Here you will find all the essential tools required to become an experienced hunter in the crypto trading space. These tools will help you analyze wallets, track transactions, and optimize your copy-trading strategies effectively.

<details open>

<summary><strong>For Finding Wallets</strong></summary>

[OdinBot Pro](/tracking-academy/tools/for-finding-wallets/odinbot-pro)

[OdinBot's Discord Server](https://docs.odinbot.io/tracking-academy/tools/for-finding-wallets#odinbots-discord-server)

[Dune Dashboard](/tracking-academy/tools/for-finding-wallets/dune-dashboard)

[GMGN for Wallet Discover](/tracking-academy/tools/for-finding-wallets/gmgn-for-wallet-discovery)

[Using DEX Platforms](/tracking-academy/tools/for-finding-wallets/using-dex-platforms)

[Cielo Finance for Wallet Analysis](/tracking-academy/tools/for-finding-wallets/cielo-finance-for-wallet-analysis)

[Solscan for in-depth Analysis](/tracking-academy/tools/for-finding-wallets/solscan-for-in-depth-analysis)

</details>

{% content-ref url="/pages/gmJN8EpRvyH3w6O6boRE" %}
[For Monitoring Wallets](/tracking-academy/tools/for-monitoring-wallets)
{% endcontent-ref %}


# For Finding Wallets

Finding profitable crypto wallets can be time consuming, particularly when searching for high potential opportunities.

**Important Reminder:** There is no universally best approach. Each method has its advantages and drawbacks, and all require diligence and patience.

## [OdinBot Pro](/tracking-academy/tools/for-finding-wallets/odinbot-pro)

OdinBot Pro solves the core challenge of copy-trading by screening millions of wallets in under a second. Instead of manually checking thousands of traders or relying on hype, it filters wallets by exact performance metrics and provides a complete breakdown of their trading behavior to surface consistently profitable traders.

<figure><img src="/files/NDGSK2wopDPF2KEkm3Ni" alt="" width="563"><figcaption></figcaption></figure>

### Key Features and Approaches

* **Wallet Screener:** Combine strict filters like Success Rate, Median RoI, Active Days, and Total PnL to isolate traders with established, long-term profitability.
* **Risk Mitigation:** Filter out low-quality accounts by setting parameters for bot usage percentage, median buy market cap, and hold times. This eliminates traders who rely on luck or high-risk patterns.
* **Precision Sorting:** Rank your filtered list by specific metrics to instantly bring the highest-performing wallets to the top of your results.
* **Detailed Wallet Analysis:** Dive deep into individual wallets to evaluate real profit versus inflated metrics, assess entry timing, and track transfer behavior for funding sources.

<figure><img src="/files/E9bX4cdBIzNqOcJs4VRU" alt="" width="563"><figcaption></figcaption></figure>

{% content-ref url="/pages/uzUEoS1ux5RUZLWIV8UA" %}
[OdinBot Pro](/tracking-academy/tools/for-finding-wallets/odinbot-pro)
{% endcontent-ref %}

## [OdinBot's Discord Server](/faqs/8.-odins-alpha-potential-wallets-to-mirror)

The OdinBot Discord community identifies up to 50 high-performing trading accounts daily. However, these should serve as a starting point, and thorough evaluation is necessary before replicating trades.

<figure><img src="/files/tdOhD6qZYWoORwqK71YL" alt="" width="563"><figcaption></figcaption></figure>

### Key Factors to Consider

* **Past Trading Record:** Analyze the complete transaction history. Look for consistent performance instead of isolated wins.
* **Risk Management:** Even successful traders experience losses. Start with small investments and only risk what you can afford to lose.
* **Due Diligence:** Cross-reference activities using platforms like GMGN and Solscan to verify trading behaviors and identify potential risks.

**Note:** Automated copying does not guarantee success. Conduct personal research to mitigate risks.

{% content-ref url="/pages/BKa7WVv0eo7f9JwiUxVs" %}
[8. Odin's Alpha - Potential wallets to mirror](/faqs/8.-odins-alpha-potential-wallets-to-mirror)
{% endcontent-ref %}

## [Dune Dashboard](/tracking-academy/tools/for-finding-wallets/dune-dashboard)

[Dune.com](https://dune.com) is a leading analytics platform that tracks approximately 1,500 high-performing wallets daily. It provides crucial trading metrics, including volume, profit ratios, and historical performance.

<figure><img src="/files/2VQXIj29LDYLEiLjsyho" alt="" width="563"><figcaption></figcaption></figure>

#### Advantages of Using Dune:

* **Free Access:** Open to all users, making it an excellent starting point.
* **Data Visualization:** Comprehensive tracking of real-time and historical patterns.
* **Competitive Nature:** Since it is publicly accessible, multiple traders might follow similar strategies.

{% content-ref url="/pages/FJWomvjbh6aHzFrMCttj" %}
[Dune Dashboard](/tracking-academy/tools/for-finding-wallets/dune-dashboard)
{% endcontent-ref %}

## [GMGN for Wallet Discovery](/tracking-academy/tools/for-finding-wallets/gmgn-for-wallet-discovery)

[GMGN.ai](https://gmgn.ai) is a powerful AI-driven tool for tracking and analyzing wallets with two primary approaches:

1. **CopyTrade Section:**
   * GMGN highlights wallets it considers suitable for copy-trading.
   * **Caution:** These wallets are accessible to everyone, so thorough research is necessary before following trades.
2. **Manual Token Investigation:**
   * Enter the token’s contract address to explore wallet holders via the "Holders Tab."

### Categories to Focus On:

* **Smart Traders:** Consistently profitable traders with disciplined strategies.
* **KOL/VC Traders:** Influential industry figures.
* **Fresh Discoveries:** Recently active wallets with early success.
* **Insider Activity:** Wallets showing impressive market timing.

Avoid wallets marked as **Phishing** or **Bot Degen** due to potential risks.

{% content-ref url="/pages/Yh7emNJ7NxaQKs5eRrvc" %}
[GMGN for Wallet Discovery](/tracking-academy/tools/for-finding-wallets/gmgn-for-wallet-discovery)
{% endcontent-ref %}

## [Using DEX Platforms](/tracking-academy/tools/for-finding-wallets/using-dex-platforms)

DEX platforms like DexScreener, Photon, and Defined.Fi offer valuable insights for identifying potential copy-trading wallets.

### Key Approaches:

* **Top Traders Section:** Displays wallets with the highest PnL in a given token.
* **Wallet Tracking:** Use Solscan to analyze token transfers and origins.

### Categories to Focus On:

* **High PnL Traders:** Consistently profitable wallets with sustainable trade patterns.
* **Fresh Wallets:** Newly funded accounts with early potential.
* **Token Snipers:** Wallets that buy tokens early, often requiring advanced tools.
* **Influential Traders:** KOL/VC wallets that impact market sentiment.

### Important Considerations:

* **Cross-verify Data:** Check multiple platforms for accuracy.
* **Avoid Risks:** Be cautious of suspicious transfers.
* **Capital Needs:** Top traders operate with large funds, requiring proper planning.

DEX platforms provide powerful tools, but thorough investigation is key to success.

{% content-ref url="/pages/ZQQdiBTLF0kPSiieVk3g" %}
[Using DEX Platforms](/tracking-academy/tools/for-finding-wallets/using-dex-platforms)
{% endcontent-ref %}

## [Cielo Finance for Wallet Discovery](#cielo-finance-for-wallet-discovery)

Cielo Finance is a free and powerful analytics tool designed to help traders track and analyze profitable wallets without requiring a paid subscription. It provides real time transaction insights, profit and loss (PnL) analysis, and related wallet activity tracking to identify smart money movements.

### **Key Features of Cielo Finance**

* **Wallet Transactions Overview** – Track incoming and outgoing transactions with a user friendly interface, similar to Solscan but enhanced for easier analysis.
* **PnL Tracking** – Analyze a wallet’s realized and unrealized profits, trade history, and win rates to assess its performance.
* **Related Wallet Discovery** – Identify inflow and outflow wallets, allowing users to track connected traders and potential new opportunities.
* **Telegram Wallet Alerts** – Receive real time updates on tracked wallets to react quickly to significant transactions.

### **How to Use Cielo Finance for Finding Wallets**

1. **Search for a Wallet** – Enter a wallet address to review its transaction history and trading behavior.
2. **Analyze Profitability** – Use the PnL tab to check win rates, token ROI, and trade success rates.
3. **Track Related Wallets** – Identify inflow and outflow connections to spot new profitable traders.
4. **Set Up Telegram Alerts** – Enable real time notifications to stay ahead of market movements.

{% content-ref url="/pages/fulPcUAVTFzHzoQ5hPrN" %}
[Cielo Finance for Wallet Analysis](/tracking-academy/tools/for-finding-wallets/cielo-finance-for-wallet-analysis)
{% endcontent-ref %}

## [**Solscan for Wallet Analysis**](/tracking-academy/tools/for-finding-wallets/solscan-for-in-depth-analysis)

[Solscan.io](https://solscan.io/) is a powerful tool for tracking Solana blockchain transactions, with the **DeFi Activities tab** being crucial for wallet and token analysis.

**Key Approaches:**

* **DeFi Activities Tab for Wallets:** Analyze swaps, transfers, and liquidity provisions to identify trading behavior and strategic moves.
* **SOL Movement Tracking:** Monitor inflows and outflows to detect accumulation, liquidation, and funding patterns.
* **DeFi Activities Tab for Tokens:** Track buy/sell patterns, liquidity providers, and market behavior to spot potential opportunities.

**Important Considerations:**

* Cross-verify data across platforms.
* Filter by time to analyze pre-pump activities.
* Avoid wallets with suspicious patterns.

Solscan’s DeFi tools are essential for tracking wallets, but thorough research is key to success.

{% content-ref url="/pages/8flvymzKzC2IoydjNqjO" %}
[Solscan for in-depth Analysis](/tracking-academy/tools/for-finding-wallets/solscan-for-in-depth-analysis)
{% endcontent-ref %}

For detailed explanations with examples, visit our official blog:

{% embed url="<https://www.odinbot.io/how-to-actually-find-profitable-wallets-complete-guide/>" %}


# OdinBot Pro

**OdinBot Pro** is built to solve one of the core problems in copy-trading: finding wallets that consistently generate profit. Instead of manually checking thousands of traders, OdinBot Pro screens millions of wallets in under a second, filters them by performance, and gives you the full breakdown of how they trade.

### Why OdinBot Pro is the most powerful wallet finder

Copy-trading depends entirely on the quality of the wallets you mirror. The difference between a skilled trader and a random gambler is massive, and OdinBot Pro gives you tools to tell them apart instantly.

OdinBot Pro helps you:

* Surface consistently profitable wallets
* Avoid traders who rely on luck or high-risk patterns
* Spot early entries before widespread attention
* Filter out bot wallets
* Understand not just performance but trading behavior

Instead of guessing or relying on hype, OdinBot Pro gives you real data.

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

## Wallet Screener

Open the Wallet Screener inside OdinBot Pro and begin applying filters. You can combine as many filters as you want, or start broad and then narrow down.

<figure><img src="/files/zFoW7ZCgKOqohsuPhcMG" alt="" width="264"><figcaption></figcaption></figure>

{% content-ref url="/pages/sqy87cpiUjAze3kNJVCA" %}
[What is OdinBot Pro and how to start using it?](/odinbot-pro/what-is-odinbot-pro-and-how-to-start-using-it)
{% endcontent-ref %}

Some of the most reliable starting points:

* Success Rate
* Median RoI
* Trade RoI
* Total PnL
* Active Days
* Hold Time
* Median Buy Market Cap

These metrics help isolate traders who consistently trade well.

## Filter by consistent profitability

Wallets that perform well over many trades are far more reliable than wallets with one big pump.

Useful filters for this step:

* Minimum number of trades
* Minimum number of successful tokens traded
* Trade RoI range
* Median RoI range
* Total PnL range

This highlights traders with established patterns.

## Eliminate low quality or risky traders

Not every wallet with profit is worth mirroring. Some rely on harmful patterns like chasing tokens with low liquidity, or buying late into curves.

Filters that help here:

* Bot usage percentage
* Median buy market cap (very low values indicate high risk)
* Hold time filter
* Tokens swapped (helps spot spam trading behavior)

This step helps you avoid wallets that look profitable but often lead copy-traders into bad entries.

## Sort your results

After filters are applied, sorting becomes your final precision tool.

You can apply one sort rule at a time, but you have a wide range of options. Virtually every filter corresponds to a sortable metric. This allows you to take a list of "good" wallets and immediately bring the "best" ones to the top based on your specific priority.

{% content-ref url="/pages/0eP4H2uJShvXBYHtY2He" %}
[Filters](/odinbot-pro/filters)
{% endcontent-ref %}

Common ways to rank your results:

* Total PnL: See who made the most profit
* Median RoI: See who gets the best median return on investment
* Success Rate: See who has the most successful trades
* Active Days: See who has been trading the longest
* Last Activity: See who had the most recent trade

## Detailed wallet analysis

Once you find a promising wallet, open it with OdinBot Pro's Wallet Analysis.

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

The Wallet Analysis page helps you evaluate:

* Their win and loss patterns
* Real profit vs. inflated metrics
* How early they usually buy
* How long they hold
* How they behave on profitable and losing trades
* Trading frequency
* Transfer behavior (detects funding sources and patterns)

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

{% content-ref url="/pages/GbllLW8VjT9ZIUIw8nTi" %}
[For Finding Wallets](/tracking-academy/tools/for-finding-wallets)
{% endcontent-ref %}


# Dune Dashboard

Dune Analytics is a powerful blockchain data platform that allows users to access and analyze on-chain activity using pre-built dashboards and SQL queries. Dune offers a way to track top performing wallets, analyze trading strategies, and evaluate market conditions without manually sifting through raw blockchain data.

Many useful queries already exist in public Dune dashboards, making it easy for traders to leverage valuable insights without writing SQL themselves.

## 1. Token Analyzer

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

{% embed url="<https://dune.com/couldbebasic/token-analyzer>" %}

This example query analyzes a given token contract address and returns an overview of the trading activity related to that token. The key information provided includes:

* **Total SOL Spent & Earned:**\
  Displays the total SOL used for purchasing the token versus the SOL received from sales, offering insight into liquidity flow and trading volume.
* **Net Profit or Loss:**\
  Summarizes the overall profitability of wallets that have traded the token.
* **ROI Percentage:**\
  Presents the return on investment, helping to identify wallets that have performed well.

Each wallet listed in this query includes a link that leads to a more detailed analysis in the Wallet Analyzer and Solscan.

## 2. Wallet Analyzer for Copy-Traders

After using the Token Analyzer to identify wallets of interest, we can use queries that offer a detailed look at the trading performance of individual wallets.&#x20;

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

{% embed url="<https://dune.com/couldbebasic/wallet-analyzer-for-copy-traders>" %}

Although the analysis takes approximately 2-4 minutes to complete, it provides comprehensive details that are crucial for making informed copy-trading decisions.

### Detailed Insights Include:

* **Token Metrics:**\
  Information such as the token\_symbol, current\_token\_balance, and burned\_tokens helps understand the token balance and dynamics within the wallet.
* **Profitability Indicators:**\
  Metrics like real\_pnl (Realized Profit and Loss), realized\_unrealized\_combined, roi (Return on Investment), and unrealized\_profit provide a complete picture of the wallet’s profitability.
* **Trading Activity:**\
  The query tracks the volume of trades with data on total\_buys & total\_sells, triggered\_buys & triggered\_sells, and total\_tokens\_bought & total\_tokens\_sold. A comparison metric (t\_sold > t\_bought) is also included to highlight potential selling pressure.
* **Trade Timing:**\
  Key timestamps such as first\_swap, first\_sell, and last\_swap along with the buy\_sell\_time\_difference help analyze the trading pattern and activity of the wallet.

### Performance Distribution Bands

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdU8hnjlhIGJOCBkLsXK3PtZ5FX6nQnJZnfqmHI2qNIhSlrL44nRF4BnAMvpuCv4bbdXFFunGUVFcQdLWdBA_zstRHmhYJKXSkPv8SzQXrMHiqaUAOwucVwqMWRhhoqXp6XTU9flg?key=XzBnipvDzd6s4tHFrEK19N02" alt="" width="563"><figcaption></figcaption></figure>

Provides a breakdown of ROI across various ranges:

* (-100%) - (-50%)
* (-50%) - 0%
* 0% - 50%
* 50% - 100%
* 100% - 150%
* 150% - 200%
* 200% - 300%
* 300% - 500%
* 500% - 2000%
* 2000%

This detailed analysis helps to understand the complete trading history and performance profile of individual wallets. Sometimes, a wallet with a high ROI and win rate may seem ideal for copy-trading at first glance, however a deeper analysis might reveal trading patterns or irregularities that make it less favorable for copying. The insights provided by the Wallet Analyzer help you to distinguish between superficially attractive metrics and truly sustainable, strategic performance.

## 3. Top Traders for Copy-Trading

This dashboard lets you identify top performing traders on Solana, tailored precisely through adjustable user inputs, ensuring results match your specific trading goals and risk criteria.

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

{% embed url="<https://dune.com/couldbebasic/top-traders>" %}

### User Input Filters:

Customize your analysis by adjusting these inputs:

* **Days to Analyse**:\
  Sets the timeframe for analyzing recent trading activity.
* **Min Total SOL Balance**:\
  Filters wallets by their current SOL holdings.
* **Min/Max Total SOL Spent & Earned**:\
  Defines wallet activity by the volume of SOL they trade.
* **Min/Max Winrate (%)**:\
  Filters wallets by their percentage of profitable trades.
* **Min/Max Distinct Tokens Traded**:\
  Helps you find traders active across a defined number of tokens.
* **Remove Investigate Wallets**:\
  When enabled, excludes wallets flagged for irregularities, improving the quality of results.

### Dashboard Results:

After setting inputs, the dashboard returns detailed insights including:

* **Wallet Days Old**:\
  Shows how old the is the wallet.
* **SOL Balance**:\
  Current total SOL in the wallet.
* **SOL Spent & Earned**:\
  Shows the total amount of SOL a wallet spent buying tokens and the total SOL earned from selling tokens.
* **Net Profit (PnL) & ROI**:\
  Indicates the wallet’s profit and Return on Investment.
* **Winrate (%)**:\
  Percentage of successful trades, showcasing consistency.
* **Total Buys & Sells**:\
  Illustrates the trading frequency and volume.
* **Tokens Bought vs. Tokens Sold**:\
  Ensures transparency by checking for discrepancies that may require further investigation.
* **Distinct Tokens & Wins**:\
  Provides insight into trading diversity and overall success rate.
* **Last Swap Date**:\
  Indicates the most recent trading activity, allowing you to select actively engaged traders.

## How These Tools Support Copy-Trading Decisions

* **Initial Screening with the Token Analyzer:**\
  Use aggregated metrics such as **total SOL spent/earned**, **net profit** or **loss**, and **ROI** to quickly identify wallets that are actively trading a specific token. This step helps you shortlist potential traders based on their overall token performance.
* **Detailed Insight with the Wallet Analyzer:**\
  Once promising wallets are identified, dive deeper with the Wallet Analyzer. By examining profitability indicators, trading activity, trade timing, and performance distribution bands, you can assess the risk and consistency of a wallet’s trading behavior. This detailed analysis is essential, as it may reveal that a wallet with high ROI or win rate has a trading pattern that doesn’t align with your risk tolerance or strategic objectives.
* **Identifying Overall Top Traders with the Top Traders Dashboard:**

  Complementing the first two tools, the Top Traders Dashboard provides a broader perspective by highlighting wallets with consistent overall success. Key metrics include net profitability, win rates, total trading volume, and token diversity. These insights help you select traders who consistently demonstrate successful strategies and sustainable trading behaviors.

By combining these three powerful Dune Analytics dashboards, you gain a comprehensive understanding of both individual token performance and broader trader effectiveness. This complete approach ensures your copy-trading decisions align precisely with your investment goals and risk tolerance.

{% content-ref url="/pages/fydT4PQTk9WHLi2pArkE" %}
[Tools](/tracking-academy/tools)
{% endcontent-ref %}


# GMGN for Wallet Discovery

[GMGN.ai](https://gmgn.ai) is one of the most powerful tools available for wallet discovery, leveraging AI powered analytics to provide valuable insights into potential copy-trading opportunities.

GMGN offers two primary methods for finding wallets:

## 1. CopyTrade Section

The **CopyTrade** section provides daily wallets that GMGN identifies as copy-tradeable. Although this feature is great, users must conduct their own research before copying these wallets. Do not simply input them into OdinBot without prior investigation.

<figure><img src="/files/F4yAdkz7ocnmvh71HxDw" alt="" width="563"><figcaption></figcaption></figure>

### **Subcategories in the CopyTrade Section:**

* **All:** Displays all available wallets.
* **Pump SM:** Focuses on Smart Money wallets that trade Pump.fun tokens.
* **Fresh Wallets:** Highlights wallets with limited trading history and newly funded accounts.
* **KOL/VC:** Features verified influencers or venture capital wallets.
* **Snipers:** Identifies wallets that specialize in token launch sniping.

**Recommendation:** While no single category is the best, leveraging multiple categories helps to align with your copy-trading strategy.

## 2. Manual Token Investigation

GMGN also allows for manual investigation of tokens through their charting tools. By pasting the contract address in the search bar, users gain access to the **Holders Tab**, which contains numerous subcategories.

<figure><img src="/files/j8ZtbAXREnvLuQYJcdyd" alt="" width="563"><figcaption></figcaption></figure>

### **Categories within the Holders Tab:**

* **Smart Traders:** Wallets consistently generating profits through disciplined trading.
* **KOL/VC Traders:** Influencers and industry leaders with the potential to impact market trends.
* **Fresh Discoveries:** Recently active wallets that show promising early results.
* **Following List:** A personalized watchlist for monitoring specific wallets.
* **Insider Activity:** Wallets that demonstrate exceptional market timing, potentially acting on inside knowledge.
* **Phishing Wallets:** Malicious accounts flagged as dangerous.
* **Bot Degen Trading:** High-frequency trading bots employing aggressive strategies.

### Key Considerations

When using GMGN for wallet discovery, it is essential to:

* Avoid wallets categorized under **Phishing Wallets** and **Bot Degen Trading**, as they pose significant financial risks.
* Conduct thorough research instead of relying solely on tags or automated recommendations.

## Final Thoughts

GMGN.ai provides an extensive array of tools and insights for identifying potential wallets. However, thorough investigation is critical when selecting wallets to copy-trade. Users should combine the insights gained from GMGN with additional verification methods to optimize their trading strategies effectively.

For detailed explanations with examples, visit our official blog:

{% embed url="<https://www.odinbot.io/gmgn-for-wallet-finding-and-analysis/>" %}

{% content-ref url="/pages/fydT4PQTk9WHLi2pArkE" %}
[Tools](/tracking-academy/tools)
{% endcontent-ref %}


# Using DEX Platforms

When using any decentralized exchange (DEX) app for trading or charting, you will find a section called **Top Traders**, which displays the wallets with the highest profit and loss (PnL) in the traded token. This section can provide valuable insights when looking for profitable wallets to copy-trade.

## How to Analyze Top Traders in DexScreener

<figure><img src="/files/MfVApzxwF4AzEReL6sq2" alt="" width="563"><figcaption></figcaption></figure>

The **Top Traders** section can reveal important patterns and behaviors of successful wallets. However, it is crucial to differentiate between different types of wallets. There are two primary scenarios to consider:

1. **Wallets that sold more tokens than initially bought:**
   * This means they transferred the tokens from other sources, making it essential to track their origins.
   * Use tools like **Solscan** or other Solana block explorers to trace their history.
   * These wallets will typically appear as **"Unknown"** in the Balance tab of DexScreener.
   * Example: If a wallet shows an "Unknown" balance, further tracking is required.
2. **Wallets whose number of tokens sold is equal to or less than the amount initially purchased:**
   * This indicates that the purchases were made entirely from the same wallet.
   * No further tracking is needed.
   * Example: Wallet 2 may show information in the "Balance" tab, making analysis easier.

### Example Analysis on DexScreener

When analyzing a token in DexScreener, you may observe the following:

* Some wallets will have sold more than they bought, meaning they received tokens from another wallet. You will need to track their source.
* Wallets that have purchased and sold equal or fewer tokens can often be more reliable for copy-trading.
* Platforms such as **Photon**, **Defined.Fi**, and **GMGN** provide similar features, but there might be minor differences in data sources.

<figure><img src="/files/SXM8W1mEWYiFlVNKuxtE" alt="" width="563"><figcaption></figcaption></figure>

### Limitations and Challenges

While the **Top Traders** section provides valuable insights, it comes with several drawbacks:

* **Highly Accessible Data:**
  * Anyone viewing the token's top traders can access the same wallets, leading to increased competition and making them heavily copy-traded.
* **Capital Requirements:**
  * Many of these traders operate with large amounts of capital, meaning their strategies might not be effective for smaller traders.
  * Example: Top traders make large-volume buys that smaller accounts may not be able to replicate.
* **Token Transfers:**
  * Many top traders move tokens between multiple wallets, requiring additional effort to track the complete trade history.
* **Sniping Behavior:**
  * Some successful wallets achieve profits by sniping token launches within the first block.
  * This tactic is difficult to replicate without specialized tools, such as custom sniper bots.

#### Example Wallet Analysis

An example wallet: **BECep66KrL7NbUNHq3qyPcMrUTokZbuTxXNCkkceM5w**

<figure><img src="/files/dpkIWbVk4lMvnRu5demK" alt="" width="563"><figcaption></figcaption></figure>

* This wallet might have shown large profits due to early sniping techniques.
* Tracking its history can provide insights, but replicating its strategy could be challenging.

### Conclusion

Using the **Top Traders** section in DexScreener can provide a starting point for wallet discovery, but caution is advised. Keep in mind:

* Always conduct further research beyond DexScreener data.
* Be wary of wallets that transfer tokens from multiple addresses.
* Ensure your capital aligns with the strategies employed by top traders.

Ultimately, relying solely on this method may not be the most effective approach, as heavily copied wallets tend to exhibit high risk and volatility.

{% content-ref url="/pages/fydT4PQTk9WHLi2pArkE" %}
[Tools](/tracking-academy/tools)
{% endcontent-ref %}


# Cielo Finance for Wallet Analysis

[Cielo Finance](https://app.cielo.finance/feed) is a free and powerful tool that allows traders to analyze and track profitable wallets without needing a paid subscription. It provides key insights into wallet transactions, realized profits, and related wallet activity, helping users identify and follow smart money movements.

## Getting Started with Cielo Finance

To begin using Cielo Finance, follow these simple steps:

1. **Connect Your Wallet** – Log in to the platform by linking your Solana wallet.
2. **Add the Telegram Bot** – This will allow you to receive live updates on tracked wallets.

**Search for a Wallet** – Paste a wallet address into the search bar to start analyzing its activity.

## Key Features of Cielo Finance

Cielo Finance’s free version offers three core functionalities:

### 1. Wallet Transactions Overview

The transactions feature acts like Solscan but with an enhanced UI, allowing users to track incoming and outgoing transactions.

#### **Key Elements of Wallet Transactions Overview**

* **Sol Balance** – View the total SOL holdings of a wallet.
* **Transaction Filters** – Customize filters to focus on specific token types, timeframes, and transaction types.
* **Export Wallet History (Paid Feature)** – Download full transaction history for further analysis.
* **Wallet Transactions** – A chronological breakdown of **incoming and outgoing transactions**.

<figure><img src="/files/HmvMY3JKz14JZITTYCz2" alt="" width="563"><figcaption></figcaption></figure>

#### **Example:**

Imagine you find a **profitable wallet (Wallet A)** but notice it regularly transfers profits to another wallet **(Mother Wallet B)**. By tracking **Mother Wallet B’s transactions**, you can identify when it funds new wallets **(Wallet C)**. If Wallet C starts making profitable trades, you can **copy-trade it** early.

### 2. Telegram Wallet Tracking

Cielo Finance integrates with a Telegram bot that provides real-time alerts for wallet activity.

<figure><img src="/files/uHWd5xKynp03bKCvF7KC" alt="" width="334"><figcaption></figcaption></figure>

#### **How to Track a Wallet Using Telegram**

1. Open the Cielo Telegram bot.
2. Type the following command:

```
add <wallet_address> <wallet_tag>
```

3. Receive instant notifications when that wallet makes SOL related transactions.

By doing this, you gain a competitive edge over other traders who do not track these movements.

## 3. Wallet PnL Analysis

The Token PnL tab provides valuable insights into a wallet’s profit and loss performance.

### **PnL Metrics Available**

* **Realized PnL** **–** Profits and losses within **1D, 7D, 30D** timeframes.
* **Unrealized PnL –** Requires a **paid plan** but is not particularly useful for tracking.
* **Win Rate** **–** Success rate of the wallet’s trades.
* **Traded Tokens** **–** List of tokens the wallet has traded.
* **Chains –** Network where the trades where made. Defaults to Solana.
* **Timeframes –** you can choose between 1d, 7d, 30d and All.
* **Token ROI** **–** Profitability of each individual token.
* **Average Buy/Sell Price** **–** The wallet’s **entry and exit prices** for different tokens.
* **Trade Count** **–** Number of trades executed for each token.

<figure><img src="/files/TZ85jsRDQVtbj0QQL68h" alt="" width="563"><figcaption></figcaption></figure>

**Important Note**

If a wallet recently traded a token within the last 4 hours, Cielo Finance may not display it immediately in the PnL tab.

## 4. Related Wallets

This feature helps you discover wallets that are linked to your target wallet.

<figure><img src="/files/DOAvg5ZrsTJM4M4fgfge" alt="" width="563"><figcaption></figcaption></figure>

### **Types of Related Wallets**

* Inflow Wallets – Wallets that have sent tokens to the tracked wallet.
* Outflow Wallets – Wallets that have received tokens from the tracked wallet.

Each related wallet entry includes:

* TX In / TX Out – The number of transactions between the wallets.
* Wallet Activity – The frequency and type of transfers.

This is a powerful feature that helps identify potentially profitable wallets that could be worth tracking and copy-trading.

## Maximizing Cielo Finance for Copy-Trading

To fully leverage Cielo Finance, follow these strategies:

1. Identify Profitable Wallets Early
   * Use the PnL tab to check if a wallet has a strong win rate.
   * Analyze its transaction patterns to see how it moves profits.
2. Track Related Wallets
   * If a wallet regularly funds new wallets, follow those to find new profitable traders.
   * Monitor Inflow wallets to see who is investing in high return opportunities.
3. Use Telegram for Real-Time Tracking
   * Set up alerts for wallet funding events.
   * Act quickly when a tracked wallet makes a major move.
4. Verify PnL with Other Tools

Combine Cielo Finance with [Solscan](/tracking-academy/tools/for-finding-wallets/solscan-for-in-depth-analysis), [DexScreener](/tracking-academy/tools/for-finding-wallets/using-dex-platforms), or [Dune ](/tracking-academy/tools/for-finding-wallets/dune-dashboard)for a more comprehensive analysis.

For detailed explanations with examples, visit our official blog:

{% embed url="<https://www.odinbot.io/mastering-wallet-analysis-with-cielo-finance-the-complete-guide/>" %}

{% content-ref url="/pages/GbllLW8VjT9ZIUIw8nTi" %}
[For Finding Wallets](/tracking-academy/tools/for-finding-wallets)
{% endcontent-ref %}


# Solscan for in-depth Analysis

## 1. What is Solscan?

Solscan is an easy to use block explorer specifically designed for the Solana blockchain. It allows users to track every transaction, wallet, and token movement happening on-chain. By leveraging Solscan traders can identify patterns, validate tokens, and track wallet activities effectively.

### Key Features:

* **Real-Time Transaction Feed:** View blockchain activity as it happens.
* **Comprehensive Search:** Locate wallets, tokens, and transactions with ease.

Dashboard Insights: Access critical Solana network data such as SOL supply, epoch, and total transactions.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdUwOqc1NkSkWR-p6e-2VX8fFh7XdgaqfitxzNGgeJ7Dsjve9zanSqjki022qiHG6HKFy1kTjqIBjfEPBEiJACIj0liLV-iEoLUWh69Si-ObUM-8numInsKBJfASenwLNy3aBiQzw?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

## 2. How to Read and Understand a Transaction

Each Solana transaction contains detailed information that helps traders assess its legitimacy and impact.

### Steps to Analyze a Transaction:

1. Enter the Transaction Hash:
   * Open[ Solscan.io](https://solscan.io) and enter the transaction hash in the search bar.
2. Key Transaction Components:
   * **Signature:** The unique identifier of the transaction.
   * **Block Number:** The point in Solana's history where the transaction is recorded.
   * **Timestamp:** The exact date and time of the transaction.
   * **Result:** Whether the transaction succeeded or failed.
   * **Signer:** The wallet that initiated the transaction.
   * **Transaction Actions:** Displays the details of the token swap, transfer, or stake.
   * **Fee:** The cost required to process the transaction.
   * **Priority Fee:** The additional fee paid to expedite the transaction.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcZhlPgtMC1I0FudUHfWPyZm2UC-uaJfJGYZBMS8mG9BPsGjH93lOHnR3JMn73HHzFYvOLsj80j3QcRWRnL7rXi3hlJT61aZi_6vkufIh8vThi4ylsTl3nXa_0l52VxvUV1hWId?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

## 3. Token Investigation Using Solscan

Solscan serves as an essential tool for conducting a thorough investigation on tokens before copy-trading.

### Steps for Token Analysis:

1. Search for the Token Contract Address:
   * Enter the contract address in Solscan's search bar.
2. Analyze Key Metrics:
   * **Basic Stats:** Includes market cap, total supply, and holder count.
   * **Transfers:** Tracks all buy, sell, and movement activities.
   * **DeFi Activities:** A user-friendly interface to monitor token transactions.
   * **Holders:** Helps identify if a few wallets hold a significant supply, which could indicate manipulation.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcpQuuXb-M3coAK7zpfWck6AmFysO134LEjYELqe_0N-d8p3R71t17WjIjcC-qjU6TbfzB_Xf627poKqhxe53CpXTi_JRkqqfh_2aIdULUFE8oYV8YU823xl8L-NC4sMcCN5cVrvA?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

3. Spotting Red Flags:
   * Look for bundled wallets holding identical percentages.
   * Observe unusual trading activity and large token movements.

{% content-ref url="/pages/oGEaIhiuTYafN7mbK5WU" %}
[Wallets to Avoid When Copy-Trading](/tracking-academy/wallets-to-avoid-when-copy-trading)
{% endcontent-ref %}

## 4. Wallet Analysis

Each wallet on Solana tells its own story. Solscan enables users to analyze wallet activity for valuable insights.

### Understanding Wallet Metrics

When analyzing a wallet on Solscan, several key metrics provide valuable insights:

1. SOL Balance:
   * Displays the available SOL in the wallet, providing insight into the wallet's liquidity and its ability to execute future trades.
   * High balances may indicate potential for large trades, while low balances could suggest recent withdrawals or inactivity.
2. Token Holdings:
   * Shows all tokens stored in the wallet along with their respective quantities.
   * Useful to determine diversification and exposure to different assets.
3. DeFi Activities:
   * Lists transactions related to SPL tokens (Solana-based tokens), such as token swaps, transfers, and liquidity provisions.
   * Helps identify patterns in trading behavior across decentralized exchanges.
4. Portfolio Overview:
   * Provides an in-depth look at all token holdings with their market values and potential unrealized gains/losses.
   * Useful for understanding the wallet’s overall exposure and investment strategy.
5. Applying Filters for DeFi Activities:
   * Filter transactions by time, action, and platform to detect trading patterns.
   * Analyze wallet trends to determine whether the user engages in scalping or long-term holding.

## 5. Investigating a Wallet in Solscan

### **Step 1: Searching for a Wallet**

* Navigate to[ Solscan.io](https://solscan.io) and enter the wallet address in the search bar.
* The wallet's page will display an overview, including SOL balance, token holdings, and transaction history.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcLvdp_PS633iBT8fi81fjKPvSUK0daOpjpejc1L5lws1TK0EyU-fuztijksRc5V-7bAzjhlX1FwBUoqQyTF61F7TiQ4grhRBiRYveLqUfTuXPyacaTd7RtAQBX7-JIm2kZOBeUUA?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

### **Step 2: Analyzing DeFi Activities**

The DeFi Activities Tab provides detailed records of the wallet's interactions with DeFi platforms.

#### Key Fields to Analyze:

* Signature: A unique identifier for each transaction.
* Time: Indicates when the transaction occurred.
* Action: Buy, sell, swap, or transfer.
* From: The sender wallet.
* To: The recipient wallet.
* Amount: Number of tokens exchanged.
* Value: Transaction’s USD value.
* Platform: The decentralized exchange (DEX) where the trade occurred.
* Source: The originating DEX for the trade.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeONUlnyrpD_IHCe-_RjqGhxp2C_0LB_pSLZZ3_YAZ65vXJ2qP8fgqos5FwsDKa9njwTJh_X0quTWCWe4vcmYoKFyDkJJoAf08Q3EsrWU_LYGoXfZNVV6dSqIoIaRuNaW6HeSGSEQ?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

### **Step 3: Applying Filters for Advanced Analysis**

Solscan provides powerful filtering options to help traders analyze a wallet’s trading activity more effectively:

1. Filter by Time:
   * Click the clock icon to analyze wallet activity within a specific period.
   * Helps detect trading behavior over different market conditions.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfosASVWuk-n4RE-8FgU54gT0ZSJDW1_aSQMxzxdsHZ7Rh_NgG6io1oMORm4GJWuriihJOigOKSwkFaDLQ0PCYrNMxm48-O3htFQnUoXpo11K2o9i_keBGQPFA4Qq2cxnj7VOD_?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

2. Filter by Action:
   * Choose specific actions like token swaps to focus on trading strategies.
   * Determine if the wallet engages in frequent buying/selling of specific tokens.
3. Filter by Platform:
   * Analyze interactions with platforms like Raydium or Pump.fun.
   * Useful to identify which exchanges the wallet prefers.

### **Step 4: Identifying Wallet Patterns**

By reviewing transaction frequency, asset allocations, and trading behaviors, you can detect:

* Scalping or Sniping:
  * If the wallet engages in frequent, small trades, it may be a scalping bot.
  * Look for high transaction counts within short timeframes.
* HODLing Strategies:
  * If the wallet holds onto tokens for extended periods, it follows a long-term investment strategy.
* Pump-and-Dump Indicators:
  * Sudden high-volume buys followed by mass sell-offs could indicate market manipulation.

## 6. Investigating a Token from Wallet Activities

Wallet analysis extends beyond tracking the wallet itself; it also provides valuable insights into specific tokens that the wallet interacts with. By analyzing token activity, traders can detect potential trends, market manipulations, and profitable opportunities. Below are detailed steps for investigating a token through wallet interactions.

### **Step 1: Obtain the Token Contract Address**

Before diving into the token's data, the first step is to retrieve its contract address.

* Locate the token within the wallet's holdings on Solscan.
* Hover over the token name to reveal the contract address.
* Copy the contract address for further analysis in Solscan.
* Alternatively, click on the token name to navigate directly to its detailed page.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXflzhlrGbsH3oqxFMxTQtmx6VR8sYaH-Zbj69B0uE-kW9pVnzJ7cpUSt0x7hNmHveAuvPJKtiGhomPDktTaxmVC0xxWA6lVvrXXzXMnxG6Y3qdLm6IyA86hx0BXAcyYoh8ATa_rDw?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

### Step 2: Investigating the DeFi Activity of the Token

Once you have identified the token you wish to analyze, Solscan's DeFi Activities Tab offers an effective way to track token transactions in a time-sensitive manner. This section provides valuable insights into how the token has been traded over time and helps identify key trading patterns.

#### **1. Navigating to the DeFi Activities Tab**

1. Search for the token using its contract address on Solscan.
2. Once the token's page loads, click on the DeFi Activities Tab to access its transactional data.
3. Here, you can analyze the movement of the token across various wallets and trading platforms.

#### **2. Using Time Display for Transaction Analysis**

Solscan provides a useful feature to track transaction timestamps with precision. This is especially valuable when analyzing highly volatile tokens.

1. Click on the Time button within the DeFi Activities tab.
2. The displayed timestamps will change to the HH:MM:SS format, offering an exact breakdown of each transaction.
3. This feature helps determine whether a wallet is engaging in high-frequency trades such as sniping or farming.

#### **3. Adjusting Time Filters for More Precise Analysis**

Solscan allows users to filter transaction history based on specific time periods, which is critical when analyzing tokens with high volatility.

1. Use the Time Filter option to narrow down the transactions within a defined timeframe.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf3SkhFlGYCblvl7MpU984RnHs_sfYUA1IuGm-RcVVI3M_11w3U_EURlIMQ7tiIRf5d77foWOFNVBSewofqUrQ-ZAtHWy2nz18dJkUAqRs62LUwVpIQYupXkOUKuePcbwPX_b7WBA?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

2. This is particularly useful when the token experiences rapid buy/sell actions, as Solscan displays only the latest 100 pages of data.
3. If your mirror trade falls outside the displayed range, the filter will help in pinpointing it.

#### **4. Searching for Specific Wallet Transactions**

After narrowing down the time frame, traders can search for specific wallet transactions using their buy signatures.

1. Identify the wallet that initially purchased the token.
2. Copy the wallet's buy signature, which is a unique identifier associated with each transaction.
3. Use the browser’s search function (Ctrl + F) to locate the wallet's buy order within the displayed transaction list.

Example:\
Wallet **AG9cLeM8JaJ61TZbPbgDWXgCJkSuPXG4FSgY5wQnsaHj** first traded Token **SNAKE2025** at **10:29:23** UTC, so we will use this timestamp to filter results.\
Once we find the buy signature, we can track subsequent movements.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd4VrXT3qsGSoWGxekIuEliLsvPo_sLNbB_aCjh4npTD37rVoIjDm3g910Ahk9CsNSyzwy4iybmzU6AImXQzZw2Egw178MDzCUt9wEoNtVYOw_nPlMvpBTekYTO723MdvdkxwU?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

#### **5. Verifying Buy and Sell Transactions**

Once the transaction is located using the buy signature, traders can analyze what happened in the time interval between the buy and the sell.

1. Identify the token buy transaction and note its timestamp.
2. Search for the corresponding sell transaction within the same wallet.
3. This provides valuable insights into holding periods and potential exit strategies.

### Key Takeaways from DeFi Activity Analysis

1. Set Show to 100 Transactions Per Page:
   * This ensures a broader view of trades, reducing the need for frequent page navigation.
2. Analyze Market Movements Over Time:
   * Filtering trades by time helps detect token price fluctuations and liquidity shifts.
3. Identify Profit Patterns:
   * Comparing buy and sell timestamps reveals potential profit-taking strategies used by successful traders.

## 7. Tracking Down Related Wallets

{% embed url="<https://www.odinbot.io/how-to-track-down-related-wallets-with-solscan/>" %}

Identifying related wallets is crucial to gaining a complete understanding of a trader's broader strategy.

### 7.1 Untrackable Wallets

Some wallets, such as those funded by centralized exchanges (e.g., Binance, Coinbase), cannot be tracked further due to off-chain management.

Example:\
Wallet: AG9cLeM8JaJ61TZbPbgDWXgCJkSuPXG4FSgY5wQnsaHj earned over $21,000 in 7 days but has no SOL left, indicating funds were moved to another wallet.

**Steps to Investigate Untrackable Wallets:**

1. Identify Parent Wallets:
   * Locate the wallet that initially funded the analyzed wallet:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdbTKtd0NPu1Fb5vFCHAKiDpyWq86mWu8Cice6CHkpaLsQdjfm0B4K7r7QAxT0afroMfGAUvj0Wo6Cc23XiMnLKA3G2bcjBZjm-1XKUiPRVpzZWMTT0TDNa8z16RqnqGQy9gROc?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

1. Track Profit Destinations:
   * Analyze outgoing transactions to wallets:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd16eDALSAd8Ufm_cdlZmrnYRYv7cRguPfUCWxTxUlmK9r83kKU01O48lgRabTWd2WJDgiHvmr8UrYumJJGm-2wX9S7p0SDoeYbgGhuXTO6kdS9BuR5QHDRtXB6BupfWemw8l0GhA?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdVM-1VkQQO_SvRgWaans_skb_-x6QoDH5M27tW6YvOarBNH46DYenkZUXkQR4NyCk56g3z4yBHp26RWgGcgjh-bWLx-ZcIi6LNsDUO8_GofveZYOKmg-RmlTT2Wuk8-euv667NwA?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
isOnCurve = False means the wallet address is program derived and does not have a corresponding private key.
{% endhint %}

### 7.2 Trackable Wallets

Unlike exchange-funded wallets, trackable wallets provide valuable insights for copy-trading.

Example:\
Wallet: A profitable wallet made $5,500 in a day but currently has no SOL.

**Steps to Investigate Trackable Wallets:**

1. Analyze the First Deposit:
   * Identify the source of funds to the wallet:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd4GvgHizrhCdA7n3NRFIU24mxSvaokl0eal4PRdF5DL-B_u071r44V399q6gCIbQliOuU4KtOevoUaMW9r9HUUQFr0vWOuM6mI6vek4eZ7eRHTFIApuMNDg1T-Lw1nBtdkyWhZ?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

Track Outgoing Transfers:

2. Track Outgoing Transfers:
   * Find related wallets that are still active:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeRGB5kADdmKwcYb-t1NlzzYZXQOqWwYrkqTpHkE-Wub76YF25VWPLoy4_ynBx5PaaJrxWFoAJQxsOwPNWWeeDn_7qny8eH_627bdVIB4B4Cf9Wg0Y2bAPElF7bO9qBmRWNuq9P_Q?key=5QQwtbbhqpv9wBX2B2nE9FSx" alt="" width="563"><figcaption></figcaption></figure>

## Conclusion

Mastering Solscan is an essential skill for any OdinBot user aiming to optimize copy-trading strategies. With consistent practice, users can identify high performing wallets, avoid risky trades, and improve profitability.

### Key Takeaways:

* Regularly monitor wallets and token activity.
* Investigate tokens before making trade decisions.
* Use filters to refine your copy-trading strategy.

For detailed explanations with examples, visit our official blog:

{% embed url="<https://www.odinbot.io/solscan-tutorial-from-zero-to-hero/>" %}

{% content-ref url="/pages/fydT4PQTk9WHLi2pArkE" %}
[Tools](/tracking-academy/tools)
{% endcontent-ref %}


# For Monitoring Wallets

Before engaging in copy-trading with a wallet, it is crucial to conduct a thorough analysis. Even if a wallet initially appears profitable, its performance can decline unexpectedly. Monitoring the wallet’s trading behavior over time helps determine if it maintains a consistent winning streak. Failing to monitor can result in substantial losses if the wallet starts underperforming.

For instance, observing a wallet over just two days can reveal whether its impressive track record is sustainable or merely a temporary streak.

**Example Wallet for Reference:**\
Check the wallet at: **FzNk6vni3E2LfzrG6hxUcMCLBUMSqruf3HohnkCQvQv8**

<figure><img src="/files/yQriO0Asz2AjGqQ8QdjT" alt="" width="563"><figcaption></figcaption></figure>

Same wallet during Monitoring Phase:

<figure><img src="/files/iMmEWhHEgi927UspfU5I" alt="" width="563"><figcaption></figcaption></figure>

The key takeaway is to avoid hastily copying a wallet based solely on its short term success, as appearances can be deceptive.

## Recommended Monitoring Tools

Several tools can assist in tracking wallet activities effectively. Among them, the following Telegram bots are highly recommended due to their ease of use and robust feature sets:

### 1. **RayBot**

RayBot offers a straightforward solution for monitoring wallet activities. Users can add a wallet address and receive instant notifications about every trade executed by that wallet.

#### **Key Features:**

* Simple command: `add <wallet_address> <wallet_tag>`
* Ability to track up to **10 wallets** in the free version, ideal for beginners.
* Provides detailed transaction data, including:
  * **Type of transaction (buy/sell)**
  * **Market cap at the time of purchase**
  * **Token creation date**
  * **Quick access to token profiles via platforms like DexScreener, DexTools, Photon, BullX, Gmgn, etc.**
  * **Customizable quick action buttons for trading insights.**

**Advanced Customization:** RayBot allows users to fine tune their monitoring experience by setting up transaction filters such as:

<figure><img src="/files/MUKXV9bKGTIDVeikmYSu" alt="" width="375"><figcaption></figcaption></figure>

* **Transaction Type Filters:** Receive notifications only for specific trade types.
* **First Buy/Sell Tracking:** Alerts only on the first wallet trade for a token.
* **Minimum Trade Size/Market Cap:** Filter alerts based on predefined thresholds.
* **Solana/Token Transfers:** Track incoming/outgoing transfers.
* **DEX Platform Filters:** Specify which decentralized exchanges to monitor.

**Backup Bots:**\
RayBot also offers backup bots, which are particularly useful during high network congestion, ensuring uninterrupted monitoring.

### 2. **Defined Bot**

Defined Bot offers similar functionalities to RayBot but with fewer quick-action buttons and filters.

<figure><img src="/files/75N9Ty1HU9g1UdsGiTam" alt="" width="343"><figcaption></figcaption></figure>

#### **Key Advantages:**

* **Unlimited Wallet Tracking:** Unlike RayBot, Defined Bot allows you to track an unlimited number of wallets for free.
* **Speed Efficiency:** Often processes alerts faster than RayBot in some instances.

**Limitations:**\
While it provides wallet buy/sell alerts and basic statistics, it lacks the deep customization options that RayBot offers. This makes it a better choice for users who need straightforward monitoring without the complexity of filter settings.

### 3. **Solflare Notifications**

Solflare provides an alternative solution for those who prefer not to use Telegram bots. With its built-in notification system, Solflare can track transactions in real time.

<figure><img src="/files/LPyNyRPrljevOzIHXLZ2" alt="" width="563"><figcaption></figcaption></figure>

#### **Key Features:**

* Provides alerts whenever your wallet sends or receives tokens.
* Particularly useful for tracking **OdinBot transactions**, ensuring that all copy-trading activities are monitored effectively.

## Final Thoughts

While OdinBot handles copy-trading operations automatically, it is highly recommended to utilize these monitoring tools to maintain oversight and optimize your strategy. Monitoring wallets in real-time helps:

* Identify potential issues before they impact your portfolio.
* Gain insights into trading patterns and consistency.
* Validate OdinBot's automated operations for peace of mind.

By integrating monitoring tools such as RayBot, Defined Bot, and Solflare, users can make informed decisions and avoid blindly copying wallets that may no longer be profitable.

For more detailed explanations, please visit:

{% embed url="<https://www.odinbot.io/solana-wallets-monitoring-tools/>" %}

{% content-ref url="/pages/fydT4PQTk9WHLi2pArkE" %}
[Tools](/tracking-academy/tools)
{% endcontent-ref %}


# Types of Wallets: Understanding Their Roles in Copy-Trading

Content provided by Odin's team

In the dynamic world of crypto trading and copy-trading, understanding wallet behaviors is essential for success. Each wallet type has distinct characteristics that can affect your trading strategy. Below are the six primary wallet types you'll encounter and how to identify them effectively.

## 1. Alpha Wallets

Alpha wallets are the most sought-after in copy-trading, as they consistently enter promising projects early, achieving impressive returns before the broader market follows.

### Key Characteristics:

* **Early Entry:** Buys tokens before a significant pump.
* **High ROI:** Maintains consistently high returns across multiple projects.
* **Pattern of Success:** Repeatedly identifies and enters profitable tokens early.

#### Example Wallet:

**4CykmDN6xfwgeczGHqKVTDoDZANL7LBMVBfHhKpfNg17**

* Demonstrates early positioning in tokens and repeated profitability.

**Pro Tip:**&#x20;

Look for wallets with a proven track record of early entries and consistent gains rather than one-off successes.

## 2. Insider Wallets

Insider wallets are secretive and use privileged information to make well-timed trades with remarkable precision.

### Key Characteristics:

* **Funding Source:** Funded by centralized exchange wallets, making tracking difficult.
* **Large Trades:** Confidently invests large amounts based on inside knowledge.
* **Consistent Gains:** Buys tokens shortly before price surges.

#### Example Wallet:

**D37KwuoeLJJqVkD9EPaLD4zfwAZdp7WnH6BoJ5BPJ8rb**

* Generated $69,500 in a month, despite occasional losses.

**Challenge:**

Insider wallets often withdraw profits directly to centralized exchanges, making tracking their activity and related wallets difficult.

## 3. Sniper Wallets

Sniper wallets specialize in purchasing tokens within seconds of their launch, often in the first block.

### Key Characteristics:

* **Automated Execution:** Uses advanced software for ultra-fast trades.
* **First-Mover Advantage:** Among the first to buy tokens at the lowest prices.
* **Impossible for Manual Copying:** Their speed relies on specialized tools.

#### Example Wallet

**ZDLFG5UNPzeNsEkacw9TdKHT1fBZCACfAQymjWnpcvg**

* Frequently executes trades during the very first blocks of token launches.

**Why Avoid?**

Their success is unattainable without access to similar high-end tools and automation.

{% content-ref url="/pages/oGEaIhiuTYafN7mbK5WU" %}
[Wallets to Avoid When Copy-Trading](/tracking-academy/wallets-to-avoid-when-copy-trading)
{% endcontent-ref %}

## 4. Human Profitable Wallets

These wallets are operated by humans and rely on logical decision-making, making them ideal for copy-trading.

### Key Characteristics:

* **Moderate Trading Frequency:** Balanced activity with clear patterns.
* **Logical Entries:** Trades based on analysis, not automation or insider info.
* **Realistic Gains:** Shows both wins and occasional losses, reflecting genuine trading.

#### Example Wallet:

**7pKwkcYh7wPCQCpvoz1vJjbieUTHpsTy1vU6pBUp1XQ**

* Trades reflect human behavior, with reasonable entries and exits.

**Pro Tip:**

Focus on wallets that demonstrate consistent gains and manageable losses for long-term sustainability.

## 5. Farmers

Farmers exploit copy-traders by trading low liquidity tokens and profiting from the price spikes caused by their followers.

### Key Characteristics

* **Low Liquidity Tokens:** Targets tokens with high price impact potential.
* **Quick Sell Strategy:** Dumps tokens as copy-traders push prices up.
* **Pump-and-Dump Behavior:** Frequently trades tokens flagged as risky.

#### Example Wallet:

**Fb4pV6GehukMsvpuKBVEuctbWZsZb5aUwmN9AGLaYX21**

* Trades risky tokens repeatedly, such as $STARMER and $Charlene.

**Why Avoid?**

Copying these wallets almost guarantees losses, as they profit by selling into the demand created by copy-traders.

{% content-ref url="/pages/oGEaIhiuTYafN7mbK5WU" %}
[Wallets to Avoid When Copy-Trading](/tracking-academy/wallets-to-avoid-when-copy-trading)
{% endcontent-ref %}

## 6. Bundled Wallets

Bundled wallets manipulate token supply by spreading assets across multiple wallets to deceive security tools.

### Key Characteristics:

* **Supply Control:** Distributes large token supplies across many wallets.
* **Deceptive Patterns:** Designed to bypass detection by tools like DexScreener or Bubblemaps.
* **Minimal History:** Most bundled wallets have little trading activity.

#### Example Wallets:

**J9HQ5Dkw6SgXUFe4xGMFj8FA5R4eWiLYib9a8udJZL9g**

**BCgYhcYQHkC2TDCCo9DfJbvMXhnEa3XuHc96e31g3rjQ**

**How to Spot Them:**

Observe large initial candles on token charts shortly after launch, indicating supply control.

## 7. MEV Wallets

MEV (Maximum Extractable Value) wallets use bots to exploit blockchain mechanics for profit.

### Key Characteristics:

* **Ultra-Fast Execution:** Operates at speeds impossible for humans.
* **Complex Strategies:** Employs frontrunning, sandwich attacks, and arbitrage.
* **High Trading Volume:** Executes thousands of trades within days.

#### Example Wallet:

**26sbe8JQ3tWrcWn1XQR45y8bTXFKy19N3c1EoNucFMnf**

* Executed 3,091 trades in seven days, averaging 441 trades per day.

**Why Avoid?**

Their advanced tools and infrastructure make their strategies **unreplicable** for manual traders.

{% content-ref url="/pages/oGEaIhiuTYafN7mbK5WU" %}
[Wallets to Avoid When Copy-Trading](/tracking-academy/wallets-to-avoid-when-copy-trading)
{% endcontent-ref %}

{% embed url="<https://www.odinbot.io/solana-mev-bots-in-copytrading-the-complete-guide/>" %}

## Conclusion

Understanding the types of wallets is key to making smarter copy-trading decisions. Use this guide to identify wallets that align with your goals, avoid risky behavior, and optimize your trading strategy.

### Focus on:

* Alpha and Human Profitable wallets for sustainable success.

### Avoid:

* Sniper, Farmer, Bundled, and MEV wallets unless you can replicate their tools and strategies.

For detailed explanations with examples, visit our official blog:

{% embed url="<https://www.odinbot.io/types-of-wallets-a-comprehensive-guide/>" %}

{% content-ref url="/pages/oGEaIhiuTYafN7mbK5WU" %}
[Wallets to Avoid When Copy-Trading](/tracking-academy/wallets-to-avoid-when-copy-trading)
{% endcontent-ref %}

{% content-ref url="/pages/7CJJhynTS4bSXUxwDOmC" %}
[Trading Strategies](/tracking-academy/trading-strategies)
{% endcontent-ref %}


# Wallets to Avoid When Copy-Trading

Content provided by Odin's team

## 1. Wallets That Trade Low-Liquidity Tokens

Low-liquidity tokens often have small trading volumes, making them prone to price manipulation and significant slippage. These trades tend to lack strong conviction, resembling gambling more than strategy.

### Why Avoid Copying These Wallets?

* **Poor Entry Positions:** The larger the buy size of the mirrored wallet, the worse position the copy-trader ends up with, as large trades can significantly move the price.
* **High Slippage:** The price you receive may be drastically worse than the mirrored wallet’s.
* **Loss Cycles:** Frequent impulsive trades can spiral into unnecessary losses.

**Tip:** Stick to wallets trading tokens with healthy liquidity and consistent trading activity to minimize risks.

## 2. MEV and Arbitrage Bots

{% embed url="<https://www.odinbot.io/solana-mev-bots-in-copytrading-the-complete-guide/>" %}

MEV (Maximum Extractable Value) and arbitrage bots operate by exploiting price inefficiencies and transaction ordering. They often execute both buy and sell transactions within the same block. This makes them impossible to effectively copy-trade, as their strategies rely on precise timing that cannot be mirrored.

### Why Avoid Copying These Wallets?

* Their success depends on near-instantaneous execution, which isn’t feasible for copy-traders.
* Copying them often results in poor fills or trades executed too late to profit.

### How to Spot an MEV Bot:

MEV bots have a lot of transactions per token and in general.

* Look for high-frequency trades through tools like **Solscan**.
* Use wallet analyzers like **Walletx** or **Cielo**, which tag wallets based on behaviour and strategies.
* **GMGN** makes identifying MEV wallets straightforward by displaying key statistics, including 30-day buy and sell transactions, prominently at the top of each wallet's profile.

<figure><img src="/files/nP77OrreTmoELgyy8jlf" alt="" width="563"><figcaption></figcaption></figure>

Examples of MEV wallets:

1. 2UkKU23eihesGRprc93yWR1CbgymmuBpSzDGw6wxMUgj

<figure><img src="/files/RSvawzWotMkG14RabaWJ" alt="" width="428"><figcaption></figcaption></figure>

2. 3XKT1VMehkezX4PzBa8N7PiZ8YXKZfXvnB14L6DVxd34

<figure><img src="/files/MA8RHbNnqhPmTOih18vy" alt="" width="431"><figcaption></figcaption></figure>

3. 3XMWMUibUbGVeudLKC11cjGf7vJspQUtV4R96kH5Zg1N

<figure><img src="/files/0N3gg9QyqjMZMy6JkgD4" alt="" width="431"><figcaption></figcaption></figure>

{% content-ref url="/pages/ZGeGp78tOsqoWU2cE3xp" %}
[What are the safety features of OdinBot?](/faqs/6.-frequently-asked-questions/what-are-the-safety-features-of-odinbot)
{% endcontent-ref %}

## 3. “Farmer” Wallets

Farmer wallets are traders who exploit copy-traders by artificially inflating demand for a token and quickly exiting their positions. These wallets engage in a high-frequency buy-and-sell strategy that takes advantage of the delay in execution for copy-traders. As a result, you end up buying tokens at peak prices, only to face immediate losses when the farmer wallet dumps their holdings.

Most farmers target **Pump.fun** tokens because of their volatility and ease of manipulation. To avoid being exploited, it’s recommended to **disable** copying **Pump.fun** trades in OdinBot settings.

{% content-ref url="/pages/wavXsc4GVnmriYU7n1sI" %}
[4. OdinBot's Controls](/setup-and-initialization/4.-odinbots-controls)
{% endcontent-ref %}

### How Farmer Wallets Operate:

1. **Initial Buy:** A farmer wallet makes a large, visible purchase of a low-liquidity token. This causes the token’s price to spike, attracting copy-traders who mirror the transaction.
2. **Immediate Sell:** Moments later, the wallet dumps the token for a profit, leaving the copy-traders stuck with overpriced tokens and no chance to exit profitably.

### Signs of Farmer Wallets:

* **Rapid Trading Activity:** Trades occur within seconds or minutes, often involving large initial buys followed by equally large sells.
* **Unusual Price Spikes:** Tokens experience sudden price surges coinciding with the wallet’s trades.
* **High Turnover:** The wallet rarely holds tokens for more than a few seconds or minutes.

#### Example 1:

A farmer wallet buys 1,000 units of a low-liquidity token for $1 each. This purchase increases the token’s price to $1.50 due to limited supply. Copy-traders, seeing the spike, mirror the buy at $1.50. Seconds later, the farmer wallet sells their tokens at $1.50, taking the profit while the price crashes back to $1 or lower.

#### Example 2:

A wallet repeatedly trades the same token multiple times in an hour, with each buy causing a brief price increase followed by a sharp drop after the sell. Copy-traders attempting to follow these trades end up accumulating losses from repeated bad fills.

### Why It’s Risky to Copy Farmer Wallets:

* Their trades are not based on long-term strategies but rather on exploiting short-term demand surges.
* Copy-traders often experience **negative slippage** (buying at a higher price than the farmer wallet) and are unable to exit in time.

**Tip:** Focus on wallets with deliberate, calculated trading strategies. Look for consistent holding periods, lower trading frequencies, and trades aligned with broader market trends rather than sudden, isolated price movements.

## 4. Wallets Trading Frozen Tokens

Frozen tokens are assets temporarily locked from transfers or sales. Copying trades involving these tokens can lead to illiquid positions where exiting is impossible.

### How to Identify Frozen Tokens:

* Review the token’s metadata using blockchain explorers like **Solscan**. Most trading platforms nowadays show this information in the “audit tab”.

Example of a token where the authority can freeze every token from being transferred:

{% embed url="<https://solscan.io/token/3WzUoH1gXuKdNP5PwVLsjiq1RB4da8g8jNejSZF4Kn8N>" %}

<figure><img src="/files/m3GSctd5h6nsyg4hmQRL" alt="" width="563"><figcaption></figcaption></figure>

Example of the same token on GMGN:

<figure><img src="/files/vm1AGlf33PA6DsVOB4ef" alt="" width="563"><figcaption></figcaption></figure>

## OdinBot’s Built-in Safeguards

OdinBot includes features to protect copy-traders:

1. **Blocks Trades on Frozen Tokens:** Ensures you’re not stuck with illiquid assets.
2. **Price Protection:** Prevents trades from being executed at much worse prices than the mirrored wallet's, ensuring fair pricing and minimizing excessive slippage.
3. **MEV Protection:** Configurable settings to balance speed and safety.
   * **Fastest:** Prioritizes speed over protection.
   * **Balanced:** A mix of speed and defense.
   * **Protected:** Maximizes safety but slows execution.
4. **Cross-Mirror Trading Prevention:** Ensures each mirrored wallet operates independently, avoiding conflicts between trading strategies.

{% content-ref url="/pages/ZGeGp78tOsqoWU2cE3xp" %}
[What are the safety features of OdinBot?](/faqs/6.-frequently-asked-questions/what-are-the-safety-features-of-odinbot)
{% endcontent-ref %}

By understanding these risks and leveraging OdinBot’s control settings, you can enhance your copy-trading strategy and minimize potential losses.


# Understanding Pump.fun Bonding Curve and the Copy-Trading Limitation

Pump.fun is a platform that uses a **bonding curve** mechanism, where each new purchase gradually increases the token’s price until the curve is fulfilled (also referred to as “completing the bonding curve”). Below is an explanation of why no further purchases can occur and hence cannot be copy-traded once that bonding curve is maxed out.

## 1. What is Pump.fun?

* **Bonding Curve Mechanics**\
  Pump.fun features tokens that follow a price curve. As each buy order is executed, the token’s price moves up the curve. Once the final segment of this curve is purchased, there are no more tokens to buy at Pump.fun.
* **Price Impact**\
  Because purchases are happening on a bonding curve, a large enough buy can immediately fulfil the remaining supply on that curve, pushing the price to its maximum threshold.

{% embed url="<https://medium.com/@buildwithbhavya/the-math-behind-pump-fun-b58fdb30ed77>" %}

## 2. Why OdinBot Can’t Copy a Fulfilled Bonding Curve Trade

* **Trade Execution Timeline**\
  OdinBot is a copy-trading bot. The moment your mirrored wallet executes a trade on Pump.fun, OdinBot will try to replicate it by submitting the same trade request on your behalf.
* **Complete Bonding Curve**\
  If your mirror’s buy order **fully completes** the bonding curve, that wallet is effectively the **last** to get tokens from Pump.fun. Afterward, no tokens remain to be purchased on that curve.
* **Result: Trade Failure**\
  When OdinBot attempts to copy that final buy, there are no tokens available at that price (or any price), causing the buy attempt to fail. No matter how fast the bot or how high the priority fees, a fulfilled bonding curve has no remaining liquidity to fill another purchase.

## 3. Key Takeaways

1. **Last Person to Buy Wins That Spot**\
   The wallet executing a large buy and completing the curve effectively closes the opportunity for any subsequent buyer, including OdinBot.
2. **No Speed Advantage**\
   Even if OdinBot uses its highest speed or priority settings, once the bonding curve is complete, no further trades can be made on that token at Pump.fun.
3. **Mirror Behavior**\
   OdinBot always attempts to reproduce the mirrored wallet’s trade. However, in this scenario, it cannot because the trade no longer exists on Pump.fun.

## 4. Practical Tips for Copy-Traders

* **Monitor Large Buys**\
  Keep an eye on the size of buys your mirror wallet usually makes. If they typically purchase large amounts of a Pump.fun token, there’s a chance they might complete the bonding curve in a single trade.
* **Adjust Expectations**\
  Understand that if your mirror closes out the bonding curve, you will not be able to execute the same trade.
* **Stay Informed**\
  Check the Pump.fun page or other explorers (e.g., Solscan) for the token’s transaction history to see if the bonding curve has ended.

{% content-ref url="/pages/8flvymzKzC2IoydjNqjO" %}
[Solscan for in-depth Analysis](/tracking-academy/tools/for-finding-wallets/solscan-for-in-depth-analysis)
{% endcontent-ref %}

## **Conclusion**

If the mirror wallet completes the Pump.fun bonding curve, there is simply no liquidity left for OdinBot to copy that trade. This is a core limitation of how bonding curves function on Pump.fun, once the curve is fulfilled, the token is no longer available for purchase at that price.

{% content-ref url="/pages/oGEaIhiuTYafN7mbK5WU" %}
[Wallets to Avoid When Copy-Trading](/tracking-academy/wallets-to-avoid-when-copy-trading)
{% endcontent-ref %}


# Reclaiming SOL From Rent

## What Are SPL Token Accounts?

Every time you receive a **Memecoin**, **Token**, or **NFT** in your wallet, a specific **SPL token account** is automatically created to store that asset.

* When you sell or send the asset, the token account becomes **empty** but remains in your wallet without any utility.
* Each of these token accounts costs **\~0.002 SOL** in rent, which is withheld by the **Solana Network** for storage and maintenance.

These residual accounts take up space and represent lost funds, but they can be closed to reclaim the SOL used to create them.

## Steps To Reclaim Your SOL:

To reclaim the SOL for your OdinBot wallet, first you would need to export Odin's private key into a Solana wallet.

{% content-ref url="/pages/IhcF2vLGuMk6o1TVkqnz" %}
[How can I export my Private Key?](/faqs/6.-frequently-asked-questions/how-can-i-export-my-private-key)
{% endcontent-ref %}

We have partnered with **Santos Labs** to provide our users with seamless access to their platform.

### Step 1:

Head over to the **claimyoursol** platform by following this link:&#x20;

#### [**https://claimyoursol.com/odinbot**](https://claimyoursol.com/odinbot)

### Step 2:

Hit the Select Wallet button and connect your wallet.

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

<figure><img src="/files/Orzl8WSduIVIvEeHNcML" alt="" width="403"><figcaption></figcaption></figure>

### Step 3:

After you have successfully connected your wallet, you will be able to see how many accounts will be closed and how many SOL will be reclaimed.

To proceed, press the **CLAIM ALL** button.

<figure><img src="/files/xnnRUqu7miHEngTdXurX" alt="" width="563"><figcaption></figcaption></figure>

### Step 4:

Approve the transactions in the wallet:

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

**Note:** Be careful when closing the accounts. Always confirm if those are the Tokens that you want the accounts to be closed for so you don't end up closing an account you didn't want to close.

### Step 5:

That's it! After approving the transaction the SOL has been recovered to your wallet!

{% hint style="danger" %}
OdinBot **is not responsible** for the Tokens and NFTs **you** close the accounts for. \
Always be careful when using tools like these.
{% endhint %}

## What Is Rent?

The Solana Network charges a **2-year rent fee** for every account created. This fee is used to:

* Store account data.
* Maintain the account.
* Process transactions related to the account.

You can find more information in the official Solana Documentation here:

{% embed url="<https://solana.com/docs/core/accounts#rent>" %}


# How to Look at Your Fees

## 1. Following transactions from OdinBot:

1. Go to <https://app.odinbot.io/trades>
2. Look at the trades that have been initiated by OdinBot
3. On the far right side, click the button that will open your transaction on Solscan

<figure><img src="/files/0cdZXYzNH85hioKVlt33" alt=""><figcaption></figcaption></figure>

Below you will see how much you spent for:

* Solana's Network Fee
* Priority Fee

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

The Priority Fee in this case would be **0.003118** SOL, while Solana's Network Fee is **0.000005** SOL.

To get the Solana's Network Fee, you deduct the Priority Fee from the Fee.

0.003118 SOL - 0.003123 SOL =  0.000005 SOL

{% hint style="info" %}
The Solana's Network Fee is multiplied by the amount of signatures.
{% endhint %}

Scroll down and look at the instructions:

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

The first instruction you see above is the one for **Odin's 1% Trade Fee**.&#x20;

{% hint style="info" %}
The minimum trading fee is **0.001** SOL.
{% endhint %}

{% content-ref url="/pages/ULkBQOR2oEAlkqW245tx" %}
[How much does OdinBot charge for its services?](/faqs/6.-frequently-asked-questions/how-much-does-odinbot-charge-for-its-services)
{% endcontent-ref %}

Destination Wallet:

\
**oDinBoTPS3Pz5gBv3FSTkPZXTyN3v7bZo6A2b3dooNP**

\
The very last instruction is the **Speed Tip** you chose.&#x20;

Destination Wallet: **nozFrhfnNGoyqwVuwPAW4aaGqempx4PU6g6D9CJMv7Z**

|             In other cases it could be:             |
| :-------------------------------------------------: |
| bloxroute.sol, bloxroute1.sol, bloxroute2.sol (etc) |
|     TEMPaMeCRFAS9EKF53Jd6KpHxgL47uWLcpFArU1Fanq     |
|     nozrhjhkCr3zXT3BiT4WCodYCUFeQvcdUkM7MqhKqge     |
|     noz3str9KXfpKknefHji8L1mPgimezaiUyCHYMDv1GE     |
|     noz6uoYCDijhu1V7cutCpwxNiSovEwLdRHPwmgCGDNo     |
|     noz9EPNcT7WH6Sou3sr3GGjHQYVkN3DNirpbvDkv9YJ     |
|     nozc5yT15LazbLTFVZzoNZCwjh3yUtW86LoUyqsBu4L     |
|     nozievPk7HyK1Rqy1MPJwVQ7qQg2QoJGyP71oeDwbsu     |
|     noznbgwYnBLDHu8wcQVCEw6kDrXkPdKkydGJGNXGvL7     |
|     nozNVWs5N8mgzuD3qigrCG2UoKxZttxzZ85pvAQVrbP     |
|     nozpEGbwx4BcGp6pvEdAh1JoC2CQGZdU6HbNP1v2p6P     |
|     noz3jAjPiHuBPqiSPkkugaJDkJscPuRhYnSpbi8UvC4     |
|     nozrwQtWhEdrA6W8dkbt9gnUaMs52PdAv5byipnadq3     |
|     nozUacTVWub3cL4mJmGCYjKZTnE9RbdY5AP46iQgbPJ     |
|     nozWCyTPppJjRuw2fpzDhhWbW355fzosWSzrrMYB1Qk     |
|     nozWNju6dY353eMkMqURqwQEoM3SFgEKC6psLCSfUne     |
|     nozxNBgWohjR75vdspfxR5H9ceC7XXH99xpxhVGt3Bb     |

## 2. Check SOL movement:

To see all SOL balance changes in transaction, hit the **SOL Balance Change** tab while you have your transaction opened:

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

When SOL Balance Change Tab is opened, you will see something similar to this:

<figure><img src="/files/rPqUwh57ILk5pjavqPWT" alt="" width="563"><figcaption></figcaption></figure>

The very first transaction is how much SOL this trade has cost you in total.&#x20;

That includes:

* How much SOL you have spent for the Token
* Solana's Network Fee
* DEX Fee (if applicable)
* Priority Fee
* Speed Tip
* Odin's 1% Trade Fee

Since we are analyzing the trade involving a purchase, only the first wallet will show a negative balance because we are the ones making the purchase.

<figure><img src="/files/tBiMj0Xw8maCbR5Zx0F8" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
If we we're selling, the very first account will have a positive balance.
{% endhint %}

The next account that has balance change is Token's creation account.&#x20;

{% hint style="info" %}
Every time you receive a new **Memecoin**, **Token**, or **NFT** in your wallet, a specific **SPL token account** is automatically created to store that asset.\
Each of these token accounts costs **\~0.002 SOL** in rent, which is withheld by the **Solana Network** for storage and maintenance.
{% endhint %}

For more information about rent on Solana, take a look at:

{% content-ref url="/pages/m4tPuCLm0x4957kDcwxy" %}
[Reclaiming SOL From Rent](/tracking-academy/reclaiming-sol-from-rent)
{% endcontent-ref %}

**Raydium** Pool receives SOL for the Token that was bought:

<figure><img src="/files/RAwYfF871BpqiSUVe2wF" alt="" width="563"><figcaption></figcaption></figure>

The 0.002 SOL is the **Speed Tip** we have mentioned earlier:

<figure><img src="/files/YubzIYBDgH8l0EkyoxCe" alt="" width="563"><figcaption></figcaption></figure>

The last one with the balance change is the **Odin's 1% Trade Fee** account.

{% content-ref url="/pages/7CJJhynTS4bSXUxwDOmC" %}
[Trading Strategies](/tracking-academy/trading-strategies)
{% endcontent-ref %}


# Getting Started

## API Overview

| Item               | Value                    |
| ------------------ | ------------------------ |
| **Base URL**       | `https://api.odinbot.io` |
| **API key header** | `x-api-key`              |

All request and response bodies are JSON unless stated otherwise.

## Getting your API key

1. Sign in to OdinBot and open **Settings**.

<figure><img src="/files/Z2LsRiybAOFq9BMexklY" alt="" width="563"><figcaption></figcaption></figure>

2. Click **Manage API keys**.

<figure><img src="/files/LRU35Sp3n3GuFkaufrtT" alt="" width="563"><figcaption></figcaption></figure>

3. In the pop-up, choose **+ Create a new API key**.

<figure><img src="/files/IZ8mF7Qj6uULRZl9q3OB" alt="" width="563"><figcaption></figcaption></figure>

4. Copy the key that appears and store it in a safe place.

<figure><img src="/files/V3f0UuIxLsHjNiEpF9HK" alt="" width="563"><figcaption></figcaption></figure>

## How to revoke access to your API key

1. From OdinBot's interface open **Settings**.

<figure><img src="/files/Z2LsRiybAOFq9BMexklY" alt="" width="563"><figcaption></figcaption></figure>

2. Click **Manage API keys**.

<figure><img src="/files/LRU35Sp3n3GuFkaufrtT" alt="" width="563"><figcaption></figcaption></figure>

3. In the pop-up, locate the **API key** for which you wish to revoke access, click the **Actions** dropdown button, and then click the **Revoke all access and delete** option.

<figure><img src="/files/UcoqgoRaXDmldJWWCcHw" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="warning" %}
Once the key is removed, any calls made using it will return a **401 Unauthorized error**.
{% endhint %}


# Types

## Controls

The [`Controls`](/api-documentation/types/controls) type defines your global copy-trading settings. These act as default parameters applied to all mirrored wallets, unless specifically overridden at the individual mirror level.

{% content-ref url="/pages/EGU3D9Zyi0mJ6ENnkwil" %}
[Controls](/api-documentation/types/controls)
{% endcontent-ref %}

## Mirror

The [`Mirror`](/api-documentation/types/mirror) type defines a specific wallet you are copy-trading. It includes all fields from the [`Controls`](/api-documentation/types/controls) object with the following modifications:

* [`address`](/api-documentation/types/mirror#address) (***required, new field***): the public Solana address of the wallet being mirrored
* [`autoSellProfileKey`](/api-documentation/types/mirror#autosellprofilekey) (optional, modified field): key of an existing auto-sell profile. May also be the magic value `"override_to_empty"` which forces this mirror to have **no** auto-sell profile even if one is set in Controls

{% content-ref url="/pages/ZmUOtDVGglUK7EJcGfUO" %}
[Mirror](/api-documentation/types/mirror)
{% endcontent-ref %}

## UpdateMirror

[`UpdateMirror`](/api-documentation/types/updatemirror) is the type used in the request body of [`PATCH /v1/mirror/{address}`](/api-documentation/api-methods/patch-v1-mirror-address). It allows you to update or clear specific settings for an existing mirror without modifying its address.

* The `{address}` path parameter identifies which mirror to update, so the `address` field is excluded from this object.
* All other fields from the [`Mirror`](/api-documentation/types/mirror) object are optional. Provide only the keys you wish to modify.

{% content-ref url="/pages/s8qihcLmogN4iu7eDU9A" %}
[UpdateMirror](/api-documentation/types/updatemirror)
{% endcontent-ref %}

## AutoSellProfile

The [`AutoSellProfile`](/api-documentation/types/autosellprofile) type stores a reusable set of take-profit and stop-loss rules. Profiles are created or edited in the OdinBot [interface](/setup-and-initialization/4.-odinbots-controls/4.3-auto-sell-profiles), then referenced in [`Controls`](/api-documentation/types/controls) or [`Mirror`](/api-documentation/types/mirror) via their `id`. Each profile contains:

* `id` – unique key used in `autoSellProfileKey`
* `createdIso` - ISO-8601 time the profile was made
* `profileName` - label shown in the GUI
* `takeProfitRules` - array of `{ percentOfPosition, percentGain }` steps
* `stopLossRules` - array of `{ percentOfPosition, percentLoss }` steps

The API provides **read-only** access through [`GET /v1/auto-sell-profiles`](/api-documentation/api-methods/get-v1-auto-sell-profiles) (list) and [`GET /v1/auto-sell-profile/{id}`](/api-documentation/api-methods/get-v1-auto-sell-profile-id) (single profile); no create, update, or delete calls are exposed.

{% content-ref url="/pages/94hz1Whuxe1g5MxKr9Q2" %}
[AutoSellProfile](/api-documentation/types/autosellprofile)
{% endcontent-ref %}


# Controls

The **Controls** type contains your global copy‑trading controls. These settings act as defaults for every mirrored wallet and can be selectively overridden per mirror.

| Field                              | Type / details                                                                                                                                                                                                                        |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tradeSizeLamports`                | **Number** – example `10000000`, lamports spent per buy                                                                                                                                                                               |
| `tradeSpeed`                       | **String** – example `"Turbo"`, valid: `Standard`, `Turbo`, `Godly`                                                                                                                                                                   |
| `buyMinPriorityFee`                | **Number** – example `0.1`, Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.                                                                                                                             |
| `sellStrategy`                     | **String** – example `"SellProportionally"`, valid: `SellAll`, `SellProportionally`, `NoSell`                                                                                                                                         |
| `maxBuysPerMirrorPerHour`          | **Number** – example `3`                                                                                                                                                                                                              |
| `maxBuysPerMirrorPerDay`           | **Number** – example `10`                                                                                                                                                                                                             |
| `maxBuysPerTokenPerDay`            | **Number** – example `1`                                                                                                                                                                                                              |
| `maxBuysPerTokenPerWeek`           | **Number** – example `5`                                                                                                                                                                                                              |
| `allowPumpFun`                     | **Boolean** – example `true`                                                                                                                                                                                                          |
| `snipeLaunchpadLaunches`           | **Boolean** – example `true`                                                                                                                                                                                                          |
| `launchpadLaunchSnipeTradeSizeSol` | **Number** – example `0.2`, size in SOL for launchpad snipes                                                                                                                                                                          |
| `mevProtection`                    | **String** – example `"Balanced"`, valid: `Fastest`, `Balanced`, `Protected`                                                                                                                                                          |
| `degenMode`                        | **Boolean** – example `false`                                                                                                                                                                                                         |
| `allowBuys`                        | **Boolean** – example `true`                                                                                                                                                                                                          |
| `buyStrategy`                      | **String** – example `"Scaling"`, valid: `Constant`, `Scaling`                                                                                                                                                                        |
| `ssMinBuy`                         | **Number** – example `0.1`, minimum SOL for scaling strategy                                                                                                                                                                          |
| `ssPercent`                        | **Number** – example `40`, percentage for scaling strategy                                                                                                                                                                            |
| `ssMaxBuy`                         | **Number** – example `0.5`, maximum SOL for scaling strategy                                                                                                                                                                          |
| `buyMode`                          | **String** – example `"Instant"`, `Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`., valid: `Instant`, `BuyTheDip` |
| `buyDipPct`                        | **Number** – example `5`, Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.                                                                         |
| `buyDipTimeoutSecs`                | **Number** – example `86400`, Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.                                                                              |
| `crossMirrorPrevention`            | **Boolean** – example `true`                                                                                                                                                                                                          |
| `pfSlippage`                       | **Number** – example `10`, pump.fun slippage percent                                                                                                                                                                                  |
| `buyExtraTipPct`                   | **Number** – example `1`, extra tip on buys (percent)                                                                                                                                                                                 |
| `sellExtraTipPct`                  | **Number** – example `0.5`, extra tip on sells (percent)                                                                                                                                                                              |
| `minMcUsd`                         | **Number** – example `10000`, minimum market cap in USD                                                                                                                                                                               |
| `maxMcUsd`                         | **Number** – example `200000`, maximum market cap in USD                                                                                                                                                                              |
| `minTokenAgeSecs`                  | **Number** – example `60`, minimum token age (in seconds)                                                                                                                                                                             |
| `maxTokenAgeSecs`                  | **Number** – example `604800`, maximum token age (in seconds)                                                                                                                                                                         |
| `onlyCopyNewPositions`             | **Boolean**, Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to `false`.                                 |
| `autoSellProfileKey`               | **String** – key of an existing auto-sell profile                                                                                                                                                                                     |

### tradeSizeLamports

**Type: Number**\
Total lamports OdinBot spends per buy when no scaling strategy is in effect.\
\&#xNAN;*Example: `10000000` (≈ 0.01 SOL).*

**(optional field)**

***

### tradeSpeed

**Type: String** - `Standard`, `Turbo`, `Godly`\
Selects the speed tier for copy-trades.\
\&#xNAN;*Example: `"Turbo"`.*

**(optional field)**

***

### buyMinPriorityFee

**Type: Number**\
Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.\
E*xample: `0.1`.*

**(optional field)**

***

### sellStrategy

**Type: String** - `SellAll`, `SellProportionally`, `NoSell`\
Defines how OdinBot exits positions when the mirrored wallet sells.\
\&#xNAN;*Example: `"SellProportionally"`.*

**(optional field)**

***

### maxBuysPerMirrorPerHour

**Type: Number**\
Limits how many buys Odinbot will make for a mirrored wallet within an hour.\
\&#xNAN;*Example: `3`.*

**(optional field)**

***

### maxBuysPerMirrorPerDay

**Type: Number**\
Limits the number of buys Odin will make for a mirrored wallet within a 24-hour window.\
\&#xNAN;*Example: `5`.*

**(optional field)**

***

### maxBuysPerTokenPerDay

**Type: Number**\
Maximum number of buys allowed for the same token in a 24-hour window.\
\&#xNAN;*Example: `1`.*

**(optional field)**

***

### maxBuysPerTokenPerWeek

**Type: Number**\
Maximum number of buys allowed for the same token in a 7-day window.\
\&#xNAN;*Example: `5`.*

**(optional field)**

***

### allowPumpFun

**Type: Boolean**\
If `true`, OdinBot is allowed to copy trades on pump.fun.\
\&#xNAN;*Example: `true`.*

**(optional field)**

***

### snipeLaunchpadLaunches

**Type: Boolean**\
If `true`, OdinBot will snipe (quickly buy) the tokens that your mirror launches (or creates) on a launchpad.\
\&#xNAN;*Example: `true`.*

**(optional field)**

***

### launchpadLaunchSnipeTradeSizeSol

**Type: Number**\
Amount in **SOL** to spend on each launchpad snipe (independent of `tradeSizeLamports`).\
\&#xNAN;*Example: `0.2`.*

**(optional field)**

***

### mevProtection

**Type: String** - `Fastest`, `Balanced`, `Protected`\
Sets MEV protection.\
\&#xNAN;*Example: `"Fastest"`.*

**(optional field)**

***

### degenMode

**Type: Boolean**\
Removes slippage entirely for trades not executed on Pump.fun or PumpSwap.\
\&#xNAN;*Example: `false`.*

**(optional field)**

***

### allowBuys

**Type: Boolean**\
Master switch that disables **all** new buys when set to `false`. Sells remain unaffected.\
\&#xNAN;*Example: `true`.*

**(optional field)**

***

### buyStrategy

**Type: String** - `Constant`, `Scaling`\
`Constant` uses `tradeSizeLamports` for every buy. `Scaling` calculates size from `ssMinBuy`, `ssPercent`, and `ssMaxBuy`.\
\&#xNAN;*Example: `"Constant"`.*

**(optional field)**

***

### ssMinBuy

**Type: Number**\
Defines the smallest trade size (in SOL) that Odinbot will execute. If your buy would be below this size, no trade will be made. (only used when `buyStrategy` is set to `Scaling`).\
\&#xNAN;*Example: `0.1`.*

**(optional field)**

***

### ssPercent

**Type: Number**\
Percentage of the mirror's original buy size OdinBot should match.\
\&#xNAN;*Example: `40`.*

**(optional field)**

***

### ssMaxBuy

**Type: Number**\
Sets the largest trade size (in SOL) that Odinbot will execute. If the calculated buy size exceeds this value, Odinbot will instead use this value for the buy size.\
\&#xNAN;*Example: `0.5`.*

**(optional field)**

***

### buyMode

**Type: String** - `Instant`, `BuyTheDip`\
`Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`.\
\&#xNAN;*Example: `"Instant"`.*

**(optional field)**

***

### buyDipPct

**Type: Number**\
Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.\
\&#xNAN;*Example: `5`.*

**(optional field)**

***

### buyDipTimeoutSecs

**Type: Number**\
Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.\
\&#xNAN;*Example: `86400`.*

**(optional field)**

***

### crossMirrorPrevention

**Type: Boolean**\
When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed.\
\&#xNAN;*Example: `true`.*

**(optional field)**

***

### pfSlippage

**Type: Number**\
Allowed slippage (%) when buying on Pump.fun or PumpSwap.\
\&#xNAN;*Example: `10`.*

**(optional field)**

***

### buyExtraTipPct

**Type: Number**\
Adds a percentage-based additional tip to potentially speed up mirrored buys. The tip scales with the trade size.\
\&#xNAN;*Example: `1` (adds 1 %).*

**(optional field)**

***

### sellExtraTipPct

**Type: Number**\
Adds a percentage-based additional tip to potentially speed up mirrored sells. The tip scales with the trade size.\
\&#xNAN;*Example: `0.5`.*

**(optional field)**

***

### minMcUsd

**Type: Number**\
Minimum market cap (USD) a token must have for OdinBot to buy it.\
\&#xNAN;*Example: `10000`.*

**(optional field)**

***

### maxMcUsd

**Type: Number**\
Maximum market cap (USD) above which OdinBot will not buy.\
\&#xNAN;*Example: `200000`.*

**(optional field)**

***

### minTokenAgeSecs

**Type: Number**

Minimum token age (in seconds) a token must have for OdinBot to buy it.

*Example: `60`.*

**(optional field)**

***

### maxTokenAgeSecs

**Type: Number**

Maximum token age (in seconds) a token must have for OdinBot to buy it.

*Example: `604800`.*

**(optional field)**

***

### onlyCopyNewPositions

**Type: Boolean**\
Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to false.

**(optional field)**

***

### autoSellProfileKey

**Type: String**\
Key of the auto-sell profile OdinBot should apply.

**(optional field)**

{% content-ref url="/pages/0e7H4uTaOzpZ6yewSpak" %}
[Types](/api-documentation/types)
{% endcontent-ref %}


# Mirror

The **Mirror** type represents one wallet you copy-trade. It reuses every field from [**Controls**](/api-documentation/types/controls) (same names, types, and meaning) **plus** an address field and a special case for `autoSellProfileKey`.

| Field                              | Type / details                                                                                                                                                                                                                        |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `address`                          | **String** – required. Example `"8cdAv8iFYXXLyW2zB2SMe5Qjke8XJRUYcMT7sVEsRvkf"`.                                                                                                                                                      |
| `tradeSizeLamports`                | **Number** – example `10000000`, lamports spent per buy                                                                                                                                                                               |
| `tradeSpeed`                       | **String** – example `"Turbo"`, valid: `Standard`, `Turbo`, `Godly`                                                                                                                                                                   |
| `buyMinPriorityFee`                | **Number** – example `0.1`, Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.                                                                                                                             |
| `sellStrategy`                     | **String** – example `"SellProportionally"`, valid: `SellAll`, `SellProportionally`, `NoSell`                                                                                                                                         |
| `maxBuysPerMirrorPerHour`          | **Number** – example `3`                                                                                                                                                                                                              |
| `maxBuysPerMirrorPerDay`           | **Number** – example `10`                                                                                                                                                                                                             |
| `maxBuysPerTokenPerDay`            | **Number** – example `1`                                                                                                                                                                                                              |
| `maxBuysPerTokenPerWeek`           | **Number** – example `5`                                                                                                                                                                                                              |
| `allowPumpFun`                     | **Boolean** – example `true`                                                                                                                                                                                                          |
| `snipeLaunchpadLaunches`           | **Boolean** – example `true`                                                                                                                                                                                                          |
| `launchpadLaunchSnipeTradeSizeSol` | **Number** – example `0.2`, size in SOL for launchpad snipes                                                                                                                                                                          |
| `mevProtection`                    | **String** – example `"Balanced"`, valid: `Fastest`, `Balanced`, `Protected`                                                                                                                                                          |
| `degenMode`                        | **Boolean** – example `false`                                                                                                                                                                                                         |
| `allowBuys`                        | **Boolean** – example `true`                                                                                                                                                                                                          |
| `buyStrategy`                      | **String** – example `"Scaling"`, valid: `Constant`, `Scaling`                                                                                                                                                                        |
| `ssMinBuy`                         | **Number** – example `0.1`, minimum SOL for scaling strategy                                                                                                                                                                          |
| `ssPercent`                        | **Number** – example `40`, percentage for scaling strategy                                                                                                                                                                            |
| `ssMaxBuy`                         | **Number** – example `0.5`, maximum SOL for scaling strategy                                                                                                                                                                          |
| `buyMode`                          | **String** – example `"Instant"`, `Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`., valid: `Instant`, `BuyTheDip` |
| `buyDipPct`                        | **Number** – example `5`, Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.                                                                         |
| `buyDipTimeoutSecs`                | **Number** – example `86400`, Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.                                                                              |
| `crossMirrorPrevention`            | **Boolean** – example `true`                                                                                                                                                                                                          |
| `pfSlippage`                       | **Number** – example `10`, pump.fun slippage percent                                                                                                                                                                                  |
| `buyExtraTipPct`                   | **Number** – example `1`, extra tip on buys (percent)                                                                                                                                                                                 |
| `sellExtraTipPct`                  | **Number** – example `0.5`, extra tip on sells (percent)                                                                                                                                                                              |
| `minMcUsd`                         | **Number** – example `10000`, minimum market cap in USD                                                                                                                                                                               |
| `maxMcUsd`                         | **Number** – example `200000`, maximum market cap in USD                                                                                                                                                                              |
| `minTokenAgeSecs`                  | **Number** – example `60`, minimum token age (in seconds)                                                                                                                                                                             |
| `maxTokenAgeSecs`                  | **Number** – example `604800`, maximum token age (in seconds)                                                                                                                                                                         |
| `onlyCopyNewPositions`             | **Boolean**, Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to `false`.                                 |
| `autoSellProfileKey`               | **String** – key of an existing auto-sell profile. May also be the magic value `"override_to_empty"` which forces this mirror to have **no** auto-sell profile even if one is set in Controls                                         |

### address

**Type: String**\
Solana public key of the wallet you want to mirror. This field is mandatory and uniquely identifies the mirror entry.\
\&#xNAN;*Example:* `"8cdAv8iFYXXLyW2zB2SMe5Qjke8XJRUYcMT7sVEsRvkf"`*.*

**(required field)**

***

### tradeSizeLamports

**Type: Number**\
Total lamports OdinBot spends per buy when no scaling strategy is in effect.\
\&#xNAN;*Example: `10000000` (≈ 0.01 SOL).*

**(optional field)**

***

### tradeSpeed

**Type: String** - `Standard`, `Turbo`, `Godly`\
Selects the speed tier for copy-trades.\
\&#xNAN;*Example: `"Turbo"`.*

**(optional field)**

***

### buyMinPriorityFee

**Type: Number**\
Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.\
E*xample: `0.1`.*

**(optional field)**

***

### sellStrategy

**Type: String** - `SellAll`, `SellProportionally`, `NoSell`\
Defines how OdinBot exits positions when the mirrored wallet sells.\
\&#xNAN;*Example: `"SellProportionally"`.*

**(optional field)**

***

### maxBuysPerMirrorPerHour

**Type: Number**\
Limits how many buys Odinbot will make for a mirrored wallet within an hour.\
\&#xNAN;*Example: `3`.*

**(optional field)**

***

### maxBuysPerMirrorPerDay

**Type: Number**\
Limits the number of buys Odin will make for a mirrored wallet within a 24-hour window.\
\&#xNAN;*Example: `5`.*

**(optional field)**

***

### maxBuysPerTokenPerDay

**Type: Number**\
Maximum number of buys allowed for the same token in a 24-hour window.\
\&#xNAN;*Example: `1`.*

**(optional field)**

***

### maxBuysPerTokenPerWeek

**Type: Number**\
Maximum number of buys allowed for the same token in a 7-day window.\
\&#xNAN;*Example: `5`.*

**(optional field)**

***

### allowPumpFun

**Type: Boolean**\
If `true`, OdinBot is allowed to copy trades on pump.fun.\
\&#xNAN;*Example: `true`.*

**(optional field)**

***

### snipeLaunchpadLaunches

**Type: Boolean**\
If `true`, OdinBot will snipe (quickly buy) the tokens that your mirror launches (or creates) on a launchpad.\
\&#xNAN;*Example: `true`.*

**(optional field)**

***

### launchpadLaunchSnipeTradeSizeSol

**Type: Number**\
Amount in **SOL** to spend on each launchpad snipe (independent of `tradeSizeLamports`).\
\&#xNAN;*Example: `0.2`.*

**(optional field)**

***

### mevProtection

**Type: String** - `Fastest`, `Balanced`, `Protected`\
Sets MEV protection.\
\&#xNAN;*Example: `"Fastest"`.*

**(optional field)**

***

### degenMode

**Type: Boolean**\
Removes slippage entirely for trades not executed on Pump.fun or PumpSwap.\
\&#xNAN;*Example: `false`.*

**(optional field)**

***

### allowBuys

**Type: Boolean**\
Master switch that disables **all** new buys when set to `false`. Sells remain unaffected.\
\&#xNAN;*Example: `true`.*

**(optional field)**

***

### buyStrategy

**Type: String** - `Constant`, `Scaling`\
`Constant` uses `tradeSizeLamports` for every buy. `Scaling` calculates size from `ssMinBuy`, `ssPercent`, and `ssMaxBuy`.\
\&#xNAN;*Example: `"Constant"`.*

**(optional field)**

***

### ssMinBuy

**Type: Number**\
Defines the smallest trade size (in SOL) that Odinbot will execute. If your buy would be below this size, no trade will be made. (only used when `buyStrategy` is set to `Scaling`).\
\&#xNAN;*Example: `0.1`.*

**(optional field)**

***

### ssPercent

**Type: Number**\
Percentage of the mirror's original buy size OdinBot should match.\
\&#xNAN;*Example: `40`.*

**(optional field)**

***

### ssMaxBuy

**Type: Number**\
Sets the largest trade size (in SOL) that Odinbot will execute. If the calculated buy size exceeds this value, Odinbot will instead use this value for the buy size.\
\&#xNAN;*Example: `0.5`.*

**(optional field)**

***

### buyMode

**Type: String** - `Instant`, `BuyTheDip`\
`Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`.\
\&#xNAN;*Example: `"Instant"`.*

**(optional field)**

***

### buyDipPct

**Type: Number**\
Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.\
\&#xNAN;*Example: `5`.*

**(optional field)**

***

### buyDipTimeoutSecs

**Type: Number**\
Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.\
\&#xNAN;*Example: `86400`.*

**(optional field)**

***

### crossMirrorPrevention

**Type: Boolean**\
When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed.\
\&#xNAN;*Example: `true`.*

**(optional field)**

***

### pfSlippage

**Type: Number**\
Allowed slippage (%) when buying on Pump.fun or PumpSwap.\
\&#xNAN;*Example: `10`.*

**(optional field)**

***

### buyExtraTipPct

**Type: Number**\
Adds a percentage-based additional tip to potentially speed up mirrored buys. The tip scales with the trade size.\
\&#xNAN;*Example: `1` (adds 1 %).*

**(optional field)**

***

### sellExtraTipPct

**Type: Number**\
Adds a percentage-based additional tip to potentially speed up mirrored sells. The tip scales with the trade size.\
\&#xNAN;*Example: `0.5`.*

**(optional field)**

***

### minMcUsd

**Type: Number**\
Minimum market cap (USD) a token must have for OdinBot to buy it.\
\&#xNAN;*Example: `10000`.*

**(optional field)**

***

### maxMcUsd

**Type: Number**\
Maximum market cap (USD) above which OdinBot will not buy.\
\&#xNAN;*Example: `200000`.*

**(optional field)**

***

### minTokenAgeSecs

**Type: Number**

Minimum token age (in seconds) a token must have for OdinBot to buy it.

*Example: `60`.*

**(optional field)**

***

### maxTokenAgeSecs

**Type: Number**

Maximum token age (in seconds) a token must have for OdinBot to buy it.

*Example: `604800`.*

**(optional field)**

***

### onlyCopyNewPositions

**Type: Boolean**\
Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to false.

**(optional field)**

***

### autoSellProfileKey

**Type: String**\
Key of the auto-sell profile OdinBot should apply **for this mirror only**.\
If you supply the literal string `"override_to_empty"`, OdinBot will remove any auto-sell profile from this mirror even when a global profile exists in Controls.

**(optional field)**

{% content-ref url="/pages/0e7H4uTaOzpZ6yewSpak" %}
[Types](/api-documentation/types)
{% endcontent-ref %}


# UpdateMirror

**UpdateMirror** is the type accepted in the `update` field of [**PATCH /v1/mirror/{address}**](/api-documentation/api-methods/patch-v1-mirror-address).\
It lets you tweak or clear selected settings without touching the mirror’s address.

* The path parameter `{address}` already tells the API which mirror to change, so `address` is **not** part of this object.
* Every other field from [**Mirror**](/api-documentation/types/mirror) is **optional**. Supply only the keys you want to modify.
* `autoSellProfileKey` can be set to the magic string `"override_to_empty"` to remove any auto-sell profile for this mirror.

| Field                              | Type / details                                                                                                                                                                                                                        |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tradeSizeLamports`                | **Number** – example `10000000`, lamports spent per buy                                                                                                                                                                               |
| `tradeSpeed`                       | **String** – example `"Turbo"`, valid: `Standard`, `Turbo`, `Godly`                                                                                                                                                                   |
| `buyMinPriorityFee`                | **Number** – example `0.1`, Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.                                                                                                                             |
| `sellStrategy`                     | **String** – example `"SellProportionally"`, valid: `SellAll`, `SellProportionally`, `NoSell`                                                                                                                                         |
| `maxBuysPerMirrorPerHour`          | **Number** – example `3`                                                                                                                                                                                                              |
| `maxBuysPerMirrorPerDay`           | **Number** – example `10`                                                                                                                                                                                                             |
| `maxBuysPerTokenPerDay`            | **Number** – example `1`                                                                                                                                                                                                              |
| `maxBuysPerTokenPerWeek`           | **Number** – example `5`                                                                                                                                                                                                              |
| `allowPumpFun`                     | **Boolean** – example `true`                                                                                                                                                                                                          |
| `snipeLaunchpadLaunches`           | **Boolean** – example `true`                                                                                                                                                                                                          |
| `launchpadLaunchSnipeTradeSizeSol` | **Number** – example `0.2`, size in SOL for launchpad snipes                                                                                                                                                                          |
| `mevProtection`                    | **String** – example `"Balanced"`, valid: `Fastest`, `Balanced`, `Protected`                                                                                                                                                          |
| `degenMode`                        | **Boolean** – example `false`                                                                                                                                                                                                         |
| `allowBuys`                        | **Boolean** – example `true`                                                                                                                                                                                                          |
| `buyStrategy`                      | **String** – example `"Scaling"`, valid: `Constant`, `Scaling`                                                                                                                                                                        |
| `ssMinBuy`                         | **Number** – example `0.1`, minimum SOL for scaling strategy                                                                                                                                                                          |
| `ssPercent`                        | **Number** – example `40`, percentage for scaling strategy                                                                                                                                                                            |
| `ssMaxBuy`                         | **Number** – example `0.5`, maximum SOL for scaling strategy                                                                                                                                                                          |
| `buyMode`                          | **String** – example `"Instant"`, `Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`., valid: `Instant`, `BuyTheDip` |
| `buyDipPct`                        | **Number** – example `5`, Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.                                                                         |
| `buyDipTimeoutSecs`                | **Number** – example `86400`, Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.                                                                              |
| `crossMirrorPrevention`            | **Boolean** – example `true`                                                                                                                                                                                                          |
| `pfSlippage`                       | **Number** – example `10`, pump.fun slippage percent                                                                                                                                                                                  |
| `buyExtraTipPct`                   | **Number** – example `1`, extra tip on buys (percent)                                                                                                                                                                                 |
| `sellExtraTipPct`                  | **Number** – example `0.5`, extra tip on sells (percent)                                                                                                                                                                              |
| `minMcUsd`                         | **Number** – example `10000`, minimum market cap in USD                                                                                                                                                                               |
| `maxMcUsd`                         | **Number** – example `200000`, maximum market cap in USD                                                                                                                                                                              |
| `minTokenAgeSecs`                  | **Number** – example `60`, minimum token age (in seconds)                                                                                                                                                                             |
| `maxTokenAgeSecs`                  | **Number** – example `604800`, maximum token age (in seconds)                                                                                                                                                                         |
| `onlyCopyNewPositions`             | **Boolean**, Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to `false`.                                 |
| `autoSellProfileKey`               | **String** – key of an existing auto-sell profile. May also be the magic value `"override_to_empty"` which forces this mirror to have **no** auto-sell profile even if one is set in Controls                                         |

### tradeSizeLamports

**Type: Number**\
Total lamports OdinBot spends per buy when no scaling strategy is in effect.\
\&#xNAN;*Example: `10000000` (≈ 0.01 SOL).*

**(optional field)**

***

### tradeSpeed

**Type: String** - `Standard`, `Turbo`, `Godly`\
Selects the speed tier for copy-trades.\
\&#xNAN;*Example: `"Turbo"`.*

**(optional field)**

***

### buyMinPriorityFee

**Type: Number**\
Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.\
E*xample: `0.1`.*

**(optional field)**

***

### sellStrategy

**Type: String** - `SellAll`, `SellProportionally`, `NoSell`\
Defines how OdinBot exits positions when the mirrored wallet sells.\
\&#xNAN;*Example: `"SellProportionally"`.*

**(optional field)**

***

### maxBuysPerMirrorPerHour

**Type: Number**\
Limits how many buys Odinbot will make for a mirrored wallet within an hour.\
\&#xNAN;*Example: `3`.*

**(optional field)**

***

### maxBuysPerMirrorPerDay

**Type: Number**\
Limits the number of buys Odin will make for a mirrored wallet within a 24-hour window.\
\&#xNAN;*Example: `5`.*

**(optional field)**

***

### maxBuysPerTokenPerDay

**Type: Number**\
Maximum number of buys allowed for the same token in a 24-hour window.\
\&#xNAN;*Example: `1`.*

**(optional field)**

***

### maxBuysPerTokenPerWeek

**Type: Number**\
Maximum number of buys allowed for the same token in a 7-day window.\
\&#xNAN;*Example: `5`.*

**(optional field)**

***

### allowPumpFun

**Type: Boolean**\
If `true`, OdinBot is allowed to copy trades on pump.fun.\
\&#xNAN;*Example: `true`.*

**(optional field)**

***

### snipeLaunchpadLaunches

**Type: Boolean**\
If `true`, OdinBot will snipe (quickly buy) the tokens that your mirror launches (or creates) on a launchpad.\
\&#xNAN;*Example: `true`.*

**(optional field)**

***

### launchpadLaunchSnipeTradeSizeSol

**Type: Number**\
Amount in **SOL** to spend on each launchpad snipe (independent of `tradeSizeLamports`).\
\&#xNAN;*Example: `0.2`.*

**(optional field)**

***

### mevProtection

**Type: String** - `Fastest`, `Balanced`, `Protected`\
Sets MEV protection.\
\&#xNAN;*Example: `"Fastest"`.*

**(optional field)**

***

### degenMode

**Type: Boolean**\
Removes slippage entirely for trades not executed on Pump.fun or PumpSwap.\
\&#xNAN;*Example: `false`.*

**(optional field)**

***

### allowBuys

**Type: Boolean**\
Master switch that disables **all** new buys when set to `false`. Sells remain unaffected.\
\&#xNAN;*Example: `true`.*

**(optional field)**

***

### buyStrategy

**Type: String** - `Constant`, `Scaling`\
`Constant` uses `tradeSizeLamports` for every buy. `Scaling` calculates size from `ssMinBuy`, `ssPercent`, and `ssMaxBuy`.\
\&#xNAN;*Example: `"Constant"`.*

**(optional field)**

***

### ssMinBuy

**Type: Number**\
Defines the smallest trade size (in SOL) that Odinbot will execute. If your buy would be below this size, no trade will be made. (only used when `buyStrategy` is set to `Scaling`).\
\&#xNAN;*Example: `0.1`.*

**(optional field)**

***

### ssPercent

**Type: Number**\
Percentage of the mirror's original buy size OdinBot should match.\
\&#xNAN;*Example: `40`.*

**(optional field)**

***

### ssMaxBuy

**Type: Number**\
Sets the largest trade size (in SOL) that Odinbot will execute. If the calculated buy size exceeds this value, Odinbot will instead use this value for the buy size.\
\&#xNAN;*Example: `0.5`.*

**(optional field)**

***

### buyMode

**Type: String** - `Instant`, `BuyTheDip`\
`Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`.\
\&#xNAN;*Example: `"Instant"`.*

**(optional field)**

***

### buyDipPct

**Type: Number**\
Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.\
\&#xNAN;*Example: `5`.*

**(optional field)**

***

### buyDipTimeoutSecs

**Type: Number**\
Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.\
\&#xNAN;*Example: `86400`.*

**(optional field)**

***

### crossMirrorPrevention

**Type: Boolean**\
When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed.\
\&#xNAN;*Example: `true`.*

**(optional field)**

***

### pfSlippage

**Type: Number**\
Allowed slippage (%) when buying on Pump.fun or PumpSwap.\
\&#xNAN;*Example: `10`.*

**(optional field)**

***

### buyExtraTipPct

**Type: Number**\
Adds a percentage-based additional tip to potentially speed up mirrored buys. The tip scales with the trade size.\
\&#xNAN;*Example: `1` (adds 1 %).*

**(optional field)**

***

### sellExtraTipPct

**Type: Number**\
Adds a percentage-based additional tip to potentially speed up mirrored sells. The tip scales with the trade size.\
\&#xNAN;*Example: `0.5`.*

**(optional field)**

***

### minMcUsd

**Type: Number**\
Minimum market cap (USD) a token must have for OdinBot to buy it.\
\&#xNAN;*Example: `10000`.*

**(optional field)**

***

### maxMcUsd

**Type: Number**\
Maximum market cap (USD) above which OdinBot will not buy.\
\&#xNAN;*Example: `200000`.*

**(optional field)**

***

### minTokenAgeSecs

**Type: Number**

Minimum token age (in seconds) a token must have for OdinBot to buy it.

*Example: `60`.*

**(optional field)**

***

### maxTokenAgeSecs

**Type: Number**

Maximum token age (in seconds) a token must have for OdinBot to buy it.

*Example: `604800`.*

**(optional field)**

***

### onlyCopyNewPositions

**Type: Boolean**\
Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to false.

**(optional field)**

***

### autoSellProfileKey

**Type: String**\
Key of the auto-sell profile OdinBot should apply **for this mirror only**.\
If you supply the literal string `"override_to_empty"`, OdinBot will remove any auto-sell profile from this mirror even when a global profile exists in Controls.

**(optional field)**

{% content-ref url="/pages/0e7H4uTaOzpZ6yewSpak" %}
[Types](/api-documentation/types)
{% endcontent-ref %}


# AutoSellProfile

Define and manage profiles in the [OdinBot interface](/setup-and-initialization/4.-odinbots-controls/4.3-auto-sell-profiles), then use their `id` in your [Controls](/api-documentation/types/controls) or [Mirror](/api-documentation/types/mirror) settings.

| Field             | Type / details                                                                                                                     |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `id`              | **String** - unique key, referenced by [Controls](/api-documentation/types/controls) or [Mirror](/api-documentation/types/mirror). |
| `createdIso`      | **String** - ISO-8601 timestamp when the profile was created.                                                                      |
| `profileName`     | **String** - human-readable label shown in the app.                                                                                |
| `takeProfitRules` | `TakeProfitRule` – ordered profit-taking steps.                                                                                    |
| `stopLossRules`   | `StopLossRule` – ordered stop-loss steps.                                                                                          |

> Returned only by\
> • [**GET /v1/auto-sell-profiles**](/api-documentation/api-methods/get-v1-auto-sell-profiles) (array)\
> • [**GET /v1/auto-sell-profile/{id}**](/api-documentation/api-methods/get-v1-auto-sell-profile-id) (single profile)

#### TakeProfitRule

| Field               | Type / details                                      |
| ------------------- | --------------------------------------------------- |
| `percentOfPosition` | Number - portion of the position to sell (0-100).   |
| `percentGain`       | Number - gain threshold (%) that triggers the rule. |

#### StopLossRule

| Field               | Type / details                                      |
| ------------------- | --------------------------------------------------- |
| `percentOfPosition` | Number - portion of the position to sell (0-100).   |
| `percentLoss`       | Number - loss threshold (%) that triggers the rule. |

#### Example object

```json
{
    "autoSellProfile": {
        "createdIso": "2025-08-01T04:14:39.112Z",
        "id": "8ZwsQvnUq7arELq5Hks5VN6Y36GTb4Fj3hCdenWFHupd",
        "profileName": "Profile 1",
        "stopLossRules": [
            {
                "percentLoss": 50,
                "percentOfPosition": 100
            }
        ],
        "takeProfitRules": [
            {
                "percentGain": 30,
                "percentOfPosition": 25
            },
            {
                "percentGain": 150,
                "percentOfPosition": 25
            },
            {
                "percentGain": 300,
                "percentOfPosition": 50
            }
        ]
    }
}
```

{% content-ref url="/pages/0e7H4uTaOzpZ6yewSpak" %}
[Types](/api-documentation/types)
{% endcontent-ref %}


# API Methods

Each entry shows the HTTP verb, path, and a brief purpose, and it links to the full specification for that call. Use the index to locate a route quickly.&#x20;

| API Method                                                                                   | Purpose                                                                                                                                         |
| -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| [GET /v1/controls](/api-documentation/api-methods/get-v1-controls)                           | Retrieve global user controls                                                                                                                   |
| [PUT /v1/controls](/api-documentation/api-methods/put-v1-controls)                           | Overwrite global user controls                                                                                                                  |
| [PATCH /v1/controls](/api-documentation/api-methods/patch-v1-controls)                       | Update or clear specific controls                                                                                                               |
| [GET /v1/mirrors](/api-documentation/api-methods/get-v1-mirrors)                             | List all mirrors plus overrides                                                                                                                 |
| [GET /v1/mirror/{address}](/api-documentation/api-methods/get-v1-mirror-address)             | Get one mirror and overrides                                                                                                                    |
| [POST /v1/mirror](/api-documentation/api-methods/post-v1-mirror)                             | Add a new mirror with overrides. Nothing will happen if you're already mirroring this mirror (will not overwrite)                               |
| [PUT /v1/mirror](/api-documentation/api-methods/put-v1-mirror)                               | Start mirroring or overwrite overrides                                                                                                          |
| [PATCH /v1/mirror/{address}](/api-documentation/api-methods/patch-v1-mirror-address)         | Partially update overrides                                                                                                                      |
| [DELETE /v1/mirror/{address}](/api-documentation/api-methods/delete-v1-mirror-address)       | Remove a mirror                                                                                                                                 |
| [POST /v1/mirrors/batch](/api-documentation/api-methods/post-v1-mirrors-batch)               | Add new mirrors with overrides. Will skip mirrors that you're already mirroring (will not overwrite)                                            |
| [PUT /v1/mirrors/all](/api-documentation/api-methods/put-v1-mirrors-all)                     | Replace (overwrite) all mirrors with the specified mirrors and overrides. Warning: If you pass an empty array, all your mirrors will be removed |
| [GET /v1/auto-sell-profiles](/api-documentation/api-methods/get-v1-auto-sell-profiles)       | List auto‑sell profiles                                                                                                                         |
| [GET /v1/auto-sell-profile/{id}](/api-documentation/api-methods/get-v1-auto-sell-profile-id) | Get one auto‑sell profile                                                                                                                       |


# GET /v1/controls

## View your currently configured controls.

> Use this request when you need to audit your default settings before deciding whether to change them.

```json
{"openapi":"3.1.1","info":{"title":"Odinbot API","version":"0.1.0"},"servers":[{"url":"https://api.odinbot.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"Controls":{"allOf":[{"$ref":"#/components/schemas/CommonControlsOrOverrides"},{"type":"object","properties":{"autoSellProfileKey":{"type":"string","description":"Identifier of the auto-sell profile."}}}]},"CommonControlsOrOverrides":{"type":"object","properties":{"tradeSizeLamports":{"type":"integer","format":"int64","minimum":0,"description":"Total lamports Odinbot spends per copy buy when no scaling strategy is in effect."},"tradeSpeed":{"type":"string","description":"Selects the speed tier for copy-trades.","enum":["Standard","Turbo","Godly"]},"buyMinPriorityFee":{"type":"number","description":"Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.","minimum":0},"sellStrategy":{"type":"string","description":"Defines how Odinbot exits positions when the mirrored wallet sells.","enum":["SellAll","SellProportionally","NoSell"]},"maxBuysPerMirrorPerHour":{"type":"integer","description":"Limits how many buys Odinbot will make for a mirrored wallet within an hour.","minimum":0},"maxBuysPerMirrorPerDay":{"type":"integer","description":"Limits the number of buys Odin will make for a mirrored wallet within a 24-hour window.","minimum":0},"maxBuysPerTokenPerDay":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 24-hour window.","minimum":0},"maxBuysPerTokenPerWeek":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 7-day window.","minimum":0},"allowPumpFun":{"type":"boolean","description":"If `true`, OdinBot is allowed to copy trades on pump.fun."},"snipeLaunchpadLaunches":{"type":"boolean","description":"If `true`, OdinBot will snipe (quickly buy) the tokens that your mirror launches (or creates) on a launchpad."},"launchpadLaunchSnipeTradeSizeSol":{"type":"number","description":"Amount in SOL to spend on each launchpad snipe (independent of tradeSizeLamports).","minimum":0},"mevProtection":{"type":"string","description":"Sets MEV protection.","enum":["Fastest","Balanced","Protected"]},"degenMode":{"type":"boolean","description":"Removes slippage entirely for trades not executed on Pump.fun or PumpSwap."},"allowBuys":{"type":"boolean","description":"Master switch that disables all new buys when set to false. Sells remain unaffected."},"buyStrategy":{"type":"string","description":"`Constant` uses tradeSizeLamports for every buy. `Scaling` calculates size from ssMinBuy, ssPercent, and ssMaxBuy.","enum":["Constant","Scaling"]},"ssMinBuy":{"type":"number","description":"Defines the smallest trade size (in SOL) that Odinbot will execute. If your buy would be below this size, no trade will be made. (only used when `buyStrategy` is set to `Scaling`).","minimum":0},"ssPercent":{"type":"number","description":"Percentage of the mirror's original buy size OdinBot should match.","minimum":0},"ssMaxBuy":{"type":"number","description":"Sets the largest trade size (in SOL) that Odinbot will execute. If the calculated buy size exceeds this value, Odinbot will instead use this value for the buy size.","minimum":0},"buyMode":{"type":"string","description":"`Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`.","enum":["Instant","BuyTheDip"]},"buyDipPct":{"type":"number","description":"Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.","exclusiveMinimum":0,"exclusiveMaximum":100},"buyDipTimeoutSecs":{"type":"number","description":"Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.","exclusiveMinimum":0,"maximum":604800},"crossMirrorPrevention":{"type":"boolean","description":"When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed."},"pfSlippage":{"type":"number","description":"Allowed slippage (%) when buying on Pump.fun or PumpSwap.","exclusiveMinimum":0},"minSlippagePct":{"type":"number","description":"Minimum slippage (%). This is an advanced setting that will cause your trade to fail if your executed slippage is too low. Applies to spot Pump.fun copy buys on Instant buy mode.","minimum":0},"buyExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored buys. The tip scales with the trade size.","minimum":0},"sellExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored sells. The tip scales with the trade size.","minimum":0},"minMcUsd":{"type":"number","description":"Minimum market cap (USD) a token must have for OdinBot to buy it."},"maxMcUsd":{"type":"number","description":"Maximum market cap (USD) above which OdinBot will not buy."},"minTokenAgeSecs":{"type":"number","description":"Minimum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"maxTokenAgeSecs":{"type":"number","description":"Maximum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"onlyCopyNewPositions":{"type":"boolean","description":"Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to false."}}}},"responses":{"401":{"description":"Unauthorized. Make sure you're using the right api key.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}}}},"paths":{"/v1/controls":{"get":{"summary":"View your currently configured controls.","description":"Use this request when you need to audit your default settings before deciding whether to change them.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","required":["controls"],"properties":{"controls":{"$ref":"#/components/schemas/Controls"}}}}}},"401":{"$ref":"#/components/responses/401"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


# PUT /v1/controls

## Overwrite the current Controls object.

> Use this method to set all global control fields in a single request. \*\*Fields left empty will be deleted\*\*, meaning they will reset to their default values.

```json
{"openapi":"3.1.1","info":{"title":"Odinbot API","version":"0.1.0"},"servers":[{"url":"https://api.odinbot.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"Controls":{"allOf":[{"$ref":"#/components/schemas/CommonControlsOrOverrides"},{"type":"object","properties":{"autoSellProfileKey":{"type":"string","description":"Identifier of the auto-sell profile."}}}]},"CommonControlsOrOverrides":{"type":"object","properties":{"tradeSizeLamports":{"type":"integer","format":"int64","minimum":0,"description":"Total lamports Odinbot spends per copy buy when no scaling strategy is in effect."},"tradeSpeed":{"type":"string","description":"Selects the speed tier for copy-trades.","enum":["Standard","Turbo","Godly"]},"buyMinPriorityFee":{"type":"number","description":"Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.","minimum":0},"sellStrategy":{"type":"string","description":"Defines how Odinbot exits positions when the mirrored wallet sells.","enum":["SellAll","SellProportionally","NoSell"]},"maxBuysPerMirrorPerHour":{"type":"integer","description":"Limits how many buys Odinbot will make for a mirrored wallet within an hour.","minimum":0},"maxBuysPerMirrorPerDay":{"type":"integer","description":"Limits the number of buys Odin will make for a mirrored wallet within a 24-hour window.","minimum":0},"maxBuysPerTokenPerDay":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 24-hour window.","minimum":0},"maxBuysPerTokenPerWeek":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 7-day window.","minimum":0},"allowPumpFun":{"type":"boolean","description":"If `true`, OdinBot is allowed to copy trades on pump.fun."},"snipeLaunchpadLaunches":{"type":"boolean","description":"If `true`, OdinBot will snipe (quickly buy) the tokens that your mirror launches (or creates) on a launchpad."},"launchpadLaunchSnipeTradeSizeSol":{"type":"number","description":"Amount in SOL to spend on each launchpad snipe (independent of tradeSizeLamports).","minimum":0},"mevProtection":{"type":"string","description":"Sets MEV protection.","enum":["Fastest","Balanced","Protected"]},"degenMode":{"type":"boolean","description":"Removes slippage entirely for trades not executed on Pump.fun or PumpSwap."},"allowBuys":{"type":"boolean","description":"Master switch that disables all new buys when set to false. Sells remain unaffected."},"buyStrategy":{"type":"string","description":"`Constant` uses tradeSizeLamports for every buy. `Scaling` calculates size from ssMinBuy, ssPercent, and ssMaxBuy.","enum":["Constant","Scaling"]},"ssMinBuy":{"type":"number","description":"Defines the smallest trade size (in SOL) that Odinbot will execute. If your buy would be below this size, no trade will be made. (only used when `buyStrategy` is set to `Scaling`).","minimum":0},"ssPercent":{"type":"number","description":"Percentage of the mirror's original buy size OdinBot should match.","minimum":0},"ssMaxBuy":{"type":"number","description":"Sets the largest trade size (in SOL) that Odinbot will execute. If the calculated buy size exceeds this value, Odinbot will instead use this value for the buy size.","minimum":0},"buyMode":{"type":"string","description":"`Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`.","enum":["Instant","BuyTheDip"]},"buyDipPct":{"type":"number","description":"Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.","exclusiveMinimum":0,"exclusiveMaximum":100},"buyDipTimeoutSecs":{"type":"number","description":"Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.","exclusiveMinimum":0,"maximum":604800},"crossMirrorPrevention":{"type":"boolean","description":"When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed."},"pfSlippage":{"type":"number","description":"Allowed slippage (%) when buying on Pump.fun or PumpSwap.","exclusiveMinimum":0},"minSlippagePct":{"type":"number","description":"Minimum slippage (%). This is an advanced setting that will cause your trade to fail if your executed slippage is too low. Applies to spot Pump.fun copy buys on Instant buy mode.","minimum":0},"buyExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored buys. The tip scales with the trade size.","minimum":0},"sellExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored sells. The tip scales with the trade size.","minimum":0},"minMcUsd":{"type":"number","description":"Minimum market cap (USD) a token must have for OdinBot to buy it."},"maxMcUsd":{"type":"number","description":"Maximum market cap (USD) above which OdinBot will not buy."},"minTokenAgeSecs":{"type":"number","description":"Minimum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"maxTokenAgeSecs":{"type":"number","description":"Maximum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"onlyCopyNewPositions":{"type":"boolean","description":"Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to false."}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"400":{"description":"Bad request. Check to make sure you're passing the right parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"401":{"description":"Unauthorized. Make sure you're using the right api key.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}}}},"paths":{"/v1/controls":{"put":{"summary":"Overwrite the current Controls object.","description":"Use this method to set all global control fields in a single request. **Fields left empty will be deleted**, meaning they will reset to their default values.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["controls"],"properties":{"controls":{"$ref":"#/components/schemas/Controls"}}}}}},"responses":{"200":{"$ref":"#/components/responses/200"},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


# PATCH /v1/controls

## Adjust selected global controls or remove them to inherit built-in defaults.

> Modify specific global controls by supplying only the fields you want to change in the "update" object, or list control names in the "remove" array to clear them back to their default values. Controls not mentioned in either key remain unchanged.

```json
{"openapi":"3.1.1","info":{"title":"Odinbot API","version":"0.1.0"},"servers":[{"url":"https://api.odinbot.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"Controls":{"allOf":[{"$ref":"#/components/schemas/CommonControlsOrOverrides"},{"type":"object","properties":{"autoSellProfileKey":{"type":"string","description":"Identifier of the auto-sell profile."}}}]},"CommonControlsOrOverrides":{"type":"object","properties":{"tradeSizeLamports":{"type":"integer","format":"int64","minimum":0,"description":"Total lamports Odinbot spends per copy buy when no scaling strategy is in effect."},"tradeSpeed":{"type":"string","description":"Selects the speed tier for copy-trades.","enum":["Standard","Turbo","Godly"]},"buyMinPriorityFee":{"type":"number","description":"Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.","minimum":0},"sellStrategy":{"type":"string","description":"Defines how Odinbot exits positions when the mirrored wallet sells.","enum":["SellAll","SellProportionally","NoSell"]},"maxBuysPerMirrorPerHour":{"type":"integer","description":"Limits how many buys Odinbot will make for a mirrored wallet within an hour.","minimum":0},"maxBuysPerMirrorPerDay":{"type":"integer","description":"Limits the number of buys Odin will make for a mirrored wallet within a 24-hour window.","minimum":0},"maxBuysPerTokenPerDay":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 24-hour window.","minimum":0},"maxBuysPerTokenPerWeek":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 7-day window.","minimum":0},"allowPumpFun":{"type":"boolean","description":"If `true`, OdinBot is allowed to copy trades on pump.fun."},"snipeLaunchpadLaunches":{"type":"boolean","description":"If `true`, OdinBot will snipe (quickly buy) the tokens that your mirror launches (or creates) on a launchpad."},"launchpadLaunchSnipeTradeSizeSol":{"type":"number","description":"Amount in SOL to spend on each launchpad snipe (independent of tradeSizeLamports).","minimum":0},"mevProtection":{"type":"string","description":"Sets MEV protection.","enum":["Fastest","Balanced","Protected"]},"degenMode":{"type":"boolean","description":"Removes slippage entirely for trades not executed on Pump.fun or PumpSwap."},"allowBuys":{"type":"boolean","description":"Master switch that disables all new buys when set to false. Sells remain unaffected."},"buyStrategy":{"type":"string","description":"`Constant` uses tradeSizeLamports for every buy. `Scaling` calculates size from ssMinBuy, ssPercent, and ssMaxBuy.","enum":["Constant","Scaling"]},"ssMinBuy":{"type":"number","description":"Defines the smallest trade size (in SOL) that Odinbot will execute. If your buy would be below this size, no trade will be made. (only used when `buyStrategy` is set to `Scaling`).","minimum":0},"ssPercent":{"type":"number","description":"Percentage of the mirror's original buy size OdinBot should match.","minimum":0},"ssMaxBuy":{"type":"number","description":"Sets the largest trade size (in SOL) that Odinbot will execute. If the calculated buy size exceeds this value, Odinbot will instead use this value for the buy size.","minimum":0},"buyMode":{"type":"string","description":"`Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`.","enum":["Instant","BuyTheDip"]},"buyDipPct":{"type":"number","description":"Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.","exclusiveMinimum":0,"exclusiveMaximum":100},"buyDipTimeoutSecs":{"type":"number","description":"Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.","exclusiveMinimum":0,"maximum":604800},"crossMirrorPrevention":{"type":"boolean","description":"When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed."},"pfSlippage":{"type":"number","description":"Allowed slippage (%) when buying on Pump.fun or PumpSwap.","exclusiveMinimum":0},"minSlippagePct":{"type":"number","description":"Minimum slippage (%). This is an advanced setting that will cause your trade to fail if your executed slippage is too low. Applies to spot Pump.fun copy buys on Instant buy mode.","minimum":0},"buyExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored buys. The tip scales with the trade size.","minimum":0},"sellExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored sells. The tip scales with the trade size.","minimum":0},"minMcUsd":{"type":"number","description":"Minimum market cap (USD) a token must have for OdinBot to buy it."},"maxMcUsd":{"type":"number","description":"Maximum market cap (USD) above which OdinBot will not buy."},"minTokenAgeSecs":{"type":"number","description":"Minimum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"maxTokenAgeSecs":{"type":"number","description":"Maximum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"onlyCopyNewPositions":{"type":"boolean","description":"Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to false."}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"400":{"description":"Bad request. Check to make sure you're passing the right parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"401":{"description":"Unauthorized. Make sure you're using the right api key.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}}}},"paths":{"/v1/controls":{"patch":{"summary":"Adjust selected global controls or remove them to inherit built-in defaults.","description":"Modify specific global controls by supplying only the fields you want to change in the \"update\" object, or list control names in the \"remove\" array to clear them back to their default values. Controls not mentioned in either key remain unchanged.","requestBody":{"description":"JSON object with two optional keys.  `update`- a partial Controls object specifying fields to set. `remove`- an array of control field names to clear (revert to defaults).","content":{"application/json":{"schema":{"type":"object","properties":{"update":{"$ref":"#/components/schemas/Controls"},"remove":{"type":"array","description":"List of control names to clear.","items":{"type":"string"}}}}}}},"responses":{"200":{"$ref":"#/components/responses/200"},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


# GET /v1/mirrors

## List all mirrored wallets and their overrides.

> Fetch every wallet you are currently mirroring along with any per-mirror overrides. Use this endpoint to view your active mirrors. The response returns a \`mirrors\` array of Mirror objects (each includes the mirror's \`address\` plus any overridden Controls fields).

```json
{"openapi":"3.1.1","info":{"title":"Odinbot API","version":"0.1.0"},"servers":[{"url":"https://api.odinbot.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"Mirror":{"required":["address"],"allOf":[{"$ref":"#/components/schemas/CommonControlsOrOverrides"},{"type":"object","properties":{"address":{"type":"string","description":"Solana public key of the wallet you want to mirror. This field is mandatory and uniquely identifies the mirror entry."},"autoSellProfileKey":{"description":"Key of the auto-sell profile OdinBot should apply for this mirror only. If you supply the literal string \"override_to_empty\", OdinBot will remove any auto-sell profile from this mirror even when a global profile exists in Controls.","anyOf":[{"type":"string"},{"type":"string","enum":["override_to_empty"]}]}}}]},"CommonControlsOrOverrides":{"type":"object","properties":{"tradeSizeLamports":{"type":"integer","format":"int64","minimum":0,"description":"Total lamports Odinbot spends per copy buy when no scaling strategy is in effect."},"tradeSpeed":{"type":"string","description":"Selects the speed tier for copy-trades.","enum":["Standard","Turbo","Godly"]},"buyMinPriorityFee":{"type":"number","description":"Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.","minimum":0},"sellStrategy":{"type":"string","description":"Defines how Odinbot exits positions when the mirrored wallet sells.","enum":["SellAll","SellProportionally","NoSell"]},"maxBuysPerMirrorPerHour":{"type":"integer","description":"Limits how many buys Odinbot will make for a mirrored wallet within an hour.","minimum":0},"maxBuysPerMirrorPerDay":{"type":"integer","description":"Limits the number of buys Odin will make for a mirrored wallet within a 24-hour window.","minimum":0},"maxBuysPerTokenPerDay":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 24-hour window.","minimum":0},"maxBuysPerTokenPerWeek":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 7-day window.","minimum":0},"allowPumpFun":{"type":"boolean","description":"If `true`, OdinBot is allowed to copy trades on pump.fun."},"snipeLaunchpadLaunches":{"type":"boolean","description":"If `true`, OdinBot will snipe (quickly buy) the tokens that your mirror launches (or creates) on a launchpad."},"launchpadLaunchSnipeTradeSizeSol":{"type":"number","description":"Amount in SOL to spend on each launchpad snipe (independent of tradeSizeLamports).","minimum":0},"mevProtection":{"type":"string","description":"Sets MEV protection.","enum":["Fastest","Balanced","Protected"]},"degenMode":{"type":"boolean","description":"Removes slippage entirely for trades not executed on Pump.fun or PumpSwap."},"allowBuys":{"type":"boolean","description":"Master switch that disables all new buys when set to false. Sells remain unaffected."},"buyStrategy":{"type":"string","description":"`Constant` uses tradeSizeLamports for every buy. `Scaling` calculates size from ssMinBuy, ssPercent, and ssMaxBuy.","enum":["Constant","Scaling"]},"ssMinBuy":{"type":"number","description":"Defines the smallest trade size (in SOL) that Odinbot will execute. If your buy would be below this size, no trade will be made. (only used when `buyStrategy` is set to `Scaling`).","minimum":0},"ssPercent":{"type":"number","description":"Percentage of the mirror's original buy size OdinBot should match.","minimum":0},"ssMaxBuy":{"type":"number","description":"Sets the largest trade size (in SOL) that Odinbot will execute. If the calculated buy size exceeds this value, Odinbot will instead use this value for the buy size.","minimum":0},"buyMode":{"type":"string","description":"`Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`.","enum":["Instant","BuyTheDip"]},"buyDipPct":{"type":"number","description":"Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.","exclusiveMinimum":0,"exclusiveMaximum":100},"buyDipTimeoutSecs":{"type":"number","description":"Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.","exclusiveMinimum":0,"maximum":604800},"crossMirrorPrevention":{"type":"boolean","description":"When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed."},"pfSlippage":{"type":"number","description":"Allowed slippage (%) when buying on Pump.fun or PumpSwap.","exclusiveMinimum":0},"minSlippagePct":{"type":"number","description":"Minimum slippage (%). This is an advanced setting that will cause your trade to fail if your executed slippage is too low. Applies to spot Pump.fun copy buys on Instant buy mode.","minimum":0},"buyExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored buys. The tip scales with the trade size.","minimum":0},"sellExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored sells. The tip scales with the trade size.","minimum":0},"minMcUsd":{"type":"number","description":"Minimum market cap (USD) a token must have for OdinBot to buy it."},"maxMcUsd":{"type":"number","description":"Maximum market cap (USD) above which OdinBot will not buy."},"minTokenAgeSecs":{"type":"number","description":"Minimum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"maxTokenAgeSecs":{"type":"number","description":"Maximum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"onlyCopyNewPositions":{"type":"boolean","description":"Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to false."}}}},"responses":{"401":{"description":"Unauthorized. Make sure you're using the right api key.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}}}},"paths":{"/v1/mirrors":{"get":{"summary":"List all mirrored wallets and their overrides.","description":"Fetch every wallet you are currently mirroring along with any per-mirror overrides. Use this endpoint to view your active mirrors. The response returns a `mirrors` array of Mirror objects (each includes the mirror's `address` plus any overridden Controls fields).","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","required":["mirrors"],"properties":{"mirrors":{"type":"array","items":{"$ref":"#/components/schemas/Mirror"}}}}}}},"401":{"$ref":"#/components/responses/401"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


# GET /v1/mirror/{address}

## Retrieve the override settings for one specific mirror wallet.

> Call this endpoint when you need to view the overries applied to a single mirror.

```json
{"openapi":"3.1.1","info":{"title":"Odinbot API","version":"0.1.0"},"servers":[{"url":"https://api.odinbot.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"Mirror":{"required":["address"],"allOf":[{"$ref":"#/components/schemas/CommonControlsOrOverrides"},{"type":"object","properties":{"address":{"type":"string","description":"Solana public key of the wallet you want to mirror. This field is mandatory and uniquely identifies the mirror entry."},"autoSellProfileKey":{"description":"Key of the auto-sell profile OdinBot should apply for this mirror only. If you supply the literal string \"override_to_empty\", OdinBot will remove any auto-sell profile from this mirror even when a global profile exists in Controls.","anyOf":[{"type":"string"},{"type":"string","enum":["override_to_empty"]}]}}}]},"CommonControlsOrOverrides":{"type":"object","properties":{"tradeSizeLamports":{"type":"integer","format":"int64","minimum":0,"description":"Total lamports Odinbot spends per copy buy when no scaling strategy is in effect."},"tradeSpeed":{"type":"string","description":"Selects the speed tier for copy-trades.","enum":["Standard","Turbo","Godly"]},"buyMinPriorityFee":{"type":"number","description":"Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.","minimum":0},"sellStrategy":{"type":"string","description":"Defines how Odinbot exits positions when the mirrored wallet sells.","enum":["SellAll","SellProportionally","NoSell"]},"maxBuysPerMirrorPerHour":{"type":"integer","description":"Limits how many buys Odinbot will make for a mirrored wallet within an hour.","minimum":0},"maxBuysPerMirrorPerDay":{"type":"integer","description":"Limits the number of buys Odin will make for a mirrored wallet within a 24-hour window.","minimum":0},"maxBuysPerTokenPerDay":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 24-hour window.","minimum":0},"maxBuysPerTokenPerWeek":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 7-day window.","minimum":0},"allowPumpFun":{"type":"boolean","description":"If `true`, OdinBot is allowed to copy trades on pump.fun."},"snipeLaunchpadLaunches":{"type":"boolean","description":"If `true`, OdinBot will snipe (quickly buy) the tokens that your mirror launches (or creates) on a launchpad."},"launchpadLaunchSnipeTradeSizeSol":{"type":"number","description":"Amount in SOL to spend on each launchpad snipe (independent of tradeSizeLamports).","minimum":0},"mevProtection":{"type":"string","description":"Sets MEV protection.","enum":["Fastest","Balanced","Protected"]},"degenMode":{"type":"boolean","description":"Removes slippage entirely for trades not executed on Pump.fun or PumpSwap."},"allowBuys":{"type":"boolean","description":"Master switch that disables all new buys when set to false. Sells remain unaffected."},"buyStrategy":{"type":"string","description":"`Constant` uses tradeSizeLamports for every buy. `Scaling` calculates size from ssMinBuy, ssPercent, and ssMaxBuy.","enum":["Constant","Scaling"]},"ssMinBuy":{"type":"number","description":"Defines the smallest trade size (in SOL) that Odinbot will execute. If your buy would be below this size, no trade will be made. (only used when `buyStrategy` is set to `Scaling`).","minimum":0},"ssPercent":{"type":"number","description":"Percentage of the mirror's original buy size OdinBot should match.","minimum":0},"ssMaxBuy":{"type":"number","description":"Sets the largest trade size (in SOL) that Odinbot will execute. If the calculated buy size exceeds this value, Odinbot will instead use this value for the buy size.","minimum":0},"buyMode":{"type":"string","description":"`Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`.","enum":["Instant","BuyTheDip"]},"buyDipPct":{"type":"number","description":"Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.","exclusiveMinimum":0,"exclusiveMaximum":100},"buyDipTimeoutSecs":{"type":"number","description":"Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.","exclusiveMinimum":0,"maximum":604800},"crossMirrorPrevention":{"type":"boolean","description":"When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed."},"pfSlippage":{"type":"number","description":"Allowed slippage (%) when buying on Pump.fun or PumpSwap.","exclusiveMinimum":0},"minSlippagePct":{"type":"number","description":"Minimum slippage (%). This is an advanced setting that will cause your trade to fail if your executed slippage is too low. Applies to spot Pump.fun copy buys on Instant buy mode.","minimum":0},"buyExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored buys. The tip scales with the trade size.","minimum":0},"sellExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored sells. The tip scales with the trade size.","minimum":0},"minMcUsd":{"type":"number","description":"Minimum market cap (USD) a token must have for OdinBot to buy it."},"maxMcUsd":{"type":"number","description":"Maximum market cap (USD) above which OdinBot will not buy."},"minTokenAgeSecs":{"type":"number","description":"Minimum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"maxTokenAgeSecs":{"type":"number","description":"Maximum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"onlyCopyNewPositions":{"type":"boolean","description":"Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to false."}}}},"responses":{"401":{"description":"Unauthorized. Make sure you're using the right api key.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}}}},"paths":{"/v1/mirror/{address}":{"get":{"summary":"Retrieve the override settings for one specific mirror wallet.","description":"Call this endpoint when you need to view the overries applied to a single mirror.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","required":["mirror"],"properties":{"mirror":{"$ref":"#/components/schemas/Mirror"}}}}}},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


# POST /v1/mirror

## Add a new mirror with optional overrides.

> Create a mirror for the specified wallet by providing its address and any overrides. If the wallet is already being mirrored, the request will succeed but no changes will be made.

```json
{"openapi":"3.1.1","info":{"title":"Odinbot API","version":"0.1.0"},"servers":[{"url":"https://api.odinbot.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"Mirror":{"required":["address"],"allOf":[{"$ref":"#/components/schemas/CommonControlsOrOverrides"},{"type":"object","properties":{"address":{"type":"string","description":"Solana public key of the wallet you want to mirror. This field is mandatory and uniquely identifies the mirror entry."},"autoSellProfileKey":{"description":"Key of the auto-sell profile OdinBot should apply for this mirror only. If you supply the literal string \"override_to_empty\", OdinBot will remove any auto-sell profile from this mirror even when a global profile exists in Controls.","anyOf":[{"type":"string"},{"type":"string","enum":["override_to_empty"]}]}}}]},"CommonControlsOrOverrides":{"type":"object","properties":{"tradeSizeLamports":{"type":"integer","format":"int64","minimum":0,"description":"Total lamports Odinbot spends per copy buy when no scaling strategy is in effect."},"tradeSpeed":{"type":"string","description":"Selects the speed tier for copy-trades.","enum":["Standard","Turbo","Godly"]},"buyMinPriorityFee":{"type":"number","description":"Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.","minimum":0},"sellStrategy":{"type":"string","description":"Defines how Odinbot exits positions when the mirrored wallet sells.","enum":["SellAll","SellProportionally","NoSell"]},"maxBuysPerMirrorPerHour":{"type":"integer","description":"Limits how many buys Odinbot will make for a mirrored wallet within an hour.","minimum":0},"maxBuysPerMirrorPerDay":{"type":"integer","description":"Limits the number of buys Odin will make for a mirrored wallet within a 24-hour window.","minimum":0},"maxBuysPerTokenPerDay":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 24-hour window.","minimum":0},"maxBuysPerTokenPerWeek":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 7-day window.","minimum":0},"allowPumpFun":{"type":"boolean","description":"If `true`, OdinBot is allowed to copy trades on pump.fun."},"snipeLaunchpadLaunches":{"type":"boolean","description":"If `true`, OdinBot will snipe (quickly buy) the tokens that your mirror launches (or creates) on a launchpad."},"launchpadLaunchSnipeTradeSizeSol":{"type":"number","description":"Amount in SOL to spend on each launchpad snipe (independent of tradeSizeLamports).","minimum":0},"mevProtection":{"type":"string","description":"Sets MEV protection.","enum":["Fastest","Balanced","Protected"]},"degenMode":{"type":"boolean","description":"Removes slippage entirely for trades not executed on Pump.fun or PumpSwap."},"allowBuys":{"type":"boolean","description":"Master switch that disables all new buys when set to false. Sells remain unaffected."},"buyStrategy":{"type":"string","description":"`Constant` uses tradeSizeLamports for every buy. `Scaling` calculates size from ssMinBuy, ssPercent, and ssMaxBuy.","enum":["Constant","Scaling"]},"ssMinBuy":{"type":"number","description":"Defines the smallest trade size (in SOL) that Odinbot will execute. If your buy would be below this size, no trade will be made. (only used when `buyStrategy` is set to `Scaling`).","minimum":0},"ssPercent":{"type":"number","description":"Percentage of the mirror's original buy size OdinBot should match.","minimum":0},"ssMaxBuy":{"type":"number","description":"Sets the largest trade size (in SOL) that Odinbot will execute. If the calculated buy size exceeds this value, Odinbot will instead use this value for the buy size.","minimum":0},"buyMode":{"type":"string","description":"`Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`.","enum":["Instant","BuyTheDip"]},"buyDipPct":{"type":"number","description":"Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.","exclusiveMinimum":0,"exclusiveMaximum":100},"buyDipTimeoutSecs":{"type":"number","description":"Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.","exclusiveMinimum":0,"maximum":604800},"crossMirrorPrevention":{"type":"boolean","description":"When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed."},"pfSlippage":{"type":"number","description":"Allowed slippage (%) when buying on Pump.fun or PumpSwap.","exclusiveMinimum":0},"minSlippagePct":{"type":"number","description":"Minimum slippage (%). This is an advanced setting that will cause your trade to fail if your executed slippage is too low. Applies to spot Pump.fun copy buys on Instant buy mode.","minimum":0},"buyExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored buys. The tip scales with the trade size.","minimum":0},"sellExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored sells. The tip scales with the trade size.","minimum":0},"minMcUsd":{"type":"number","description":"Minimum market cap (USD) a token must have for OdinBot to buy it."},"maxMcUsd":{"type":"number","description":"Maximum market cap (USD) above which OdinBot will not buy."},"minTokenAgeSecs":{"type":"number","description":"Minimum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"maxTokenAgeSecs":{"type":"number","description":"Maximum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"onlyCopyNewPositions":{"type":"boolean","description":"Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to false."}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"400":{"description":"Bad request. Check to make sure you're passing the right parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"401":{"description":"Unauthorized. Make sure you're using the right api key.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}}}},"paths":{"/v1/mirror":{"post":{"summary":"Add a new mirror with optional overrides.","description":"Create a mirror for the specified wallet by providing its address and any overrides. If the wallet is already being mirrored, the request will succeed but no changes will be made.","requestBody":{"description":"JSON object containing: `mirror`- a Mirror object with `address` (required) and any optional overrides.","content":{"application/json":{"schema":{"type":"object","required":["mirror"],"properties":{"mirror":{"$ref":"#/components/schemas/Mirror"},"save":{"type":"boolean","$comment":"defaults to `false`","description":"Also saves this mirror in your saved wallets. Defaults to `false`."}}}}}},"responses":{"200":{"$ref":"#/components/responses/200"},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


# PUT /v1/mirror

## Create a new mirror or overwrite an existing mirror's overrides.

> Provide a Mirror object to start mirroring a wallet or \*\*replace its existing override settings\*\*. If a mirror with that address already exists, \*\*its overrides will be fully replaced\*\*. Override fields left empty \*\*will be deleted\*\*, meaning the previously existing overrides will be removed and will reset to the default values defined in your controls.

```json
{"openapi":"3.1.1","info":{"title":"Odinbot API","version":"0.1.0"},"servers":[{"url":"https://api.odinbot.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"Mirror":{"required":["address"],"allOf":[{"$ref":"#/components/schemas/CommonControlsOrOverrides"},{"type":"object","properties":{"address":{"type":"string","description":"Solana public key of the wallet you want to mirror. This field is mandatory and uniquely identifies the mirror entry."},"autoSellProfileKey":{"description":"Key of the auto-sell profile OdinBot should apply for this mirror only. If you supply the literal string \"override_to_empty\", OdinBot will remove any auto-sell profile from this mirror even when a global profile exists in Controls.","anyOf":[{"type":"string"},{"type":"string","enum":["override_to_empty"]}]}}}]},"CommonControlsOrOverrides":{"type":"object","properties":{"tradeSizeLamports":{"type":"integer","format":"int64","minimum":0,"description":"Total lamports Odinbot spends per copy buy when no scaling strategy is in effect."},"tradeSpeed":{"type":"string","description":"Selects the speed tier for copy-trades.","enum":["Standard","Turbo","Godly"]},"buyMinPriorityFee":{"type":"number","description":"Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.","minimum":0},"sellStrategy":{"type":"string","description":"Defines how Odinbot exits positions when the mirrored wallet sells.","enum":["SellAll","SellProportionally","NoSell"]},"maxBuysPerMirrorPerHour":{"type":"integer","description":"Limits how many buys Odinbot will make for a mirrored wallet within an hour.","minimum":0},"maxBuysPerMirrorPerDay":{"type":"integer","description":"Limits the number of buys Odin will make for a mirrored wallet within a 24-hour window.","minimum":0},"maxBuysPerTokenPerDay":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 24-hour window.","minimum":0},"maxBuysPerTokenPerWeek":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 7-day window.","minimum":0},"allowPumpFun":{"type":"boolean","description":"If `true`, OdinBot is allowed to copy trades on pump.fun."},"snipeLaunchpadLaunches":{"type":"boolean","description":"If `true`, OdinBot will snipe (quickly buy) the tokens that your mirror launches (or creates) on a launchpad."},"launchpadLaunchSnipeTradeSizeSol":{"type":"number","description":"Amount in SOL to spend on each launchpad snipe (independent of tradeSizeLamports).","minimum":0},"mevProtection":{"type":"string","description":"Sets MEV protection.","enum":["Fastest","Balanced","Protected"]},"degenMode":{"type":"boolean","description":"Removes slippage entirely for trades not executed on Pump.fun or PumpSwap."},"allowBuys":{"type":"boolean","description":"Master switch that disables all new buys when set to false. Sells remain unaffected."},"buyStrategy":{"type":"string","description":"`Constant` uses tradeSizeLamports for every buy. `Scaling` calculates size from ssMinBuy, ssPercent, and ssMaxBuy.","enum":["Constant","Scaling"]},"ssMinBuy":{"type":"number","description":"Defines the smallest trade size (in SOL) that Odinbot will execute. If your buy would be below this size, no trade will be made. (only used when `buyStrategy` is set to `Scaling`).","minimum":0},"ssPercent":{"type":"number","description":"Percentage of the mirror's original buy size OdinBot should match.","minimum":0},"ssMaxBuy":{"type":"number","description":"Sets the largest trade size (in SOL) that Odinbot will execute. If the calculated buy size exceeds this value, Odinbot will instead use this value for the buy size.","minimum":0},"buyMode":{"type":"string","description":"`Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`.","enum":["Instant","BuyTheDip"]},"buyDipPct":{"type":"number","description":"Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.","exclusiveMinimum":0,"exclusiveMaximum":100},"buyDipTimeoutSecs":{"type":"number","description":"Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.","exclusiveMinimum":0,"maximum":604800},"crossMirrorPrevention":{"type":"boolean","description":"When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed."},"pfSlippage":{"type":"number","description":"Allowed slippage (%) when buying on Pump.fun or PumpSwap.","exclusiveMinimum":0},"minSlippagePct":{"type":"number","description":"Minimum slippage (%). This is an advanced setting that will cause your trade to fail if your executed slippage is too low. Applies to spot Pump.fun copy buys on Instant buy mode.","minimum":0},"buyExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored buys. The tip scales with the trade size.","minimum":0},"sellExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored sells. The tip scales with the trade size.","minimum":0},"minMcUsd":{"type":"number","description":"Minimum market cap (USD) a token must have for OdinBot to buy it."},"maxMcUsd":{"type":"number","description":"Maximum market cap (USD) above which OdinBot will not buy."},"minTokenAgeSecs":{"type":"number","description":"Minimum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"maxTokenAgeSecs":{"type":"number","description":"Maximum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"onlyCopyNewPositions":{"type":"boolean","description":"Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to false."}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"400":{"description":"Bad request. Check to make sure you're passing the right parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"401":{"description":"Unauthorized. Make sure you're using the right api key.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}}}},"paths":{"/v1/mirror":{"put":{"summary":"Create a new mirror or overwrite an existing mirror's overrides.","description":"Provide a Mirror object to start mirroring a wallet or **replace its existing override settings**. If a mirror with that address already exists, **its overrides will be fully replaced**. Override fields left empty **will be deleted**, meaning the previously existing overrides will be removed and will reset to the default values defined in your controls.","requestBody":{"description":"JSON object containing: `mirror`- a Mirror object with `address` (required) and any optional override fields.","content":{"application/json":{"schema":{"type":"object","required":["mirror"],"properties":{"mirror":{"$ref":"#/components/schemas/Mirror"},"save":{"type":"boolean","$comment":"defaults to `false`","description":"Also saves this mirror in your saved wallets. Defaults to `false`."}}}}}},"responses":{"200":{"$ref":"#/components/responses/200"},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


# PATCH /v1/mirror/{address}

## Modify or clear specific overrides for a single mirror.

> Modify or clear specific overrides for a single mirror. Supply only the fields you wish to change in the \`update\` object, and/or list fields to remove (revert to global Controls defaults) in the \`remove\` array. Any fields not mentioned will remain unchanged.

```json
{"openapi":"3.1.1","info":{"title":"Odinbot API","version":"0.1.0"},"servers":[{"url":"https://api.odinbot.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"UpdateMirror":{"description":"`UpdateMirror` is the type accepted in the update field of `PATCH /v1/mirror/{address}`. It lets you tweak or clear specified settings without modifying the unmentioned settings.","allOf":[{"$ref":"#/components/schemas/CommonControlsOrOverrides"},{"type":"object","properties":{"autoSellProfileKey":{"description":"Key of the auto-sell profile OdinBot should apply for this mirror only. If you supply the literal string \"override_to_empty\", OdinBot will remove any auto-sell profile from this mirror even when a global profile exists in Controls.","anyOf":[{"type":"string"},{"type":"string","enum":["override_to_empty"]}]}}}]},"CommonControlsOrOverrides":{"type":"object","properties":{"tradeSizeLamports":{"type":"integer","format":"int64","minimum":0,"description":"Total lamports Odinbot spends per copy buy when no scaling strategy is in effect."},"tradeSpeed":{"type":"string","description":"Selects the speed tier for copy-trades.","enum":["Standard","Turbo","Godly"]},"buyMinPriorityFee":{"type":"number","description":"Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.","minimum":0},"sellStrategy":{"type":"string","description":"Defines how Odinbot exits positions when the mirrored wallet sells.","enum":["SellAll","SellProportionally","NoSell"]},"maxBuysPerMirrorPerHour":{"type":"integer","description":"Limits how many buys Odinbot will make for a mirrored wallet within an hour.","minimum":0},"maxBuysPerMirrorPerDay":{"type":"integer","description":"Limits the number of buys Odin will make for a mirrored wallet within a 24-hour window.","minimum":0},"maxBuysPerTokenPerDay":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 24-hour window.","minimum":0},"maxBuysPerTokenPerWeek":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 7-day window.","minimum":0},"allowPumpFun":{"type":"boolean","description":"If `true`, OdinBot is allowed to copy trades on pump.fun."},"snipeLaunchpadLaunches":{"type":"boolean","description":"If `true`, OdinBot will snipe (quickly buy) the tokens that your mirror launches (or creates) on a launchpad."},"launchpadLaunchSnipeTradeSizeSol":{"type":"number","description":"Amount in SOL to spend on each launchpad snipe (independent of tradeSizeLamports).","minimum":0},"mevProtection":{"type":"string","description":"Sets MEV protection.","enum":["Fastest","Balanced","Protected"]},"degenMode":{"type":"boolean","description":"Removes slippage entirely for trades not executed on Pump.fun or PumpSwap."},"allowBuys":{"type":"boolean","description":"Master switch that disables all new buys when set to false. Sells remain unaffected."},"buyStrategy":{"type":"string","description":"`Constant` uses tradeSizeLamports for every buy. `Scaling` calculates size from ssMinBuy, ssPercent, and ssMaxBuy.","enum":["Constant","Scaling"]},"ssMinBuy":{"type":"number","description":"Defines the smallest trade size (in SOL) that Odinbot will execute. If your buy would be below this size, no trade will be made. (only used when `buyStrategy` is set to `Scaling`).","minimum":0},"ssPercent":{"type":"number","description":"Percentage of the mirror's original buy size OdinBot should match.","minimum":0},"ssMaxBuy":{"type":"number","description":"Sets the largest trade size (in SOL) that Odinbot will execute. If the calculated buy size exceeds this value, Odinbot will instead use this value for the buy size.","minimum":0},"buyMode":{"type":"string","description":"`Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`.","enum":["Instant","BuyTheDip"]},"buyDipPct":{"type":"number","description":"Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.","exclusiveMinimum":0,"exclusiveMaximum":100},"buyDipTimeoutSecs":{"type":"number","description":"Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.","exclusiveMinimum":0,"maximum":604800},"crossMirrorPrevention":{"type":"boolean","description":"When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed."},"pfSlippage":{"type":"number","description":"Allowed slippage (%) when buying on Pump.fun or PumpSwap.","exclusiveMinimum":0},"minSlippagePct":{"type":"number","description":"Minimum slippage (%). This is an advanced setting that will cause your trade to fail if your executed slippage is too low. Applies to spot Pump.fun copy buys on Instant buy mode.","minimum":0},"buyExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored buys. The tip scales with the trade size.","minimum":0},"sellExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored sells. The tip scales with the trade size.","minimum":0},"minMcUsd":{"type":"number","description":"Minimum market cap (USD) a token must have for OdinBot to buy it."},"maxMcUsd":{"type":"number","description":"Maximum market cap (USD) above which OdinBot will not buy."},"minTokenAgeSecs":{"type":"number","description":"Minimum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"maxTokenAgeSecs":{"type":"number","description":"Maximum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"onlyCopyNewPositions":{"type":"boolean","description":"Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to false."}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"400":{"description":"Bad request. Check to make sure you're passing the right parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"401":{"description":"Unauthorized. Make sure you're using the right api key.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}}}},"paths":{"/v1/mirror/{address}":{"patch":{"summary":"Modify or clear specific overrides for a single mirror.","description":"Modify or clear specific overrides for a single mirror. Supply only the fields you wish to change in the `update` object, and/or list fields to remove (revert to global Controls defaults) in the `remove` array. Any fields not mentioned will remain unchanged.","requestBody":{"description":"JSON object with two optional properties: `update`- a partial UpdateMirror object specifying the override values to apply. `remove`- an array of field names to clear (reverting them to the global default).","content":{"application/json":{"schema":{"type":"object","properties":{"update":{"$ref":"#/components/schemas/UpdateMirror"},"remove":{"type":"array","description":"List of control names to clear.","items":{"type":"string"}}}}}}},"responses":{"200":{"$ref":"#/components/responses/200"},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


# DELETE /v1/mirror/{address}

## Remove a mirror from your mirror list.

> Stop copy-trading the specified wallet by removing it from your mirror list. Provide the wallet's \`address\` as a path parameter. If you are not mirroring this address, the request still succeeds without making any changes.

```json
{"openapi":"3.1.1","info":{"title":"Odinbot API","version":"0.1.0"},"servers":[{"url":"https://api.odinbot.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"400":{"description":"Bad request. Check to make sure you're passing the right parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"401":{"description":"Unauthorized. Make sure you're using the right api key.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}}}},"paths":{"/v1/mirror/{address}":{"delete":{"summary":"Remove a mirror from your mirror list.","description":"Stop copy-trading the specified wallet by removing it from your mirror list. Provide the wallet's `address` as a path parameter. If you are not mirroring this address, the request still succeeds without making any changes.","responses":{"200":{"$ref":"#/components/responses/200"},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


# POST /v1/mirrors/batch

## Add multiple mirrors with optional overrides.

> Create many mirrors in a single request by providing an array of Mirror objects. Any addresses that are already mirrored will be skipped and not overwritten. The response may include a \`skipped\` array listing the addresses that were skipped because you were already mirroring them.

```json
{"openapi":"3.1.1","info":{"title":"Odinbot API","version":"0.1.0"},"servers":[{"url":"https://api.odinbot.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"Mirror":{"required":["address"],"allOf":[{"$ref":"#/components/schemas/CommonControlsOrOverrides"},{"type":"object","properties":{"address":{"type":"string","description":"Solana public key of the wallet you want to mirror. This field is mandatory and uniquely identifies the mirror entry."},"autoSellProfileKey":{"description":"Key of the auto-sell profile OdinBot should apply for this mirror only. If you supply the literal string \"override_to_empty\", OdinBot will remove any auto-sell profile from this mirror even when a global profile exists in Controls.","anyOf":[{"type":"string"},{"type":"string","enum":["override_to_empty"]}]}}}]},"CommonControlsOrOverrides":{"type":"object","properties":{"tradeSizeLamports":{"type":"integer","format":"int64","minimum":0,"description":"Total lamports Odinbot spends per copy buy when no scaling strategy is in effect."},"tradeSpeed":{"type":"string","description":"Selects the speed tier for copy-trades.","enum":["Standard","Turbo","Godly"]},"buyMinPriorityFee":{"type":"number","description":"Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.","minimum":0},"sellStrategy":{"type":"string","description":"Defines how Odinbot exits positions when the mirrored wallet sells.","enum":["SellAll","SellProportionally","NoSell"]},"maxBuysPerMirrorPerHour":{"type":"integer","description":"Limits how many buys Odinbot will make for a mirrored wallet within an hour.","minimum":0},"maxBuysPerMirrorPerDay":{"type":"integer","description":"Limits the number of buys Odin will make for a mirrored wallet within a 24-hour window.","minimum":0},"maxBuysPerTokenPerDay":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 24-hour window.","minimum":0},"maxBuysPerTokenPerWeek":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 7-day window.","minimum":0},"allowPumpFun":{"type":"boolean","description":"If `true`, OdinBot is allowed to copy trades on pump.fun."},"snipeLaunchpadLaunches":{"type":"boolean","description":"If `true`, OdinBot will snipe (quickly buy) the tokens that your mirror launches (or creates) on a launchpad."},"launchpadLaunchSnipeTradeSizeSol":{"type":"number","description":"Amount in SOL to spend on each launchpad snipe (independent of tradeSizeLamports).","minimum":0},"mevProtection":{"type":"string","description":"Sets MEV protection.","enum":["Fastest","Balanced","Protected"]},"degenMode":{"type":"boolean","description":"Removes slippage entirely for trades not executed on Pump.fun or PumpSwap."},"allowBuys":{"type":"boolean","description":"Master switch that disables all new buys when set to false. Sells remain unaffected."},"buyStrategy":{"type":"string","description":"`Constant` uses tradeSizeLamports for every buy. `Scaling` calculates size from ssMinBuy, ssPercent, and ssMaxBuy.","enum":["Constant","Scaling"]},"ssMinBuy":{"type":"number","description":"Defines the smallest trade size (in SOL) that Odinbot will execute. If your buy would be below this size, no trade will be made. (only used when `buyStrategy` is set to `Scaling`).","minimum":0},"ssPercent":{"type":"number","description":"Percentage of the mirror's original buy size OdinBot should match.","minimum":0},"ssMaxBuy":{"type":"number","description":"Sets the largest trade size (in SOL) that Odinbot will execute. If the calculated buy size exceeds this value, Odinbot will instead use this value for the buy size.","minimum":0},"buyMode":{"type":"string","description":"`Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`.","enum":["Instant","BuyTheDip"]},"buyDipPct":{"type":"number","description":"Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.","exclusiveMinimum":0,"exclusiveMaximum":100},"buyDipTimeoutSecs":{"type":"number","description":"Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.","exclusiveMinimum":0,"maximum":604800},"crossMirrorPrevention":{"type":"boolean","description":"When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed."},"pfSlippage":{"type":"number","description":"Allowed slippage (%) when buying on Pump.fun or PumpSwap.","exclusiveMinimum":0},"minSlippagePct":{"type":"number","description":"Minimum slippage (%). This is an advanced setting that will cause your trade to fail if your executed slippage is too low. Applies to spot Pump.fun copy buys on Instant buy mode.","minimum":0},"buyExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored buys. The tip scales with the trade size.","minimum":0},"sellExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored sells. The tip scales with the trade size.","minimum":0},"minMcUsd":{"type":"number","description":"Minimum market cap (USD) a token must have for OdinBot to buy it."},"maxMcUsd":{"type":"number","description":"Maximum market cap (USD) above which OdinBot will not buy."},"minTokenAgeSecs":{"type":"number","description":"Minimum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"maxTokenAgeSecs":{"type":"number","description":"Maximum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"onlyCopyNewPositions":{"type":"boolean","description":"Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to false."}}}},"responses":{"400":{"description":"Bad request. Check to make sure you're passing the right parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"401":{"description":"Unauthorized. Make sure you're using the right api key.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}}}},"paths":{"/v1/mirrors/batch":{"post":{"summary":"Add multiple mirrors with optional overrides.","description":"Create many mirrors in a single request by providing an array of Mirror objects. Any addresses that are already mirrored will be skipped and not overwritten. The response may include a `skipped` array listing the addresses that were skipped because you were already mirroring them.","requestBody":{"description":"JSON object containing: `mirrors`- an array of Mirror objects.","content":{"application/json":{"schema":{"type":"object","required":["mirrors"],"properties":{"mirrors":{"type":"array","items":{"$ref":"#/components/schemas/Mirror"}},"save":{"type":"boolean","$comment":"defaults to `false`","description":"Also saves the newly mirrored wallets in your saved wallets. Defaults to `false`."}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"skipped":{"type":"array","items":{"type":"string"}}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


# PUT /v1/mirrors/all

## Replace your entire mirror list in one request.

> Overwrite all existing mirrors and overrides by providing a new array of Mirror objects. If you supply an empty array, all mirrors and overrides will be removed.

```json
{"openapi":"3.1.1","info":{"title":"Odinbot API","version":"0.1.0"},"servers":[{"url":"https://api.odinbot.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"Mirror":{"required":["address"],"allOf":[{"$ref":"#/components/schemas/CommonControlsOrOverrides"},{"type":"object","properties":{"address":{"type":"string","description":"Solana public key of the wallet you want to mirror. This field is mandatory and uniquely identifies the mirror entry."},"autoSellProfileKey":{"description":"Key of the auto-sell profile OdinBot should apply for this mirror only. If you supply the literal string \"override_to_empty\", OdinBot will remove any auto-sell profile from this mirror even when a global profile exists in Controls.","anyOf":[{"type":"string"},{"type":"string","enum":["override_to_empty"]}]}}}]},"CommonControlsOrOverrides":{"type":"object","properties":{"tradeSizeLamports":{"type":"integer","format":"int64","minimum":0,"description":"Total lamports Odinbot spends per copy buy when no scaling strategy is in effect."},"tradeSpeed":{"type":"string","description":"Selects the speed tier for copy-trades.","enum":["Standard","Turbo","Godly"]},"buyMinPriorityFee":{"type":"number","description":"Minimum priority fee for buys. Applies to spot copy buys on Instant buy mode.","minimum":0},"sellStrategy":{"type":"string","description":"Defines how Odinbot exits positions when the mirrored wallet sells.","enum":["SellAll","SellProportionally","NoSell"]},"maxBuysPerMirrorPerHour":{"type":"integer","description":"Limits how many buys Odinbot will make for a mirrored wallet within an hour.","minimum":0},"maxBuysPerMirrorPerDay":{"type":"integer","description":"Limits the number of buys Odin will make for a mirrored wallet within a 24-hour window.","minimum":0},"maxBuysPerTokenPerDay":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 24-hour window.","minimum":0},"maxBuysPerTokenPerWeek":{"type":"integer","description":"Maximum number of buys allowed for the same token in a 7-day window.","minimum":0},"allowPumpFun":{"type":"boolean","description":"If `true`, OdinBot is allowed to copy trades on pump.fun."},"snipeLaunchpadLaunches":{"type":"boolean","description":"If `true`, OdinBot will snipe (quickly buy) the tokens that your mirror launches (or creates) on a launchpad."},"launchpadLaunchSnipeTradeSizeSol":{"type":"number","description":"Amount in SOL to spend on each launchpad snipe (independent of tradeSizeLamports).","minimum":0},"mevProtection":{"type":"string","description":"Sets MEV protection.","enum":["Fastest","Balanced","Protected"]},"degenMode":{"type":"boolean","description":"Removes slippage entirely for trades not executed on Pump.fun or PumpSwap."},"allowBuys":{"type":"boolean","description":"Master switch that disables all new buys when set to false. Sells remain unaffected."},"buyStrategy":{"type":"string","description":"`Constant` uses tradeSizeLamports for every buy. `Scaling` calculates size from ssMinBuy, ssPercent, and ssMaxBuy.","enum":["Constant","Scaling"]},"ssMinBuy":{"type":"number","description":"Defines the smallest trade size (in SOL) that Odinbot will execute. If your buy would be below this size, no trade will be made. (only used when `buyStrategy` is set to `Scaling`).","minimum":0},"ssPercent":{"type":"number","description":"Percentage of the mirror's original buy size OdinBot should match.","minimum":0},"ssMaxBuy":{"type":"number","description":"Sets the largest trade size (in SOL) that Odinbot will execute. If the calculated buy size exceeds this value, Odinbot will instead use this value for the buy size.","minimum":0},"buyMode":{"type":"string","description":"`Instant` will copy buys instantly. `BuyTheDip` will wait for a dip after the mirror's buy before buying. `BuyTheDip` mode uses `buyDipPct` and `buyDipTimeoutSecs`.","enum":["Instant","BuyTheDip"]},"buyDipPct":{"type":"number","description":"Only used in `BuyTheDip` mode. How much the price dips before you buy. Must be a number between 0 and 100. If empty, defaults to 5.","exclusiveMinimum":0,"exclusiveMaximum":100},"buyDipTimeoutSecs":{"type":"number","description":"Only used in `BuyTheDip` mode. How long to wait for a dip after your mirror buys. Max 7 days. If empty, defaults to 1 day.","exclusiveMinimum":0,"maximum":604800},"crossMirrorPrevention":{"type":"boolean","description":"When enabled, only the mirrored wallet that caused the first trade of a token can trade that token until the position is closed."},"pfSlippage":{"type":"number","description":"Allowed slippage (%) when buying on Pump.fun or PumpSwap.","exclusiveMinimum":0},"minSlippagePct":{"type":"number","description":"Minimum slippage (%). This is an advanced setting that will cause your trade to fail if your executed slippage is too low. Applies to spot Pump.fun copy buys on Instant buy mode.","minimum":0},"buyExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored buys. The tip scales with the trade size.","minimum":0},"sellExtraTipPct":{"type":"number","description":"Adds a percentage-based additional tip to potentially speed up mirrored sells. The tip scales with the trade size.","minimum":0},"minMcUsd":{"type":"number","description":"Minimum market cap (USD) a token must have for OdinBot to buy it."},"maxMcUsd":{"type":"number","description":"Maximum market cap (USD) above which OdinBot will not buy."},"minTokenAgeSecs":{"type":"number","description":"Minimum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"maxTokenAgeSecs":{"type":"number","description":"Maximum token age (in seconds) a token must have for OdinBot to buy it.","minimum":0},"onlyCopyNewPositions":{"type":"boolean","description":"Only copy the buy if the mirror is opening a new position. A new position means the mirror's balance of the token they're buying was 0 immediately before this buy. Defaults to false."}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"400":{"description":"Bad request. Check to make sure you're passing the right parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"401":{"description":"Unauthorized. Make sure you're using the right api key.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}}}},"paths":{"/v1/mirrors/all":{"put":{"summary":"Replace your entire mirror list in one request.","description":"Overwrite all existing mirrors and overrides by providing a new array of Mirror objects. If you supply an empty array, all mirrors and overrides will be removed.","requestBody":{"description":"JSON object containing: `mirrors`: an array of Mirror objects.","content":{"application/json":{"schema":{"type":"object","required":["mirrors"],"properties":{"mirrors":{"type":"array","items":{"$ref":"#/components/schemas/Mirror"}},"save":{"type":"boolean","$comment":"defaults to `false`","description":"Also saves these mirrors in your saved wallets. Defaults to `false`."}}}}}},"responses":{"200":{"$ref":"#/components/responses/200"},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


# GET /v1/auto-sell-profiles

## List all auto-sell profiles for your account.

> Retrieve every auto-sell profile you have configured in the OdinBot interface.   Supports optional cursor-based pagination: if the response includes a \`cursor\` value, pass it as a \`cursor\` query parameter in your next request to fetch the following batch.

```json
{"openapi":"3.1.1","info":{"title":"Odinbot API","version":"0.1.0"},"servers":[{"url":"https://api.odinbot.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"responses":{"401":{"description":"Unauthorized. Make sure you're using the right api key.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}}}},"paths":{"/v1/auto-sell-profiles":{"get":{"summary":"List all auto-sell profiles for your account.","description":"Retrieve every auto-sell profile you have configured in the OdinBot interface.   Supports optional cursor-based pagination: if the response includes a `cursor` value, pass it as a `cursor` query parameter in your next request to fetch the following batch.","parameters":[{"in":"query","required":false,"name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","required":["autoSellProfiles"],"properties":{"autoSellProfiles":{"type":"array","items":{"$ref":"#components/schemas/AutoSellProfile"}},"cursor":{"type":"string"}}}}}},"401":{"$ref":"#/components/responses/401"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


# GET /v1/auto-sell-profile/{id}

## Fetch a single auto-sell profile by its id.

> Retrieve the AutoSellProfile matching the provided \`id\`.   The \`id\` corresponds to the \`autoSellProfileKey\` used in Controls or Mirror. &#x20;

```json
{"openapi":"3.1.1","info":{"title":"Odinbot API","version":"0.1.0"},"servers":[{"url":"https://api.odinbot.io"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"responses":{"401":{"description":"Unauthorized. Make sure you're using the right api key.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}},"429":{"description":"Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message"}}}}}}}},"paths":{"/v1/auto-sell-profile/{id}":{"get":{"summary":"Fetch a single auto-sell profile by its id.","description":"Retrieve the AutoSellProfile matching the provided `id`.   The `id` corresponds to the `autoSellProfileKey` used in Controls or Mirror.  ","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","required":["autoSellProfile"],"properties":{"autoSellProfile":{"$ref":"#components/schemas/AutoSellProfile"}}}}}},"401":{"$ref":"#/components/responses/401"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"}}}}}}
```


# Brand kit

## Logo

<figure><img src="https://4180950079-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fo0Ph0MtrBKe4HScB8L4D%2Fuploads%2FBZAMwVSC2wcSPtIRywAy%2FODINBOTLOGO_copytrade-solana-bot.png?alt=media&#x26;token=9958db93-1c7e-4beb-9938-21a08e25dafd" alt="OdinBot logo"><figcaption></figcaption></figure>

### **Use rules**

* Use official files from this page only.
* Keep original proportions and orientation. No stretching, rotating, or warping.
* Do not add effects. No shadows, gradients, or glows.
* Place on clean, high-contrast backgrounds.
* Use one logo version per placement.

## Typography

Heading Font: **Rubik**

**RUBIK 700 (**[**google font link**](https://fonts.google.com/specimen/Rubik?preview.text=Odin%20Bot%20is%20the%20ultimate%20Solana%20Copy%20Trade%20Platform)**)**<br>

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

Body Font: **Roboto**

**ROBOTO 400 (**[**google font link**](https://fonts.google.com/specimen/Roboto?preview.text=Odin%20Bot%20is%20the%20ultimate%20Solana%20Copy%20Trade%20Platform\&query=Roboto)**)**

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


# Vision

At OdinBot.io, our vision is to empower traders to achieve god-like precision and speed in the world of Solana trading. We are dedicated to revolutionizing the trading experience by delivering the fastest, most reliable copy trading bot, enabling users to mirror profitable strategies with ease and confidence.

Through innovation, intuitive design, and unmatched performance, OdinBot.io strives to set the standard for trading technology, helping users harness the power of the blockchain with efficiency and precision. Our mission is to make trading smarter, faster, and more accessible for everyone.


