> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pulseshiga.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Contract status

> Which parts of this reference are reconciled against the live engine and which are proposed shapes still being finalized.

<Info>
  This surface reflects the `@pulsebyshiga/node` types — the working view of the API
  until the canonical Pulse OpenAPI contract is published. Wire shapes
  (snake\_case JSON, decimal-string amounts) are stable; a few fields are still
  being reconciled and are flagged where they appear.
</Info>

Pulse is a standalone service that owns the canonical API contract. The wire
shapes in this reference come from the `@pulsebyshiga/node` types
(`packages/node-sdk/src/types.ts`) — the SDK-owned working view of the API until
the canonical Pulse OpenAPI specification publishes. The quote / offramp /
onramp / banks surface is reconciled 1:1 against the live public engine
contract; the embedded-product surface (collection sessions, client tokens,
webhooks) is proposed and must be reconciled before any public release.

## Proposed shapes still being reconciled

<ResponseField name="Client-session select endpoint" type="proposed">
  The client-scoped `/v1/client/*` surface (the `select` / re-quote / re-target
  endpoints the hosted embed drives with a session token) is not yet live on the
  engine. Until the token-mint
  endpoint and `/v1/client/*` land, only the API-key path calls the real engine.
</ResponseField>

<ResponseField name="collection.deposit.wrong_chain event" type="proposed">
  The wrong-chain deposit event and its `WrongChainDeposit` payload are a
  proposed contract shape — the real detection signal comes from Pulse and the
  recovery policy is still being decided. Flagged provisional wherever it
  appears in the [webhook events](/reference/webhook-events).
</ResponseField>

<ResponseField name="partner_config block" type="proposed">
  The per-partner config (`partner_config` carried on the client-session
  response — `enabled_networks`, `enabled_assets`, `theme`, `strings`,
  `attribution`, `flow`) is the dashboard-driven narrowing/theming contract the
  embed consumes. Proposed pending the client-session surface.
</ResponseField>

Alongside these, the whole webhook surface (signed `Pulse-Signature` deliveries
and the typed event union) is a proposed shape: until it lands on the engine,
lifecycle changes are observed by polling `collectionOrders.retrieve`.

## What this page becomes

When the canonical Pulse OpenAPI specification publishes, an OpenAPI-generated
reference will slot in here, and the flagged shapes above will either be
confirmed as-is or reconciled to the published contract. Until then, the
`@pulsebyshiga/node` types are the authoritative working view — stable on the
wire conventions (snake\_case JSON, decimal-string amounts), with the individual
fields flagged where they are still being reconciled.
