Circulator
ERC-7683 Standards-Compliant Cross-Chain Payment Gateway

Teleport Stablecoins Everywhere.
The Stripe for Cross-Chain Crypto

Stateless, non-custodial payment gateway allowing merchants to collect stablecoins on their preferred chain while customers pay in any token from any chain in 1 click.

Designed for Payers & Payment Collectors

Zero-friction payment experience on both sides of the transaction.

🏪

Payment Collector (Merchant)

  • Specify Target Wallet & Chain: Specify your receiving wallet (e.g., Base USDC) — get paid directly where you want.
  • Stateless Setup: No account signup, no KYC, and no database required. Create shareable checkout links instantly.
  • On-Chain Payment Records: Retrieve payment logs anytime by querying on-chain ERC-7683 events for your wallet address.
💳

Payer (Customer)

  • Pay from Any Chain / Any Token: Pay using USDC or USDT on Ethereum, Arbitrum, Base, Optimism, or Polygon.
  • 1-Click Gasless Signature: Sign a Uniswap Permit2 authorization message without needing gas on the origin chain.
  • Instant ~10s Arrival: Powered by shared ERC-7683 solvers via Across Protocol or native CCTP zero-slippage mints.

Why Circulator Beats Traditional Payment Gateway Models

⚡ ~10s Settlement

ERC-7683 solver network fronts liquidity immediately on destination chain.

🔒 0-DB Stateless

Merchant parameters are encoded in paylinks and verified on-chain.

🔑 Uniswap Permit2

Gasless off-chain EIP-712 signatures for seamless user approval.

💸 On-Chain Fee Deduction

Protocol fees are automatically collected by origin settler contracts.

Integrate in Minutes

Embed the checkout widget or generate payment payloads via REST API.

import { CirculatorCheckout } from '@circulator/react';

export function MerchantCheckout() {
  return (
    <CirculatorCheckout
      collector="0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
      destChainId={8453} // Base
      destToken="USDC"
      amount={50000000} // $50.00 USDC
      orderId="inv_98234"
      onSuccess={(txHash) => console.log('Payment complete!', txHash)}
    />
  );
}