> For the complete documentation index, see [llms.txt](https://doc.notliquid.fun/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.notliquid.fun/how-it-works.md).

# How It Works

The whole machine is: **escrow, quote, draw, choose, settle**.

## 1. List an NFT

A depositor lists an eligible ERC-721 and supplies HYPE backing.

That backing has two jobs:

1. It funds the depositor's standing bid to receive the NFT back if an acquirer takes the payout.
2. It sets the position's selection weight.

The relationship is inverse:

```
selection weight ∝ 1 / backing
```

A lightly backed position is more likely to be selected. A heavily backed position is less likely to be selected.

For example, if one position has 1 HYPE of backing and another has 4 HYPE, their relative weights are 1 and 0.25. That works out to roughly an 80% / 20% selection split.

Yes, the cheaper-backed one is easier to hit. The math is being rude on purpose.

## 2. Pay the pool quote

The acquisition quote is based on the weighted value of the active pool, plus the configured protocol surcharge and randomness fee. The current surcharge is **10%**.

Because the weights are inverse to backing, the pool-value component behaves like a harmonic mean rather than a simple average. The app quotes the total before the acquirer submits a transaction.

{% hint style="info" %}
The live quote comes from the contracts. Do not calculate a price from screenshots, vibes, or a floor-price tweet posted during a different market regime.
{% endhint %}

## 3. Draw a position

PNL sends the randomness request through `PNLPythAdapter`, which connects the core contract to Pyth Entropy on HyperEVM.

Requests may receive callbacks at different times, but PNL processes them in their original onchain order. A later request cannot jump the queue and quietly redraw the pool beneath an earlier one.

New listings created while requests are unresolved wait outside the selectable pool. They join through the staging queue without changing a draw that is already in flight.

## 4. Choose the outcome

Once a position is allocated, the acquirer has two mutually exclusive choices:

### Keep the NFT

The NFT goes to the acquirer. The position's backing returns to the depositor, less the settlement fee. The live deployment currently charges **1% of the backing** for this outcome.

### Take the standing bid

The NFT returns to the depositor. The acquirer currently receives **85% of the escrowed HYPE backing**.

There is no secret third button that pays the HYPE and keeps the JPEG.

## 5. Settle or time out

The acquirer has an exclusive **24-hour** window to choose an outcome. After that window, the depositor can also resolve the position. If nobody acts for **7 days** after allocation, anyone can finalize it; the default sends the NFT to the acquirer and returns the backing to the depositor, less the settlement fee.

The live deployment gives a randomness request **60 HyperEVM blocks** to receive its callback. Expired requests have refund and reconciliation paths. Missing callbacks should be annoying, not a permanent lifestyle.

{% hint style="info" %}
These are the current live contract settings. The interface and onchain quote remain the source of truth if a configurable parameter changes.
{% endhint %}

## Depositor earnings and exits

Active listings share the distributable portion of acquisition fees on an equal-per-listing basis. Backing size changes selection odds; it does not buy a larger ordinary fee share.

A separate Top Listing pot rewards the current qualifying position. See [Earnings & Top Position](/money-and-risk/earnings-and-top-position.md) for the split and takeover rules.

A depositor can withdraw an unallocated position when the pool is not locked by unresolved acquisition processing. Withdrawal returns the NFT and its escrowed backing; accrued listing fees become withdrawable earnings.

## Risks

{% hint style="danger" %}
PNL uses real NFTs and real HYPE. Depositing or acquiring can lose money.
{% endhint %}

* A deposited NFT can be selected before fee income covers the depositor's intended economics.
* If the acquirer accepts the standing bid, the backing is used to pay the acquirer and the NFT returns to the depositor.
* An acquirer receives a random eligible position, not a hand-picked NFT.
* NFT valuations, collection liquidity, and market demand can change quickly.
* Smart-contract, oracle/randomness, admin, network, and non-standard ERC-721 risks still exist.
* Fee income, backing, and past activity do not guarantee profit.

If any of that sounds surprising, reread it before connecting a wallet. The contracts will not accept “I skimmed the docs” as calldata.

## Go deeper

* [Backing & Odds](/inside-the-pool/backing-and-odds.md)
* [Quote, Draw & Queue](/inside-the-pool/quote-draw-and-queue.md)
* [Outcomes & Timeouts](/inside-the-pool/outcomes-and-timeouts.md)
* [Eligible NFTs](/inside-the-pool/eligible-nfts.md)
* [Earnings & Top Position](/money-and-risk/earnings-and-top-position.md)
* [Safety & Governance](/money-and-risk/safety-and-governance.md)
* [Live Settings](/money-and-risk/live-settings.md)


---

# 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, and the optional `goal` query parameter:

```
GET https://doc.notliquid.fun/how-it-works.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
