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

# How Coindisco works

Coindisco separates offer discovery from provider checkout.

1. The user selects a buy or sell operation.
2. Coindisco determines the applicable region, payment methods, fiat currencies, assets, and networks.
3. The user enters an amount and, for a buy, a destination wallet.
4. Coindisco requests eligible provider quotes.
5. Quotes are normalized and compared using their effective amounts and rates.
6. The user selects an offer.
7. Coindisco creates a transaction and opens the provider checkout.
8. Transaction status is updated from the provider and can be exposed to the user or business partner.

## Direct and indirect purchases

A **direct purchase** sends the asset bought from the provider to the user's wallet.

For an **indirect purchase**, the provider sends an intermediate asset to the transaction flow and Coindisco swaps it into the requested token. The quote identifies the intermediate asset and the estimated smart-contract fee.

## Coindisco and payment providers

The payment provider processes the fiat payment or payout and determines its final compliance requirements. Coindisco provides aggregation, comparison, routing, and transaction orchestration, but a provider can still request additional information or reject a transaction.
