Payments · Stablecoins · Infrastructure

Fivo

One integration to accept stablecoins across nine networks.

Fivo is stablecoin payment infrastructure for online merchants: the customer pays in USDC or EURC from the network where they hold funds, and the merchant gets paid through a single integration. Wallets, on-chain verification and cross-network movement stay inside the system.

9
Mainnet networks
USDC + EURC
Stablecoins
3
Integration methods
Testnet + Mainnet
Separate environments
Circle Alliance MemberLive product · fivo.finance
Demo store with the Fivo button in the cart
Fivo light-theme checkout: network selection for a 0.01 USDC paymentCompleted payment in the Fivo checkout

The problem

Accepting stablecoins shouldn't mean integrating one blockchain after another.

Accepting USDC sounds simple. Underneath there are different networks, different contracts, wallets, confirmations and payment states that nobody wants to maintain inside an online store.

  1. 01

    Multiple networks

    Each network has its own USDC contracts, RPC nodes and confirmation times.

  2. 02

    Token and network compatibility

    EURC does not exist on every network: a chain can be valid for one token and not for another.

  3. 03

    Wallet interaction

    Connect, check balances on each network and sign the right transaction from the browser.

  4. 04

    Cross-network movement

    If the customer holds funds on Polygon and the merchant collects on Base, someone has to move the value.

  5. 05

    Confirmation and state

    Verify on-chain that the payment arrived, for the right amount, and reflect it in a reliable state.

  6. 06

    Integration and operations

    The developer needs an API; the merchant needs to see, refund, withdraw and invoice.

Without Fivo

contracts · RPC · wallets · confirmations · states

MerchantEthereumPolygonAvalancheArbitrumBaseOptimismLineaUnichainSonic

One integration per network, each with its own life cycle.

With Fivo

one integration

MerchantONE INTEGRATIONFivoEthereumPolygonAvalancheArbitrumBaseOptimismLineaUnichainSonic

The networks sit behind the system.

Fivo moves blockchain complexity away from the merchant integration.

One integration

One integration. Multiple ways to accept payments.

Three paths on the same infrastructure: a button that embeds in any page, hosted checkout sessions and a REST API with merchant keys.

Embeddable button

One script and one HTML element. The button opens the Fivo checkout in a full-screen iframe and the payment comes back with its state.

  • Fixed or open amount
  • Reads the cart total from the page (data-amount-from)
  • Reference, description and metadata per payment
Button modes
  • Product

    Fixed amount per item.

  • Donation

    Open amount chosen by the customer.

  • Cart

    Total read from the page itself.

  • Multiple products

    One button per item on the same page.

index.html
<script async src="https://checkout.fivo.finance/v1/fivo.js"></script>

<fivo-button
  merchant-id="fivo_live_YOUR_ID"
  amount="29.99"
  currency="USDC"
  data-reference="order_1042">
</fivo-button>
Result
Fivo button in the demo store cart

Fivo button in the demo store cart

What the customer sees

One payment, start to finish.

The customer doesn't pick a blockchain: they pick where they hold funds. Fivo checks their balances across every supported network and shows only the valid options.

  1. 01

    Connect the wallet

    The checkout opens with the amount. The customer connects their wallet (MetaMask, WalletConnect, Coinbase Wallet and others) and leaves an email for the receipt.

    Wallet connected

    0x6753…Af6b

  2. 02

    Choose stablecoin and network

    Fivo reads USDC and EURC balances on each network and marks whether the payment will be direct (same network) or bridged.

    Fivo checkout listing the networks where the customer holds a balance
  3. 03

    Review amount and fees

    If the customer's network is not the merchant's, the checkout breaks down product, bridge fee and gas before signing.

    Cross-chain payment confirmation from Polygon to Base with the fee breakdown
  4. 04

    Confirm in the wallet

    The customer signs the approval and the transfer from their own wallet. The payment leaves directly from it.

    Signature

    Approval + transfer

  5. 05

    On-chain confirmation

    Approval, burn, verification and delivery: progress is shown step by step until the funds reach the merchant wallet.

    Payment in progress with the approving, burning, verifying and delivering steps
  6. 06

    Payment complete

    The backend verifies the transaction on-chain and marks the payment as completed. The customer sees the hash and the merchant receives the event.

    Payment complete screen with the amount and the transaction hashes

Real Fivo checkout screens in the light theme. Test amount: 0.01 USDC, from Polygon to Base.

Cross-chain

The customer pays from their network. The merchant receives where needed.

When the customer's network and the merchant's don't match, Fivo uses Circle Bridge Kit on CCTP v2 to move USDC between chains inside the same payment. The merchant receives the exact amount in their wallet; the customer covers the bridge fee and gas.

A different network for the customer. One integration for the merchant.

  1. Customer

    USDC · Polygon

    Customer wallet

  2. Fivo checkout

    Estimate and confirmation

    Fee breakdown before signing

  3. Circle cross-chain layer

    Bridge Kit · CCTP v2

    approve → burn → attestation → mint

  4. Merchant

    USDC · Base

    Merchant wallet

  5. Fivo backend

    On-chain verification

    burn verified → payment completed → webhook

Same network

If the customer already holds USDC or EURC on the merchant's network, the payment is a direct transfer: one confirmation and receipt verification in the backend.

EURC

EURC is accepted on Ethereum, Avalanche and Base, always on the same network: it is not moved across chains.

Confirmation of a cross-chain payment in the Fivo checkout: product, bridge fee, gas and the route between networks

Real checkout screen (test environment): the customer sees the route between networks, the fees and how much they would save by paying from the merchant's network.

Networks

Nine mainnet networks. One integration.

The list of networks lives in the system configuration, not in the merchant's code. USDC is accepted on all of them; EURC on the networks where Circle issues it.

  • 1Cross-chain: the customer can pay in USDC from any of the nine networks; the merchant receives on theirs.
  • 2EURC is accepted only on the merchant's own network.
  • 3Arc is available in the test environment (testnet).
NetworkUSDCEURCCross-chain USDC
EthereumYesYesYes
PolygonYesNoYes
AvalancheYesYesYes
ArbitrumYesNoYes
BaseYesYesYes
OptimismYesNoYes
LineaYesNoYes
UnichainYesNoYes
SonicYesNoYes

Merchant platform

The payment completes. The operation continues.

The merchant dashboard is not a transaction viewer: it manages wallets per network, withdrawals, refunds, invoices, webhooks and API keys from the same place.

Fivo merchant dashboard: balances per wallet, revenue analytics and navigation to transactions, wallets, webhooks and API keysReal-time updates
  1. 1

    Transactions

    List with saved filters, search, detail for each payment and export to Excel or PDF.

  2. 2

    Wallets and balances

    One wallet per network with USDC and EURC balances; withdrawals to the merchant's address protected with 2FA.

  3. 3

    Refunds

    Full or partial, on-chain, with a PDF receipt for the customer.

  4. 4

    Invoices

    One automatic invoice per withdrawal, numbered and in the language of the billing country.

  5. 5

    Webhooks

    Endpoint setup, testing, secret regeneration and delivery logs.

  6. 6

    API keys

    Live and test keys, shown once and stored hashed.

Operational automation

What happens after the payment is handled too.

Payment, refund and withdrawal are complete flows: each one ends in a record, a notification and, when needed, a document.

Payment

  1. On-chain transaction
  2. Receipt verification
  3. payment.completed
  4. Signed webhook and email to the merchant
  5. Receipt to the customer

Refund

  1. Full or partial request, with 2FA
  2. On-chain transaction from the merchant wallet
  3. refund.completed
  4. PDF receipt to the customer

Withdrawal

  1. On-chain batch: amount to the merchant, 0.5% fee to Fivo
  2. Withdrawal completed
  3. FIV-YYYY-NNNN invoice as PDF
  4. Email with the invoice
Automatic recovery
  • Payment-intent scanner

    Every two minutes it checks on-chain for same-network payments that have not been confirmed yet.

  • Cross-chain recovery scanner

    Every five minutes it looks for CCTP mints that were never recorded and completes the payment.

  • Webhook retries

    Three retries with growing delays and automatic disabling after ten consecutive failures.

Invoice generated automatically by Fivo after a withdrawal

Automatic invoice per withdrawal: fee, VAT when applicable, EUR equivalent and on-chain reference.

Developer infrastructure

Built to integrate, not to make you rebuild your product.

The same surface the checkout uses is available to the developer: REST API, signed webhooks, keys per environment and public documentation.

REST API

Payments, refunds, wallets, invoices and webhooks under api.fivo.finance, authenticated with X-API-Key.

api.fivo.finance

Signed webhooks

Five payment and refund events, HMAC-SHA256 signature with timestamp, retries and delivery logs.

X-Fivo-Signature

API keys

fivo_live_ and fivo_test_ prefixes, visible once and stored hashed.

fivo_live_ · fivo_test_

Documentation

Quick start, API reference, webhooks, CCTP, invoicing and test environment.

fivo.finance/docs

One event, end to end

event

payment.completed

  • X-Fivo-Event: payment.completed
  • X-Fivo-Timestamp: 1757152200
  • X-Fivo-Signature: sha256=…

signature

HMAC-SHA256( timestamp . body )

Retries: 1 s · 5 s · 25 s

Merchant endpoint

200 OK

  • payment.completed
  • payment.failed
  • refund.created
  • refund.completed
  • refund.failed
Testnet and mainnet

Two independent deployments: integrate and test without touching real funds.

Build

    test.fivo.financeapi-test.fivo.financecheckout-test.fivo.financefivo_test_ keys · cs_test_ sessionsTest USDC from the Circle faucet

Go live

    fivo.financeapi.fivo.financecheckout.fivo.financefivo_live_ keys · cs_live_ sessionsNine mainnet networks

Security

Security does not live in a single layer.

