For the complete documentation index, see llms.txt. This page is also available as Markdown.

Event Status Reference

Each Canada Interac e-Transfer on-ramp transaction progresses through two connected lifecycle stages:

  1. Payment Processing — the end user completes the CAD payment through Interac e-Transfer.

  2. Crypto Settlement — following successful payment, Tylt settles the corresponding USDT or USDC according to the transaction’s configured settlement method.

The eventId identifies the current state of the transaction.

Merchants should use the eventId received through webhooks or returned by the Get Instance Information endpoint as the primary transaction-status indicator.


Event IDs

eventId

Status Key

Display Text

Description

Terminal State

1

created

Instance Created

The payment instance has been created but has not yet been accepted.

No

2

initiated

Order Created

The instance has been accepted and the Interac e-Transfer payment request has been initiated.

No

3

paymentProcessing

Payment Processing

The customer has initiated the Interac e-Transfer payment, and Tylt is waiting for confirmation from the payment provider.

No

4

paymentFulfilled

Payment Fulfilled

The customer has completed the Interac e-Transfer payment. Tylt has received confirmation and is completing final processing before settlement.

No

5

paymentCompleted

Payment Completed

The Interac e-Transfer payment has been successfully received and payment processing is complete. The transaction will now proceed to crypto settlement.

Yes

6

settlementPending

Settlement Pending

The payment has been completed, but settlement to the merchant is still pending.

No

7

settlementCompleted

Settlement Complete

The payment has been successfully settled according to the merchant’s configured settlement method.

Yes

8

failed

Payment Failed

The payment failed because of a provider-side or processing error.

Yes

9

expired

Order Cancelled or Expired

The instance expired or was cancelled before successful completion.

Yes

10

refundInitiated

Refund Initiated

A refund or return has been initiated with the payment provider and is awaiting completion.

No

11

refundCompleted

Refund Completed

The funds have been successfully returned to the sender.

Yes

12

kyc_failed

KYC Failed

The required identity verification failed, expired, or was not completed within the permitted time.

Yes


Transaction Lifecycle

A successful Canada Interac on-ramp consists of a payment lifecycle followed by a settlement lifecycle.

Settlement is processed separately from the Interac payment regardless of whether the merchant is configured for instant settlement or another permitted settlement schedule.

For an instant-settlement configuration, the transition from Payment Completed through Settlement Pending to Settlement Complete may occur very quickly.


Payment Lifecycle

1 — Instance Created

eventId: 1

The pay-in instance has been successfully created.

At this stage:

  • The transaction exists within Tylt.

  • The CAD payment amount has been defined.

  • The applicable crypto quote has been calculated.

  • The Interac payment has not yet been completed.

  • Crypto settlement has not started.

No fulfilment should occur at this stage.


2 — Order Created

eventId: 2

The instance has been accepted, the end user KYC for the transaction is sufficient and the Interac e-Transfer payment request has been initiated.

The end user can proceed with the payment through their Canadian financial institution.

The transaction remains pending.


3 — Payment Processing

eventId: 3

Awaitng the the end user to initiated the Interac e-Transfer payment. Tylt is waiting for confirmation from the payment provider that the payment has been successfully received.

The transaction should continue to be treated as pending.


4 — Payment Fulfilled

eventId: 4

The end user has completed the Interac e-Transfer payment and Tylt has received confirmation from the payment provider.

Tylt is completing the remaining payment-side processing before marking the payment as completed.

This remains an intermediate state.


5 — Payment Completed

eventId: 5

The CAD payment lifecycle has been successfully completed.

At this stage:

  • The Interac payment has been received.

  • Payment-side processing has completed.

  • The applicable crypto amount has been determined.

  • The transaction can proceed into the separate crypto-settlement process.

The relevant amount and conversion information is returned in the accounts object.

Field
Description

fiatCurrency

Fiat currency used for the transaction. For Canada, this is CAD.

fiatAmount

CAD amount paid by the end user.

cryptoCurrency

Settlement asset, such as USDT or USDC.

cryptoAmount

Gross crypto amount calculated for the transaction.

toReleaseAmount

Net crypto amount to be released during settlement.

rate

Base conversion rate used for the transaction.

effectiveRate

Effective transaction rate after applicable commercial pricing.

fees

Fees applied to the transaction expressed in cryptoCrrency

MDR

The spread applicable on the transaction expressed in percentage.

