> For the complete documentation index, see [llms.txt](https://docs.nftbutler.io/nft-butler/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nftbutler.io/nft-butler/features/satflow-collection-bidding.md).

# Satflow Collection Bidding

Features

* [x] Collection Bidding
* [x] Collecion Trait Bidding
* [x] Local Wallet Outbidding protection
* [x] Looping & Outbidding competition
* [x] Auto-Cancel & Rebid
* [x] Relativ Bidding to floor price or fixed BTC bidding
* [x] Floor price protection
* [x] Trait Floor price protection
* [x] BTC Transaction Fees protection
* [x] Unlimited active Collection bids

<figure><img src="/files/tuXm25kjUwx25dbEWSDU" alt=""><figcaption><p>Creatin an Ordinals Collection Bidding task</p></figcaption></figure>

## Requirements to run Satflow collection bidding tasks

{% hint style="info" %}
In order to create and run Ordinal Bidding task each User will need a Butler base Access ([Subscription or Lifetime NFT](/nft-butler/nft-butler/getting-started/get-access.md)) as well as the [PRO Access](/nft-butler/products-and-services/pro-access.md) on top.
{% endhint %}

## How does Ordinals Collection  bidding work?

Bidding on Ordinal assets through Satflow is very similar to bidding on Opensea. Here are the most important notes:

* You can have as many active bids as you want on each wallet
* Maximum active bids controlls how many bids are kept active on a per task level (old bids are getting auto cancelled)
* Trait filters can be added to bid on certain traits only
* Minimum bid amount is 1'000 sats on token bids (0.00001 BTC)
* Minimum bid duration is 15min for Collection bids
* An additional \~600 sats will be used as transaction fees as part of the bid.
* Satflow takes 1000 sats as fees on every transaction but it's part of your bid and not on top.

## Add BTC Wallet to NFT Butler

{% hint style="info" %}
In Order to run Ordinal Bidding Tasks you'll first have to [add a Bitcoin Wallet](/nft-butler/nft-butler/getting-started/add-bitcoin-wallet-ordinals.md) to your Butler which will be used to run your bids.

Your private key will be kept save, strongly encrypted on your Butler app only. It will never be shared or sent anywhere. It's only used locally to sign your bids.
{% endhint %}

## Create Ordinal Collection Task

Ordinal bidding tasks need to be created as Manual Task for now. Head to the CTO page and hit the "Create Ordinal Collection Task" Button:

{% hint style="info" %}
You can also create Multiple Collection Bidding Tasks with different Wallets on the same collection for different traits. Butler will automatically consider all Local wallets as "your own" and will not outbid them.
{% endhint %}

<figure><img src="/files/p44zoVIzhQFZPkS4lfop" alt=""><figcaption><p>Create Manual Collection Task</p></figcaption></figure>

### Ordinals Collection

Copy & Past the link of the Ordinals Collection to your Task and hit the **Fetch Data** button to make it double check the collection.<br>

* This will fetch collection details and floor price
* Once the Collection has been fetched it's not longer possible to change it. Create a new Task if you want to bid on a different Collection.
* Trait targets can still be changed later on.

<figure><img src="/files/PH9TcwuJcGcqJSwo4BQc" alt=""><figcaption><p>Adding an Ordinals Collection and Fetching collection Details</p></figcaption></figure>

### Bidding Wallet

Now choose your Wallet which will be used for bidding.&#x20;

{% hint style="info" %}
Remember each wallet can only have one bid active per Collection. But Butler will take care about canceling and rebidding. However if you want to have multiple bids active per collection you'll have to create multiple Collection Tasks.
{% endhint %}

<figure><img src="/files/U7rEp9FZL2rlHdc55cmp" alt=""><figcaption><p>Choosing bidding wallet</p></figcaption></figure>

### Outbidding Strategy

You can bid with a fixed bid price or  you can use "Outbid" to define a minimum and maximum price range. Butler will automatically outbid your competition in this range.

{% hint style="info" %}
You can also choose between bidding in fixed BTC or bidding relative to the current collection floor price. So for example 30% to 20% below the current collection floor price. Relative bids will always require to set a "Hardcap bid price" in BTC as as fixed max bid price in BTC, to protect from fast moving floor prices.&#x20;
{% endhint %}

<figure><img src="/files/BBgpEXV68Wajaa5q4JAl" alt=""><figcaption><p>Bidding 0.00175 BTC as fixed bid price</p></figcaption></figure>

<figure><img src="/files/k5emht0vVyCCh0mJ1KcJ" alt=""><figcaption><p>Bidding in fixed BTC between 0.001 and 0.0017 BTC</p></figcaption></figure>

<figure><img src="/files/YvgI3Z8SsZLvwL49kJO2" alt=""><figcaption><p>Outbidding relativ to the collection floor price with a fixed hardcap bid price at 0.45 BTC</p></figcaption></figure>

### Outbidding steps and Expiration Time

The next section is about Outbidding steps (when outbidding is enabled) and the Validity (duration) of the bids.

For Outbidding several options are available:

* BTC: Outbid your competition in fixed BTC steps (Example: 0.000001 BTC)
* %: Outbid your competition in percentage steps (Example: 1% increments)&#x20;
* Smart: Outbid your competition in 9 different steps from your min to your max bid price. This is designed to save outbidding iteration and push the compeition out by reaching their max bid price where outbidding wars are finally won.

The Expiration Time of the bid can be defined in mins, hours, days and weeks. Usually we recommend something between 15 and 60 mins  for Collection Tasks.

{% hint style="info" %}
Minimum bid duration is 15min for collection tasks on Satflow
{% endhint %}

<figure><img src="/files/jZJLNMp5x8QClkeIc2MY" alt=""><figcaption><p>Bidding with an Expiration Time of 15min</p></figcaption></figure>

<figure><img src="/files/Eoo3X7jeeAFx4rJZbV7j" alt=""><figcaption><p>Outbidding competitor's bids with 0.0001 BTC</p></figcaption></figure>

### Optional: Trait Filter

With the **Add Trait Filter** toggle button you can enable filtering for a selected trait. It requires to fetch Ordinals Collection Data first and it will then provide Dropdowns to choose the Trait Type and Trait Value filter for your Bidding Task:

<figure><img src="/files/lPNbaiwSzPgIrsdP29ZS" alt=""><figcaption><p>Adding Trait Filter for Ordinal Token Bidding Task</p></figcaption></figure>

### Optional: Floor price cap

The F**loor price cap** is an important safety feature, especially for Collection Task Bidding. If you set the **Min floor price** the task will automatically stop processing and looping once the Collection floor price (cheapest listing) drops below this value. The task will still retry but only process bids again once the floor price is in your range again.

{% hint style="info" %}
You can only set the Min floor price if you dont want to define a maximum.

We always recommend to set this setting as safety feature. You never know how floor prices move while sleeping.

Also bids which are already active will have to expire, even if the floor price drops below the treshold. So make sure to use short validity times
{% endhint %}

<figure><img src="/files/5zTnrcJonibxa6ZXgnZd" alt=""><figcaption><p>Floor price protection set at 0.025 BTC</p></figcaption></figure>

### Optinal: Trait Floor price cap

On top you can also protect your bidding task from dropping trait floor prices. Works the same as collection FP protection. Once the cheapest listing of a trait drops below the "Min floor price" value it will stop bidding and instead cancel your active token bids.

<figure><img src="/files/2uh5O089utbZlTsPv0HP" alt=""><figcaption><p>Trait floor price protection set at 0.035 BTC</p></figcaption></figure>

## Play Task

The last option is just a quick toggle if you want to start the task immediately after creation. It's the same as just hitting the play button in the Task list once it got created.

<figure><img src="/files/cSdotarzLdhnqxWI1IG0" alt=""><figcaption><p>Immediately start the task after creating it</p></figcaption></figure>

{% hint style="info" %}
To play your freshly created Ordinals CTO make sure to Enable your **CTO Engine** and play your Ordinals task. Depending on your subscription you can run up to 1000 CTOs per Butler instance 🚀
{% endhint %}

Here are some additional Hints to be highlighted in the screenshot below:

* Use the **Filters** section top left to filter by blockchain
* On the **searchbar top right** you can search by collection name to find your tasks
* No border means the task is not scheduled to get run by your CTO engine (hit the Play button)
* Green border on your CTO means, the task is running and you're owning the highest bid
* Orange border on your CTO means, the task is running and you're not owning the highest bid
* Red border means there was an error last time processing your bids (such as hitting FP limits)
* Check your task logs (second button from left) to check for details when hitting red border

<figure><img src="/files/6QpIUWc2cIe8bkoDEJpV" alt=""><figcaption><p>Start Ordinals Collection Task and CTO Engine</p></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nftbutler.io/nft-butler/features/satflow-collection-bidding.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
