OfferDetail.type tells you which checkout the offer needs: 'coinlist::token_sale', 'superstate::swap', or 'ondo::swap'. Switch on it exhaustively, or hand the offer to CheckoutContainer and let the SDK dispatch. The values changed in v0.11.0 - see the changelog.Prerequisites
- Completed OAuth and a working
CoinListProvider - An offer id from Fetch offers (for example
offer.idfromOffersGridContaineronOfferClick)
Recommended: useOfferDetails
The hook mirrors the SDK client methodcoinlist.offers.get: it waits until the provider is ready, then loads details and exposes offerDetailsState (LOADING, ERROR, or CONTENT).
When the user picks an offer from the grid, keep that offer in React state and pass offer.id - TypeScript then matches the branded id type the hook expects.
REST: GET /v1/offers/
Use the API directly when you are not in React or you need a one-off server fetch with a token you already hold.Example: fetch with Bearer token
Example: fetch with Bearer token
Display the full terms and link to the sale agreement URL as provided — do not summarize or paraphrase legal terms.
Lower-level client
coinlist.offers.get in React
coinlist.offers.get in React
Equivalent to the hook, without the built-in state machine. Pass the same Prefer
offer.id you get from OffersGridContainer:useOfferDetails unless you need custom control flow.Next step
Requirements
Show the user what they must satisfy before they can participate.