BlendFi
OnrampOperations

Receiving the payment

What BlendFi does when the end customer pays the Pix QR. Paid-within-window and window-expired paths.

After accept, BlendFi watches the Pix payment. Pix is atomic at the provider: either the end customer pays the exact amount within the window, or the payment is not confirmed.

The two paths

1. Paid within the window → funded → automatic settlement

The happy path. The end customer pays the Pix QR before deposit_window_expires_at. BlendFi receives provider confirmation, the conversion transitions to funded, on-chain settlement advances automatically, and the conversion ends in completed. You receive conversion.completed.

You do not need to call anything. Settlement is fully automatic from funded onward.

2. Window expired with no payment → expired

If the window passes with no confirmed payment, the conversion transitions to expired (terminal), the limit reservation is released, the lock is cleared. There is no payment to handle.

Why onramp has no standby

Unlike offramp, Pix is atomic at the provider. There is no "partial Pix" or "Pix with wrong amount": either the payment exactly matches the quoted amount or it is not confirmed. This eliminates the under_funded and over_funded cases that exist in offramp.

Webhooks you receive

ScenarioWebhook
Paid in window + on-chain settlement okconversion.completed
Paid in window + settlement failsconversion.failed
Window expired without payment(no dedicated webhook; conversion sits in expired)

The full webhook semantics live in the Webhooks section.

Typical total time

From accept to conversion.completed, the happy path is typically:

  • 0 to 15 min: end customer pays the Pix QR.
  • ~10s after payment: Pix provider confirms.
  • Seconds to minutes: on-chain settlement confirms.
  • conversion.completed fires.

See USDT in the glossary for details on on-chain confirmation timing.

Don't wait synchronously

Even on Polygon, on-chain settlement can take seconds to minutes under load. React to the webhook, not to a tight poll.

Next step

On this page