# Demand confirmation

Requires positive net buying in two consecutive windows, fresh buyers and retained-buyer growth. These are observed buyers, not a complete holder census. Unknown funding is not verified independence; set a minimum verified-cluster count to require it. Missing or stale flow blocks entry. Wallet retention and original chase limits are rechecked before execution.

Node ID: `demand-confirmation` · Category: Filters · Minimum plan: Tier 2 and above

Human page: https://docs.orbi.gg/nodes/demand-confirmation

## How it works

Require positive net buying in two consecutive windows, fresh buyers and configured growth in retained observed buyers.

A verified-cluster minimum requires known distinct funding groups. Setting it to zero permits unknown funding without claiming that those buyers are independent.

## Settings

| Setting | Config key | Initial value | Details |
| --- | --- | --- | --- |
| Each window (seconds) | `windowSeconds` | 1 | Two consecutive windows must both show net buying. Fresh source signals still expire normally. Editor range: 1 to 10. |
| Net buying per window (SOL) | `minimumNetBuySol` | 0.02 | Buy SOL minus sell SOL must exceed this in both windows. Creator trades are excluded. Editor range: 0 to 1000000. |
| Fresh buyers | `minimumNewBuyers` | 1 | Buyers arriving in the second window who are not confirming wallets or linked to known first-wave funders. Editor range: 1 to 100. |
| Retained-buyer growth | `minimumRetainedGrowth` | 1 | Growth in observed buyers still retaining tokens. This is not a full holder census. Editor range: 0 to 100. Zero disables this threshold. |
| Verified new clusters | `minimumVerifiedClusters` | 0 | Known distinct funding clusters among fresh buyers. Zero allows unknown funding, without claiming independence. Editor range: 0 to 100. Zero disables this threshold. |
| Maximum data age (seconds) | `maximumDataAgeSeconds` | 2 | Stale or incomplete flow blocks entry. Editor range: 0.1 to 5. |

### Stored defaults

```json
{
  "windowSeconds": 1,
  "minimumNetBuySol": 0.02,
  "minimumNewBuyers": 1,
  "minimumRetainedGrowth": 1,
  "minimumVerifiedClusters": 0,
  "maximumDataAgeSeconds": 2
}
```

## Connections

These lists show compatible node types, not approval of every graph. Branch, position context, subscription, no-cycle and complete-exit rules also apply. A node cannot connect to itself.

Accepts from: [Aegis wallet feed](https://docs.orbi.gg/nodes/aegis-wallet-feed), [Wallet signal](https://docs.orbi.gg/nodes/wallet-signal), [Wallet confirmation](https://docs.orbi.gg/nodes/wallet-confirmation), [Wallet conviction](https://docs.orbi.gg/nodes/wallet-conviction), [Runner potential](https://docs.orbi.gg/nodes/runner-potential), [Twitter traction](https://docs.orbi.gg/nodes/twitter-traction), [Token filter](https://docs.orbi.gg/nodes/token-filter), [Entry chase](https://docs.orbi.gg/nodes/entry-chase)

Connects to: [Twitter traction](https://docs.orbi.gg/nodes/twitter-traction), [Token filter](https://docs.orbi.gg/nodes/token-filter), [Balance](https://docs.orbi.gg/nodes/balance-check), [Entry chase](https://docs.orbi.gg/nodes/entry-chase), [Open trade](https://docs.orbi.gg/nodes/open-trade), [Telegram notification](https://docs.orbi.gg/nodes/telegram-notify), [Discord notification](https://docs.orbi.gg/nodes/discord-notify), [Skip trade](https://docs.orbi.gg/nodes/skip-trade), [End](https://docs.orbi.gg/nodes/end)

## Before you run

- Observed retention is not a complete holder census. Missing, truncated or stale flow blocks entry; a confirming wallet’s sale also invalidates demand.

[Full graph rules](https://docs.orbi.gg/guides/graphs) · [Paper assumptions](https://docs.orbi.gg/guides/paper-trading)
