Skip to content

What is ArQPay?

ArQPay is a cryptocurrency payment processor that lets your customers pay invoices in crypto while you settle in stablecoins. It combines:

  • A hosted payment widget — a self-contained <script> tag you embed on your checkout page.
  • A REST API — for server-side quote creation, payment status checks, confirmation and webhook management.
  • Smart-contract settlement — funds flow through audited on-chain contracts (PaymentProcessor, MerchantRegistry, TrustedForwarder, …) so custody and distribution are transparent and trust-minimized.

Who is it for?

Any merchant who wants to accept crypto without running their own infrastructure:

Use caseHow ArQPay helps
Simple checkoutEmbed the widget, done. No backend code needed.
Custom UXCall the REST API from your own backend and build your own UI.
High-volume storesReceive signed webhooks and reconcile payments programmatically.
Referral programsAttach an affiliateId to any payment to share fees with affiliates.

Key concepts

Merchant

A merchant is identified by a merchant ID (a bytes32 hash, e.g. 0x…). Each merchant has:

  • A recipient address — where settled funds are distributed.
  • A set of supported chain IDs.
  • An allowed origins list — the websites permitted to initiate payments (CORS-style protection).
  • Optional webhook configuration for payment notifications.

Quote

Every payment starts with a quote: a server-computed snapshot of the exchange rate, fee and exact on-chain calldata, locked in for 5 minutes (quoteDeadline). The quote is cryptographically hashed (quoteHash) and validated on-chain, so the payer cannot tamper with amounts after quoting.

Payment lifecycle

pending → completed

    failed

    waiting_relayer   (gasless payments only)
  • pending — quote created, awaiting the payer's transaction (or relay submission).
  • waiting_relayer — gasless payment submitted, waiting for the relayer to broadcast.
  • completed — on-chain execution verified, funds distributed.
  • failed — execution reverted or confirmation failed.

Two payment modes

ModeWho pays gasFlow
StandardThe payerPayer signs & broadcasts the swap transaction themselves.
GaslessNobody (borne/settled by the platform)Payer signs two offline signatures; ArQPay's relayer submits the transaction. Requires an ERC-20 token supporting EIP-2612 permit.

Architecture overview

┌────────────────┐      ┌─────────────────────┐      ┌──────────────────┐
│  Your website  │ ───▶ │     ArQPay Host     │ ───▶ │   ArQPay Backend │
│  (checkout)    │      │  serves widget.js   │      │                  │
└────────────────┘      │  serves /api/*      │      └────────┬─────────┘
                         └─────────────────────┘               │

                                                      ┌──────────────────┐
                                                      │  Smart Contracts │
                                                      │  (EVM chains)    │
                                                      └──────────────────┘
  • ArQPay Host — serves the payment widget assets and the API endpoints, so browser integrations work without CORS configuration.
  • Backend — computes quotes, manages merchants, dispatches webhooks and runs the gasless relayer.
  • Smart contracts — per-chain deployment of the payment processor suite; the backend verifies merchant registration on-chain before accepting quotes.

Where to go next