Skip to main content
A checkout session represents one payment attempt. Each session has a unique deposit address the customer sends funds to. Sessions expire if no payment is detected within the configured TTL (default 5 minutes).

The checkout session object

Session status

Three modes

Quote mode — create a session from a quote you issued earlier. The chain, asset and locked price all come from the quote, so the customer pays exactly what was quoted and lands straight on the pay step. A quote can only back one session.
Link mode — create a session from an existing payment link. The price and currency come from the link.
Pass chainId and asset to pin the coin up front — the hosted checkout then skips the network/coin picker:
Ad-hoc mode — create a session with a custom amount. Useful for dynamic pricing. Also accepts chainId / asset.

Pre-selecting the coin & a one-step checkout

A session where the coin is already decided — created from a quote, or with an explicit chainId + asset — has assetSelected: true. On the hosted checkout the customer skips the network and coin steps entirely. Combine that with a known customerEmail (passed on create, or captured on a prior visit) and the checkout collapses to a single Pay step.

Billing details captured at checkout

When a customer fills in their details on the hosted checkout (email is required; name, phone, country, region, postcode and order notes are optional), the optional fields are merged into the session metadata — alongside any metadata you set at creation — so they arrive on the session.* webhooks and when you read the session back.