# Instant Counter Bidding

{% hint style="info" %}
Instant Counter Bidding is  available to all Lifetime Holders and Subscription Members.

It does only defend bids on **OpenSea**.
{% endhint %}

### **Core functionality**

NFT Butler defends the tokens you have already bid on (and/or have planned to bid on, e.g. scheduled token tasks) by putting counterbids. It is available for:

* Token Bidding Tasks
* Collection Bidding Tasks
* Trait Bidding Tasks
* CTO bids do have priority in the ICB engine

To enable a task for instant counter bidding use the following option on the task config:

<div><figure><img src="/files/MbV1UJBAgPrbQFjXTlJE" alt=""><figcaption><p>Enable Instant counter bidding on a token task or CTO</p></figcaption></figure> <figure><img src="/files/MPoq3F5zKQNb7MeCOIxe" alt=""><figcaption><p>There is also a quick toggle option on the task overview</p></figcaption></figure></div>

{% hint style="info" %}
**Important requirements for ICB:**

* ICB will only counter up to your max bid price per task
* Token bidding tasks will only automatically react to other token bids. However once a token bid is triggered, it will also outbid trait and collection bids
* Collection / Trait offer tasks (CTO) will only automatically react to other collection offers and trait offerts
  {% endhint %}

### **Auto scaling**

{% hint style="info" %}
NEW FEATURE ([PRO Access](/nft-butler/products-and-services/pro-access.md) only!): \
\
Auto-Scaling will automatically re-allocate bidding power from counter bidding to token bidding tasks if there's not much competition on the tasks where you have counter bidding activated.&#x20;
{% endhint %}

<figure><img src="/files/bzxxbXlcPEvFvH0KIRfZ" alt=""><figcaption><p>The basic idea behind auto-scaling: if your queue is empty, power goes to token bidding tasks. If the queue fills up, power is allocated to counter bidding.</p></figcaption></figure>

<figure><img src="/files/BchEQl7tsIWq151RYTDL" alt=""><figcaption><p>The thresholds can be adjusted in the settings page. </p></figcaption></figure>

### **Speed & Resources**

Instant Counter Bidding uses a queue similar to Token Bidding Tasks with a speed of 1000-1200 bids/h.\
\
It also uses the same resources as a Token Bidding Tasks. So if Instant Counter Bidding is activated, a slot will automatically be blocked for Token Bidding Tasks:

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

### **Monitoring & Taking Action**

The Instant Counter Bidding tab is kind of a 'Control Center' to monitor your counter bidding queues. This overview is necessary to take the right actions. In this chapter we'll show a few different examples.

#### **Example 1: "Healthy State"**

This example shows a healthy scenario. The graph on the right side always shows the most resource-intensive counterbidding tasks. In this case, there were plenty of jobs created to counterbid on the "Pixels - Farm Land" Task. But the queue seems to be recovering and getting smaller again. No action required.

<figure><img src="/files/TW9F3S1QJYQTaeR00naA" alt=""><figcaption><p>Healthy ICB engine is working down the counter bidding jobs</p></figcaption></figure>

{% hint style="info" %}
What to do when Instant Counter Bidding Queue grows faster than it can be processed?\
\
Recommendations/Strategies:<br>

* deactivate Instant Counter Bidding for super competitive Token Bidding Tasks
* increase the bidding steps (e.g. with Smart Bidding) - don't fall into the trap of trying to counterbid every token task with 0.001 ETH - this will just waste resources
* add more power to Instant Counter Bidding (in development, soon you will be able to scale Instant Counter Bidding to the speed of 3 token bidding tasks)
  {% endhint %}

**Example 2: Queue overloading**

In this example multiple token bidding tasks have counter bidding activated and there is heavy competition on it. If no action is taken, the queue will grow faster than it can be processed and will reach its cap of 1000 jobs. This scenario is undesired as we want to have our counterbids being *instant* and not queued somewhen far in the future. We must take action: reduce the number token bidding tasks with counter bidding enabled or counterbid in higher increments (e.g. smart bidding).

{% hint style="info" %}
While you have to be careful activating Instant Counter Bidding for Token Bidding Tasks (this can get very resource-intensive), there's no such concern for CTOs.
{% endhint %}

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

### **Additional Settings**

<figure><img src="/files/O111M8x7ERsoqpLwWHz3" alt=""><figcaption><p>Additional Settings</p></figcaption></figure>

* **Dedicated ICB wallet:**\
  When you're using the [PRO Version](/nft-butler/products-and-services/pro-access.md) of Butler it's possible to send counter bids from a dedicated wallet. However this feature is no longer required in terms of Rate Limits and bidding speed.
* **Ignore max active bids on CTOs**: \
  No longer supported. ICB will now automatically cancel CTO Bids if "max active bids" settings are reached on a task.
* **Use counter bid event validity**\
  By activating this, the system will always be counter bidding with the same validity as competitive bidder, while never bidding longer than what is defined in task config.

### **CPU load**

The Instant Counter Bidding engine needs to handle all bidding events that happen on a collection (and check if the bid event must trigger a counterbid) - for some collections with a lot of bidding events this can be taxing for the CPU.  One butler instance can handle about 2000 events/minute (average CPU). Normally you would not care about this information, but in cases where you're CPU is completely used up, it's worth to investigate if the ICB engine is the source of the problem. In that case, you can mitigate the problem by reducing the amount of collections with a lot of bidding events.

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

### **Counterbidding Flowchart**

<figure><img src="/files/6QChdIiM4qHhXLcHLI8D" alt=""><figcaption><p>Flow chart how instant counter bidding works</p></figcaption></figure>


---

# Agent Instructions: 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/instant-counter-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.
