Skip to documentationDocumentation
On this page

conversion.failed

Manual conversion failed; recovery may follow.

The standalone manual conversion entered failed for the first time. Live-only. This does not prove a source refund or a final resolution.

Money and processing#

Booked fields can be zero while funds remain reserved. failure_reason is an execution outcome/certainty pair, never raw provider error text. The outcome is rejected or failed; certainty is unknown, no_external_effect, effect_possible, effect_proven, or conflicting_evidence. Even no_external_effect does not mean the source reservation was released.

Read Get conversion with conversion_id. Recovery may subsequently emit conversion.completed or conversion.source_restored. Another failed attempt does not emit a second failure event for the same conversion. Do not create a replacement while the original outcome remains unresolved; current GET state takes precedence over delivery order.

Schema version 1#

Fields are taken from the public OpenAPI contract. Required nullable fields must be present and may contain null.

  • id · string · Required

    Stable event UUID for merchant-side idempotency. · Format: uuid

  • event_seq · integer · Required

    Global event sequence. Gaps are possible; it does not establish delivery or processing order. · Format: int64

  • type · "conversion.failed" · Required

    —

  • schema_version · 1 · Required

    —

  • environment · "live" · Required

    —

  • merchant_id · string · Required

    Format: uuid

  • subject_type · "manual_conversion" · Required

    —

  • subject_id · string · Required

    Format: uuid

  • occurred_at · string · Required

    Canonical business occurrence timestamp. · Format: date-time

  • data · object · Required

    Fired on the first transition of a standalone manual conversion to failed. Funds are not necessarily returned. A later recovery can emit conversion.completed or conversion.source_restored; repeated failed attempts do not emit a second failure event. · Unknown properties are rejected

  • data.conversion_id · string · Required

    Standalone conversion ID; equals operation_id in the conversion API, not the finance operation ID. Read /v1/conversions/{conversion_id}. · Format: uuid

  • data.environment · "live" · Required

    —

  • data.source_amount · string · Required

    Requested gross source debit, including any merchant-paid fee. · Format: decimal · Pattern: ^\d+(.\d+)?$

  • data.source_currency · string · Required

    —

  • data.source_network · string · Required

    —

  • data.target_amount · string · Required

    Net execution result in the target asset; may differ from the merchant credit. · Format: decimal · Pattern: ^\d+(.\d+)?$

  • data.target_currency · string · Required

    —

  • data.target_network · string · Required

    —

  • data.status · "failed" · Required

    —

  • data.conversion_amount · string · Required

    Planned source principal after withholding any merchant-paid fee. · Format: decimal · Pattern: ^\d+(.\d+)?$

  • data.fee_amount · string · Required

    Planned source fee; zero when the platform pays. · Format: decimal · Pattern: ^\d+(.\d+)?$

  • data.fee_payer · "merchant" | "platform" · Required

    —

  • data.converted_amount · string · Required

    Source principal actually booked at settlement. · Format: decimal · Pattern: ^\d+(.\d+)?$

  • data.fee_charged_amount · string · Required

    Source fee actually booked at settlement. · Format: decimal · Pattern: ^\d+(.\d+)?$

  • data.source_returned_amount · string · Required

    Source actually returned; zero if nothing was reserved. · Format: decimal · Pattern: ^\d+(.\d+)?$

  • data.credited_target_amount · string · Required

    Target amount actually credited to the merchant. · Format: decimal · Pattern: ^\d+(.\d+)?$

  • data.failure_reason · string · Required

    Closed execution outcome/certainty pair, not provider error text. rejected or failed indicates execution refusal/failure. Certainty describes whether external effects are absent, possible, proven, unknown, or conflicting. This field does not prove a refund. · Pattern: ^(rejected|failed)/(unknown|no_external_effect|effect_possible|effect_proven|conflicting_evidence)$

Example — version 1#

json example
{
  "id": "00000000-0000-0000-0000-000000000011",
  "event_seq": 184205,
  "type": "conversion.failed",
  "schema_version": 1,
  "environment": "live",
  "merchant_id": "00000000-0000-0000-0000-000000000002",
  "subject_type": "manual_conversion",
  "subject_id": "00000000-0000-0000-0000-000000000003",
  "occurred_at": "2026-09-21T10:00:00Z",
  "data": {
    "conversion_id": "00000000-0000-0000-0000-000000000003",
    "environment": "live",
    "source_amount": "100",
    "source_currency": "USDT",
    "source_network": "tron",
    "target_amount": "0",
    "target_currency": "USDC",
    "target_network": "ethereum",
    "status": "failed",
    "conversion_amount": "99",
    "fee_amount": "1",
    "fee_payer": "merchant",
    "converted_amount": "0",
    "fee_charged_amount": "0",
    "source_returned_amount": "0",
    "credited_target_amount": "0",
    "failure_reason": "rejected/no_external_effect"
  }
}

See delivery and envelope, signature verification, and business processes.