A Smarter Way to Move
Money Globally

Nexis powers cross-border payments through a secure, compliance-first pipeline. Fund in stablecoins, deliver in fiat — with speed, transparency and full regulatory alignment.

Six Steps

Six steps to settlement

01

Connect and authenticate

Every Nexis API request is authenticated using your API key via the X-API-Key header. Create your first credentials, review your permissions — then you're ready to integrate.

API Authentication
// Initialize the API clientconst nexis = axios.create({baseURL: process.env.NEXIS_BASE_URL,headers: {'X-API-Key': process.env.NEXIS_API_KEY,'Content-Type': 'application/json',}} // Check your wallet balanceconst { data } = await nexis.get('/wallets/balances')
02

Choose your networks and assets

Select the stablecoin you'll fund with (USDC or USDT) and the fiat currency the beneficiary will receive (EUR, CHF or GBP). Nexis supports Ethereum, Polygon and Arbitrum networks.

Supported Networks & Assets
Source networkEthereum / Polygon / Arbitrum
Stablecoin USDC USDT
Fiat currency EUR
Payment railSEPA
Mainnet USDC
03

Fund your smart wallet

Before every transaction, deposit the required stablecoin into your Nexis smart wallet. Set your gas allowance in your preferred stablecoin — no ETH or MATIC required. Once funded, the balance is available for use.

Wallet Funding
// Get your deposit addressconst { data } = await nexis.get('/wallets/address/ethereum')// -> "0x1a2B3c4D5e6F7a8B9c0D1e2F3a4B..." // Check balance before transactingconst { data: bal } = await nexis.get('/wallets/balances')
04

Get a quote & create the transaction

Request a quote to get the exchange rate, processing fee, network fee and confirmation time. Register the transfer using your preferred fiat currency, sender, and receiver details to lock in the rate.

Transaction Flow
// Step A - Get quoteconst { data: q } = await nexis.post('/transactions/quote', {fiatAmount: 1000, fiatCurrency: 'EUR', stablecoin: 'USDC',}// stablecoinRequired: 1085.50 - fee: €12.50 // Step B - Create transactionconst { data: tx } = await nexis.post('/transactions', {quoteId: q.quote_id, senderId, receiverId,purpose: 'Family remittance',}
05

Execute & track with webhooks

Once the wallet is funded, trigger execution via the API. Track the transaction through the blockchain pool and into fiat disbursement by subscribing to signed webhook events at every status change.

Webhooks · Real-time Updates
sender.approvedKYC/AML passed
transaction.executingExecution started
payment.initiatedFiat payment sent
transaction.completedFunds disbursed
transaction.failedFailure — check error
compliance.rejectedCompliance check failed
06

Built-in reliability

Nexis includes automated error handling so failed payments automatically retry. Every webhook is signed for verification. Idempotency keys prevent duplicate transactions, and a secure multi-chain oracle handles high-volume payment processing.

Error Handling · Security
// Verify every webhook payloadconst signature = req.headers['x-webhook-signature']const ts = parseInt(req.headers['x-webhook-timestamp'])const body = req.body.toString()const secret = process.env.WEBHOOK_SECRET // Reject replays older than 5 minutesif (Math.abs(Date.now() - ts) > 300000)return res.status(401).json({ error: 'Timestamp too old' }) // 401 UNAUTHORIZED — invalid or missing API keyif (!verifyWebhookSignature(body, signature, secret)) {return res.status(401).json({ error: 'Invalid signature' });}
Summary

From one chain to fiat — simplified

The complete Nexis payment pipeline from stablecoin funding to fiat disbursement.

Smart wallet
USDC / USDT FUNDED
KYC / AML
SENDER VALIDATION
Fiat rail
SEPA
Receiver's bank
EUR

Start settling EUR payments today.

Contact your Nexis account manager to get API credentials.

Get started