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.eventId5 (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:availableBalanceis the settled, spendable balance;pendingBalanceis the sum of in-flight pay-ins in that currency. - The create response may include
cryptoAmountandratefor an indicative USDC quote (display only). Transactions appear on theeuroperail.
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-KeyX-Transacty-Timestamp(Unix seconds)X-Transacty-Signature=HMAC-SHA256(secret, "{timestamp}.{rawBody}")Content-Type: application/json
Required scopes
payin:create— pay-inpayout:create— payout + approve
Pay-in flow
| Step | Merchant server | Transacty API |
|---|---|---|
| 1 | Create the pay-in | POST /v1/eur/payin-instances |
| 2 | Redirect the browser to checkoutUrl | Use checkoutUrl from the response |
| 3 | Customer completes payment in the bank widget | — |
| 4 | Poll status or wait for webhook | GET /v1/eur/payin-instances/:transactionId |
| 5 | USDC wallet credited on success | — |
Webhook events
When a webhook URL is configured, Transacty sends:
payin.completedpayin.failed
See Webhooks for signature verification.