Skip to main content

Retries & 429

@pulsebyshiga/node automatically retries transient failures — HTTP 429 and any 5xx, plus network errors — with exponential backoff. Defaults: maxRetries 2 and retryDelayMs 250 (retries wait 250 ms, then 500 ms; no jitter). A server Retry-After header is not currently honored. Both values are configurable on the Pulse constructor.

Rate limits

Specific numeric rate limits aren’t published yet. Design for retries and backoff, and treat a 429 as a transient signal to slow down rather than a hard failure.

Amounts & precision

Amounts are exchanged as decimal strings (e.g. "100.00"), and the SDK and components format them to two decimal places. There is no enforced minimum transfer amount published today.

amount_status

A collection order’s amount_status moves pending → exact | underpaid | overpaid. The engine sets it by comparing the received on-chain amount to the quoted asset_amount; the exact tolerance band is engine-owned and not a published constant. Underpaid and overpaid deposits emit collection.amount.underpaid / collection.amount.overpaid webhooks carrying { expected, received, asset, network, tx_hash }.

Versioning & changes

Endpoints are versioned under /v1. Wire shapes are pre-1.0 and may still change until the contract is finalized (see Contract status); changes are recorded in the Changelog, and breaking changes are announced ahead of time.