Payment Completed confirms completion of the payment process. Crypto settlement is processed separately and should be tracked through the settlement events.


Settlement Lifecycle

Following Payment Completed, Tylt processes settlement of the corresponding USDT or USDC amount.

Settlement is a separate process regardless of whether the configured settlement timing is instant or another permitted settlement schedule.

The amount being settled is represented by:

and the settlement asset is represented by:


6 — Settlement Pending

eventId: 6

The CAD payment has been successfully completed and the crypto settlement is now pending.

This state indicates that the stablecoin settlement process has started but has not yet completed.

For an instant-settlement transaction, this state may be short-lived.

The merchant should continue waiting for Settlement Complete before treating the crypto settlement as final.


7 — Settlement Complete

eventId: 7

The crypto settlement has been successfully completed.

This represents final completion of the full Canada Interac on-ramp transaction.

The settlement destination depends on the transaction’s transferType.

Internal Settlement

Where:

the USDT or USDC is credited to the merchant’s Tylt wallet.

No external blockchain transfer is required, and therefore fields such as hash or external wallet address may be null.

External Settlement

Where:

the USDT or USDC is transferred to the end user’s external wallet address supplied for the transaction.

The settlement details may include:

Field
Description

Status

Current crypto-settlement status.

hash

Blockchain transaction hash for the external transfer, where applicable.

address

End user’s destination wallet address.

Network

Blockchain network used for settlement.

type

Settlement type: internal or external.

Merchants should use eventId: 7 as the authoritative confirmation that settlement has completed rather than relying solely on the presence of a blockchain transaction hash.


Settlement Model

The settlement destination is determined by transferType.

Transfer Type
Settlement Destination

internal

Merchant’s Tylt wallet

external

End user’s external wallet

The settlement asset may be either USDT or USDC, depending on the transaction and merchant configuration.

Settlement timing may be instant or follow another settlement schedule enabled for the merchant; however, the underlying lifecycle remains:


Refund Lifecycle

Where a transaction requires the CAD payment to be returned, it enters the refund lifecycle.

A refund may be initiated after the payment has been initiated, fulfilled, or completed, depending on the reason for the return.


10 — Refund Initiated

eventId: 10

A refund or return has been initiated with the payment provider and is awaiting completion.

This is not a terminal state.

The merchant should suspend any pending fulfilment and continue monitoring the transaction until the refund has completed.


11 — Refund Completed

eventId: 11

The CAD funds have been successfully returned to the sender.

This is a terminal unsuccessful state for the original on-ramp transaction.

The transaction should not be treated as successfully settled.


Other Terminal States

8 — Payment Failed

eventId: 8

The payment failed because of a provider-side or processing error.

The transaction should not be fulfilled or settled.


9 — Order Cancelled or Expired

eventId: 9

The pay-in instance expired or was cancelled before successful completion.

If the end user wishes to try again, a new pay-in instance should be created.


12 — KYC Failed

eventId: 12

The required identity verification failed, expired, or was not completed within the permitted period.

The transaction cannot proceed unless the end user subsequently completes an approved verification flow.


Processing Event Updates

Tylt sends webhook notifications as the transaction progresses through its lifecycle.

The current event is returned under:

Merchants should identify transactions using both:

and:

Settlement-specific information is returned separately under:


Merchants should:

  • Use eventId as the primary transaction-status indicator.

  • Process webhook notifications idempotently.

  • Maintain the latest state for each instanceId.

  • Match both instanceId and merchantOrderId against the merchant’s records.

  • Treat Payment Fulfilled as confirmation that the end user’s Interac payment has been confirmed but payment-side processing is still completing.

  • Treat Payment Completed as completion of the CAD payment lifecycle.

  • Treat Settlement Pending as confirmation that the separate crypto-settlement process is underway.

  • Treat Settlement Complete as final completion of the full CAD → USDT/USDC transaction.

  • For internal transactions, expect settlement to the merchant’s Tylt wallet.

  • For external transactions, expect settlement to the end user’s external wallet.

  • Use accounts.toReleaseAmount as the net stablecoin amount to be settled.

  • Use accounts.cryptoCurrency to identify whether settlement is in USDT or USDC.

  • Use cryptoSettlementDetails for additional settlement metadata.

  • Use the Get Instance Information endpoint when the latest transaction state needs to be independently verified.


Successful Transaction Summary

The complete successful lifecycle is:

The final settlement destination is:

Accordingly, for the complete on-ramp transaction:

Last updated