Skip to main content
Fetch full offer details — pricing options, legal terms, milestones, and more — for a single offer the user can access.

Prerequisites

  • Completed OAuth and a working CoinListProvider
  • An offer id from Fetch offers (for example offer.id from OffersGrid onOfferClick)
The hook mirrors the SDK client method fetchOfferDetails: 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.
See the API reference for the exact response schema.
Example response shape (values are illustrative - always rely on the live API and legal URLs from Passage):
Display the full terms and link to the sale agreement URL as provided — do not summarize or paraphrase legal terms.

Lower-level client

Equivalent to the hook, without the built-in state machine. Pass the same offer.id you get from OffersGrid:
Prefer useOfferDetails unless you need custom control flow.

Next step

Create and track participations

Create a participation for an offer option, then monitor participation status.