> For the complete documentation index, see [llms.txt](https://docs.bextree.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bextree.com/developers/asset-adapters.md).

# Asset Adapters

If discoverers answer "what can be listed," **settlement adapters** answer "how does this asset class actually change hands." Every asset class Bextree supports is described by one adapter.

## What an adapter declares

| Property                 | Meaning                                                                                        |
| ------------------------ | ---------------------------------------------------------------------------------------------- |
| `custodyModel`           | `pre-custodied` (vaultable before auction) or `post-custodied` (seller holds until settlement) |
| `requiresSettlementBond` | Whether the seller must bond — true exactly when custody is `post-custodied`                   |
| `settlementBondPercent`  | Bond size as a fraction of reserve price (Streamflow: 5%)                                      |
| `settlementWindowHours`  | How long a seller has to deliver after buyer escrow (Streamflow: 24h)                          |
| `verifyTransfer()`       | How to prove, on-chain, that the buyer received the asset                                      |

## Why this shape

The adapter interface is what keeps the marketplace generic. The auction engine, escrow, bond math, notifications, and failure handling all consume these declared properties — none of them contain protocol-specific branches. A new asset class is a new adapter instance, not a marketplace change.

It also makes risk pricing explicit and per-asset-class: a future settlement type can declare a different bond percentage or window without touching any other component.
