Rezva

Statuses

Mapping status and payment readiness are separate signals. A wallet must inspect both before allowing payment.

  • pending — registered but not activated; not payable.
  • active — usable when payment_ready is true.
  • update_pending — destination changed; pause payment until safe.
  • suspended — temporarily blocked; do not pay.
  • removed — controller removed it; cooldown may expose available_at.
  • revoked — permanent operator action; not re-registerable.

Wallet decision rule

if (response.status === "active" && response.payment_ready) {
  showPaymentOptions(response.payment_options);
} else {
  blockPaymentAndExplain(response.status);
}

Keep transitional responses fresh. Do not serve a stale active result after a destination update or suspension.

Display behavior

switch (response.status) {
  case "active":
    enablePaymentOnlyIf(response.payment_ready);
    break;
  case "pending":
  case "update_pending":
    disablePayment("Waiting for activation");
    break;
  case "suspended":
  case "removed":
  case "revoked":
    disablePayment("Identifier is unavailable");
    break;
}