Nova-Rewards

ADR 0004: Idempotent Asynchronous Reward Issuance

Status

Accepted

Context

Reward issuance can involve network calls to Stellar, campaign eligibility checks, trustline validation, retries, and merchant-facing status reporting. The API must avoid duplicate rewards when merchants retry requests after timeouts or client failures.

Decision

Use an idempotent asynchronous issuance engine:

Consequences

Positive:

Negative: