Skip to content
LayerHop

LayerHop Payments

Accept any token on any chain. Receive USDC.

Your customer pays with whatever they hold, on EVM chains or Solana. You receive USDC or USDT on Ethereum, Arbitrum, Base, Optimism, BNB Chain, Polygon and Solana, straight to your own wallet, verified on chain before it's marked paid. Payment links, invoices and subscriptions with no code, or an API and webhooks if you build.

How it works

Three steps. Nothing passes through LayerHop's hands.

  1. 1

    Set what you're paid in

    Choose USDC or USDT on Ethereum, Arbitrum, Base, Optimism, BNB Chain, Polygon and Solana, and your own payout address. Create a payment link, product, invoice or subscription in the dashboard, or a checkout session from your server.

  2. 2

    Your customer pays with anything

    They open the hosted page (or your embedded checkout), connect an EVM or Solana wallet and pick a token. LayerHop quotes a route that delivers at least the full amount to you, and they see exactly what they send before signing.

  3. 3

    Verified on chain, then paid

    LayerHop checks the transfer to your address on the settlement chain before marking the payment paid and sending your signed webhook. The money is already in your wallet.

Fees

The customer pays the fees. You receive at least the amount you asked for.

Setup and monthly feeNone
Customer pays in your settlement token, on your chain0.50% LayerHop fee, added on top for the customer. You receive the full amount.
Customer pays with any other token or chain0.20% LayerHop fee plus the route provider's fees, included in the price the customer sees before signing. You receive at least the full amount.
Slippage buffer on routed paymentsThe customer sends a little more so the amount due is guaranteed: usually under 1%, never more than about 3%. Any extra that arrives is yours.
Network gasPaid by the customer
RefundsNo LayerHop fee; you sign them from your own wallet

Example: a 100.00 USDC payment on Base paid in USDC on Base costs the customer 100.50 USDC (0.50 USDC LayerHop fee) and you receive 100.00 USDC. Paid with ETH on Arbitrum instead, the LayerHop part is about 0.20 USDC, with provider fees and the buffer shown in the customer's quote.

Where you get paid

Pick one chain and stablecoin per link, product, invoice or session. Customers can pay from any chain LayerHop routes.

Chain you're paid onStablecoins
EthereumUSDC, USDT
ArbitrumUSDC, USDT
BaseUSDC
OptimismUSDC
BNB ChainUSDC, USDT
PolygonUSDC
SolanaUSDC, USDT

No code needed

Everything below works from the dashboard.

  • Payment links

    Set an amount and the chain you're paid on, then share the layerhop.com/pay link or its QR code.

    Guide (opens in a new tab)
  • Products and pay buttons

    A fixed price with a /buy link and a button you paste into any website. No backend.

    Guide (opens in a new tab)
  • Invoices

    Email a client line items in USDC or USDT; they pay on a hosted page and get a PDF receipt.

    Guide (opens in a new tab)
  • Subscriptions

    An invoice emailed every period, with reminders and a grace period when one goes unpaid.

    Guide (opens in a new tab)
  • WooCommerce and WordPress

    A free plugin with a crypto payment method for WooCommerce and a pay-button shortcode.

    Guide (opens in a new tab)
  • Hosted and embedded checkout

    Send customers to the hosted page, or open it as a popup on your own site with checkout.js.

    Guide (opens in a new tab)

Or build it in

Create a checkout session from your server, send the customer to its url (or open it on your page with checkout.js), and fulfil on the signed webhook.

Create a checkout session
curl -X POST https://api.layerhop.com/v1/checkout/sessions \
  -H "x-api-key: $LAYERHOP_API_KEY" -H "content-type: application/json" \
  -d '{
    "amount": "49000000",
    "settleChain": "base",
    "settleToken": "USDC",
    "recipient": "0xYourPayoutAddress",
    "description": "Pro plan, 1 month",
    "reference": "order_1042",
    "successUrl": "https://shop.example.com/thanks"
  }'
# → { "id": "cs_…", "url": "https://layerhop.com/pay/cs_…", "status": "open", … }

49 USDC on Base, in base units (6 decimals). SDKs for TypeScript, Python, Go, Rust and more wrap the same call. Developer overview · Checkout guide · Test mode

Questions merchants ask

How do I accept crypto payments and receive USDC?

Sign in to the LayerHop dashboard with your wallet, choose USDC (or USDT) on Ethereum, Arbitrum, Base, Optimism, BNB Chain, Polygon or Solana and your payout address, and create a payment link, product, invoice or subscription. Customers pay with any token on any chain and the stablecoin goes straight to your wallet.

What does LayerHop charge merchants?

Nothing to set up and no monthly fee. If your customer pays in the exact token and chain you settle in, LayerHop adds a 0.50% fee on top for them (100.50 USDC for a 100.00 USDC payment) and you receive the full 100.00. If they pay with anything else, the route includes LayerHop's 0.20% fee and the provider's fees in the price they see before signing, and you still receive at least the amount due. Refunds carry no LayerHop fee.

Who pays the fees, me or my customer?

Your customer. A same-token payment adds the 0.50% on top of the amount due, and a routed payment prices LayerHop's 0.20%, the provider's fees and a small slippage buffer into what the customer sends (usually under 1%, never more than about 3% over the amount due). Either way you receive at least the amount due.

Which chains and tokens can I be paid in?

USDC on Ethereum, Arbitrum, Base, Optimism, BNB Chain, Polygon and Solana; USDT on Ethereum, Arbitrum, BNB Chain and Solana. Your customer can pay with any token LayerHop can route on EVM chains or Solana.

Is LayerHop custodial?

No. Payments go from the customer's wallet straight to your payout address through the route provider. LayerHop never holds funds or keys, and you sign refunds from your own wallet.

Can I try it without real money?

Yes. Test mode (an lh_test_ key, or the switch in the dashboard) simulates payments end to end, including webhooks, with nothing moving on chain.

Can I price in dollars or get paid out to a bank?

No. Prices are set in USDC or USDT, and payouts go to your crypto wallet. LayerHop doesn't convert to fiat.

Take your first payment in test mode today.

Sign in with your wallet, switch on test mode, and send yourself a payment link. Go live when you're ready.

Merchant terms · Acceptable use