Skip to Content
EuropePayinEurope — Open Banking (EUR/GBP → USDC)

Europe — Open Banking (EUR/GBP → USDC)

Base URL

https://api.transacty.ai

Summary

Europe Open Banking lets your customers pay in EUR or GBP through a hosted bank widget. Your server creates a pay-in; you then redirect the customer to the returned checkoutUrl. When the payment completes, Transacty credits your USDC wallet. Payouts debit USDC and send EUR to a bank beneficiary; some payouts require an explicit approve step on your server.

Unlike India (where you build the UPI screen), Europe uses a hosted bank widget. Your only UI job for pay-in is to redirect the customer to checkoutUrl.

Settlement wallet & balances

  • Pay-ins always settle to your USDC wallet pocket — settlement lands when the upstream event reaches eventDetails.eventId 5 (see Pay-in Status & Events).
  • Payouts debit USDC and disburse EUR to the beneficiary bank account.
  • The Europe USDC pocket is a separate balance from India (USDT) and Bangladesh (BDT). Never sum unlike currencies into one headline number.
  • On GET /v1/balance: availableBalance is the settled, spendable balance; pendingBalance is the sum of in-flight pay-ins in that currency.
  • The create response may include cryptoAmount and rate for an indicative USDC quote (display only). Transactions appear on the europe rail.

Enable the Europe market first. Each market has its own KYB approval. Until Europe is approved, /v1/eur/* returns 403 (market_not_enabled), and your USDC wallet pocket is provisioned only once the market is approved.

Required headers

Every request uses HMAC authentication (same scheme as all /v1/* endpoints):

  • X-Transacty-Key
  • X-Transacty-Timestamp (Unix seconds)
  • X-Transacty-Signature = HMAC-SHA256(secret, "{timestamp}.{rawBody}")
  • Content-Type: application/json

Required scopes

  • payin:create — pay-in
  • payout:create — payout + approve

Pay-in flow

StepMerchant serverTransacty API
1Create the pay-inPOST /v1/eur/payin-instances
2Redirect the browser to checkoutUrlUse checkoutUrl from the response
3Customer completes payment in the bank widget
4Poll status or wait for webhookGET /v1/eur/payin-instances/:transactionId
5USDC wallet credited on success

Webhook events

When a webhook URL is configured, Transacty sends:

  • payin.completed
  • payin.failed

See Webhooks for signature verification.

Next steps

Last updated on