Documentation Index
Fetch the complete documentation index at: https://docs.coinlist.co/llms.txt
Use this file to discover all available pages before exploring further.
This changelog covers the
@coinlist-co/react SDK.Added
Server (@coinlist-co/react/server)
CoinListServernow exposes the full data-fetching surface previously only available onCoinListClient:fetchAllOffers(),fetchOffersPage(),fetchOfferDetails(),fetchAllParticipations(),fetchParticipationsPage(),fetchParticipation(),createParticipation(),fetchOfferRequirements(), andfetchRequirementStatuses(). Use these in Next.js Route Handlers and Server Components without shipping any client bundle.@coinlist-co/react/servernow re-exports all shared types —Offer,OfferDetail,Participation,Requirement,RequirementStatusInfo, pagination helpers,NotAuthenticatedError, and related types — so you no longer need to import them from the client entry.
Client (@coinlist-co/react, @coinlist-co/react/client)
useParticipations(offerId?)hook — loads all participations for the authenticated user with aLOADING / CONTENT / ERRORstate machine, optionally filtered by offer. New exported types:UseParticipationsResult,LoadParticipationsState,LoadParticipationsReason.handleRequirement(requirement)onCoinListClient— opens the corresponding CoinList page for completing a requirement in a new tab (/verify-identity,/wallet, etc.). No-op forjurisdictionrequirements.contactSupport()onCoinListClient— opens the CoinList support ticket page in a new tab.
Changed
Components
RequirementsChecklist:onRequirementActionandonContactSupportprops have been renamed toonRequirementActionOverrideandonContactSupportOverride. Both now default toCoinListClient#handleRequirementandCoinListClient#contactSupportrespectively, so most integrations can omit them entirely. Passnullto disable the corresponding button/link.RequirementItem:onActionandonContactSupportnow acceptnull(in addition toundefined) to suppress rendering of action buttons.
Removed
Client (@coinlist-co/react, @coinlist-co/react/client)
sandboxoption removed fromClientConfig. Sandbox offers are no longer toggled via the SDK config.StaticRequirementsChecklistPropstype removed. UseRequirementsChecklistwith the connected API orBaseRequirementsChecklistfor fully custom rendering.
Added
Client (@coinlist-co/react, @coinlist-co/react/client)
fetchOfferRequirements(offerId)onCoinListClient— returns requirements grouped by option ID (Record<OfferOptionId, Requirement[]>).fetchRequirementStatuses(offerId)onCoinListClient— returns the authenticated user’s status for each requirement.useCoinListRequirements(offerId)hook for loading requirements and statuses with aLOADING / CONTENT / ERRORstate machine.sandboxoption onClientConfig— whentrue, passessandbox=trueto offers API calls so sandbox offers are included.- New exported types:
Requirement,RequirementId,RequirementType,RequirementStatusValue,RequirementStatusInfo,ParticipationsPaginationParams. - New exported enums/constants:
RequirementVariant,RequirementStatus,ChecklistStatus. - New hook types:
UseCoinListRequirementsResult,LoadRequirementsState,LoadRequirementsReason. fetchAllParticipations(offerId?)andfetchParticipationsPage(params)now accept an optionalofferIdto fetch participations for a specific offer.fetchParticipationsPagetakes the newParticipationsPaginationParamstype (superset ofPaginationParams) which carries theofferIdfield.
Fixed
Components
- Fixed missing dark mode CSS variables in Next.js projects — prebuilt styles now include the full set of design-system tokens so components render correctly under
darkclass orprefers-color-scheme: dark.
Added
Client (@coinlist-co/react, @coinlist-co/react/client)
fetchAllParticipations()onCoinListClientfor fetching all participations across pages.fetchParticipationsPage()onCoinListClientfor paginated participation fetching.fetchParticipation()onCoinListClientfor fetching a single participation by id.createParticipation()onCoinListClientfor creating a new participation.- New exported types:
Participation,ParticipationId,ParticipationStatus,CreateParticipationParams,Blockchain,WalletAddress.
Added
Client (@coinlist-co/react, @coinlist-co/react/client)
- Added support for passing
classNameandcontainerClassNameto<OffersGrid />,<OfferCard />, and<CoinListSignInCard />.
Fixed
Client (@coinlist-co/react, @coinlist-co/react/client)
- Re-export offer, offer detail, and pagination types from the package root and client core entry so you can type against
Offer,OfferDetail, pagination params, and related helpers without reaching into internal modules. - Export
BaseCoinListSignInCardandBaseCoinListSignInCardPropsfrom@coinlist-co/react/clientfor custom sign-in layouts built on the same primitives asCoinListSignInCard.
Added
Client (@coinlist-co/react/client)
fetchAllOffers(),fetchOffersPage(), andfetchOfferDetails()onCoinListClientfor fetching offers data.<OffersGrid />— batteries-included component that loads offers and displays them in a responsive grid, with<OfferCard />for each tile.useCoinListOffers()hook for loading offers when you want full control over layout instead of the grid.useCoinListOfferDetails()hook for a single offer’s details.useCompleteCoinListOAuth()hook to run the OAuth redirect callback once on mount.- Optional
authorizationPageUrlon client config so you can pointstartOAuth()at a non-production authorization page.
Added
Client (@coinlist-co/react/client)
CoinListProvideranduseCoinList()hook for React context-based SDK initialization.createCoinListClient(config)factory for manual or non-React usage.- OAuth 2.0 with PKCE via
startOAuth()andcompleteOAuth(). getAuthState()andlogout().
Server (@coinlist-co/react/server)
createCoinListServer(config)factory for BFF / Next.js API routes.completeOAuth(),accessToken()(auto-refreshing), andlogout().
Components
CoinListSignInCardandCoinListSignInButtonfor OAuth sign-in flows.RequirementsChecklist/RequirementItem— eligibility checklist with accordion UI.PoweredByCoinListattribution badge.- Prebuilt CSS — no
tailwindcsspeer dependency required.
Infrastructure
- Subpath exports:
@coinlist-co/react,@coinlist-co/react/client,@coinlist-co/react/server. - Requires React 18+.