External ID / Reference for reconciliation

Created by Mayank Singhal, Modified on Sat, 11 Jul at 6:38 PM by Mayank Singhal

Question:


When creating a pay-in or payout order, can we attach our own unique identifier (external_id, client_reference_id, metadata) that is returned in the webhook payload? If not, what data is returned in the webhook that allows matching to our internal records (e.g., amount + payer, transaction_id, etc.)?

Example of Avenia’s operation:

  • Pay-in flow:

    1. Avenia will call the provider's quote endpoint to retrieve the quote (estimated rate), which will be presented to the Avenia user. If the user accepts this quote, the rate will be locked

    2. We need to send an ID to the provider during this process, so that when the user actually deposits the funds, Avenia can correctly identify that the deposited amount corresponds to the previously locked quote intention

    3. Required endpoints:

      • Get quote — What information do we need to send in order to receive the deposit quote?

      • Close quote — How do we lock/close a quote? How can we pass a reference (e.g., an external ID or message) that will be returned to us once the deposit arrives, so we can link the original request to the incoming funds?

      • Webhook events — What webhook events are triggered when the deposit is received?

  • Pay-out flow:

    1. Avenia will call the provider's quote endpoint to estimate the pay-out amount, lock the quote, and then initiate the withdrawal operation.

    2. Required endpoints:

      • Get quote — How do we request a quote for a pay-out operation?


Answer:

Yes — you can attach your own reference (external_id / metadata) when creating an order or instruction, and it is echoed back in every related webhook.

On your quote-lock flow: our US corridor has no FX leg — USD ↔ USDC/USDT is redeemed 1:1 with the issuer, and pricing is a fixed fee schedule. There is therefore no rate to lock or expire: a deposit against a VA deterministically converts at 1:1, and contracted fees are paid later by Avenia in a monthly invoice. 

Reconciliation is done via your external reference plus originator data on the inbound webhook, which maps cleanly onto your existing get-quote / close-quote pattern (the “quote” is simply the published fee schedule).

Required beneficiary information (recipient details for an outbound payment): name, address, and (for US domestic bank payments) bank account & routing number, or (for SWIFT payments) IBAN and BIC, or (for blockchain payments) blockchain address, chain, token (USDC or USDT), and custodian (self custodial or name of custodian, i.e. anchorage, fireblocks, etc.)


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article