Skip to main content
Tier C is pure API: no in-app component, no iframe, no hosted page. You build 100% of the payment UI yourself against @pulsebyshiga/node, driven by the order that pulse.collectionSessions.create returns (see Create a session).

The order carries everything the embed uses

  • deposit_address — where the customer sends the asset.
  • qr_payload — a scannable payment payload (Solana Pay / EIP-681).
  • quote — the locked rate, the asset_amount to send, and locked_until.
  • status — the order’s current lifecycle state.
  • amount_status — whether the deposit matches, under-, or over-pays the quote.
  • deposit — details of a detected deposit, once one arrives.
  • disbursement — settlement details, once disbursed.

Getting the current state

Poll ground truth on demand, or drive your UI from webhooks:
Or subscribe to the same lifecycle events the hosted models react to internally — collection.deposit.detected, collection.deposit.confirmed, disbursement.completed, and the edge-state events — and update your UI as they arrive. See Orders for the full method list and Webhooks for the event catalog.
Whichever source you drive your UI from, credit a customer only from a verified disbursement.completed webhook — never from a poll result or a client-side signal.