Skip to main content

Setup Requirements

The Crossmint hooks must be used within components wrapped by both CrossmintProvider and CrossmintCheckoutProvider:

useCrossmintCheckout

The useCrossmintCheckout hook provides access to the checkout state and allows you to build custom UI experiences.

Return Values

Order Phases

The order can be in one of the following phases:
  • quote - Initial phase where price quotes are being generated
  • payment - Payment is being processed
  • delivery - NFTs are being delivered to the recipient
  • completed - Order has been successfully completed
For more information on the order lifecycle, see our Order Lifecycle guide.
Here's how you can use the order data to track the purchase progress:
For more information on the order object, see our Order Properties section.

Complete Example

Here’s a full example showing how to implement a custom checkout experience:

Best Practices

  1. Provider Setup: Always ensure components using hooks are wrapped with both required providers
  2. Error Handling: Handle undefined states when accessing order properties
  3. Loading States: Provide appropriate loading UI while the order state is initializing
  4. Type Safety: Take advantage of TypeScript support for better development experience