Each layer of the system has its own controls. None of them is a slogan: they are in the code.

  1. 01 · User

    Authentication

    • Mandatory 2FA on every login: email, TOTP app or SMS
    • Short sessions with rotating renewal
    • Email alert when signing in from a new device
  2. 02 · API

    Keys and limits

    • Hashed API keys, visible once
    • Request limits per endpoint: login, withdrawals, public payments
    • Schema validation and captcha on public forms
  3. 03 · Events

    Signed webhooks

    • HMAC-SHA256 signature with timestamp
    • SSRF and redirect protection on merchant endpoints
    • Circle webhooks verified with ECDSA signatures
  4. 04 · Payments

    On-chain verification

    • Receipt check: correct contract, recipient, sender and amount
    • Recovery scanners for unrecorded payments
    • Withdrawals and refunds with 2FA
  5. 05 · System

    Traceability

    • Audit log of withdrawals and refunds with IP, device and 2FA context
    • CSP and HSTS headers
    • TOTP secrets encrypted with AES-256-GCM

No “bank-grade” promises: concrete controls, verifiable in the implementation.

Circle

Built on Circle infrastructure.

Fivo doesn't reinvent stablecoins or bridges: it builds the merchant payment layer on top of Circle's rails.

Circle Alliance Member

Fivo is an independent product. Circle Alliance membership does not imply ownership, endorsement or exclusivity on Circle's part.

  • 01

    USDC and EURC

    The stablecoins issued by Circle, on the networks where they are available.

  • 02

    Programmable Wallets

    Merchant wallets managed by the system (developer-controlled, SCA accounts), with Gas Station for withdrawals and refunds.

  • 03

    Bridge Kit and CCTP v2

    USDC movement between networks inside the payment, with Circle's Forwarding Service for attestation and minting.

  • 04

    Circle webhooks

    Wallet events verified with Circle's public key.

Engineering

A complete financial product, not an isolated integration.

Fivo is the kind of system Nafureanu designs and builds: several components with clear responsibilities, connected by events, and in production.

  1. 01
    Payments

    Checkout and payment states

    React widget, multi-network balance scanning, hosted sessions and a state machine from pending to completed or failed.

  2. 02
    Blockchain

    Nine networks and cross-chain

    Network and token configuration per environment, direct transfers and CCTP v2 bridges with receipt verification.

  3. 03
    Backend

    API and event processing

    Node.js and Express in TypeScript, PostgreSQL with Prisma and periodic workers for withdrawals, refunds and payment recovery.

  4. 04
    Merchant product

    Operations dashboard

    Next.js with real-time updates: transactions, wallets, withdrawals, refunds, invoices, webhooks and keys.

  5. 05
    Automation

    Notifications, invoices and refunds

    Transactional emails, PDF invoices in 22 languages with EU VAT rules and refund receipts.

  6. 06
    Security

    Authentication, signatures and audit

    Mandatory 2FA, hashed keys, signed webhooks, request limits and audit logs.

  7. 07
    Infrastructure

    Deployment and nodes

    Frontends on Vercel, API and database on Railway, Alchemy RPC with public fallback nodes and PDF storage on R2.

  8. 08
    Developer experience

    Documentation and test environment

    Three integration paths, public documentation and an independent testnet with its own key and session prefixes.

Stack
    TypeScriptReactNext.jsNode.jsExpressPostgreSQLPrismawagmi · viemCircle Programmable WalletsCircle Bridge KitCCTP v2AlchemyVercelRailway

Inside the product

Real product surfaces.

Screenshots of the checkout, the dashboard and the demo store, all in the light theme. Test data; no real merchant information.

  1. Checkout over the store. The button opens the Fivo checkout on top of the store itself: balances per network, payment type and the amount read from the cart.
    01

    Checkout over the store

    The button opens the Fivo checkout on top of the store itself: balances per network, payment type and the amount read from the cart.

  2. Wallet connection. The checkout opens with the amount and asks for the receipt email before connecting the customer's wallet.
    02

    Wallet connection

    The checkout opens with the amount and asks for the receipt email before connecting the customer's wallet.

  3. Payment completed over the store. The checkout's final state: amount, transaction and delivery confirmed without leaving the store.
    03

    Payment completed over the store

    The checkout's final state: amount, transaction and delivery confirmed without leaving the store.

  4. Cross-chain payment in progress. Approval, burn, verification and delivery: the customer sees each step until the funds arrive.
    04

    Cross-chain payment in progress

    Approval, burn, verification and delivery: the customer sees each step until the funds arrive.

  5. Automatic invoice. Generated after each withdrawal, with the fee, applicable VAT and the on-chain reference.
    05

    Automatic invoice

    Generated after each withdrawal, with the fee, applicable VAT and the on-chain reference.

  6. Merchant dashboard. Balances per wallet, revenue over time and access to transactions, invoices, refunds, webhooks and API keys.
    06

    Merchant dashboard

    Balances per wallet, revenue over time and access to transactions, invoices, refunds, webhooks and API keys.

Next step

Does your product need payments, automation or infrastructure that doesn't exist yet?

We design and build software around the problem, from architecture to production.

About the productFivo is a live product with its own support.fivo.finance