Checkout for Shopify and any site

Take crypto from any chain. Get USDC.

One Shopify app or one script tag. Your buyer pays with whatever they hold; you receive the exact order total in USDC on NEAR.

EthereumBaseArbitrumSolanaBitcoinNEAR
1 · Choose

Your buyer pays with whatever they hold.

USDC on Base, ETH on Arbitrum, SOL, BTC, NEAR. The card lists eleven assets on six chains and asks for one thing: where to send funds back if anything goes wrong.

  • No account, no sign-up for the buyer
  • A refund address is required before any quote
  • Pay from a connected EVM wallet, or by QR from any wallet
2 · Quote

An exact USDC amount, priced live.

The server asks NEAR Intents 1Click for an EXACT_OUTPUT quote: the store receives exactly the order total in USDC, and the buyer sees exactly what to send. Slippage sits on the buyer's side and any excess is returned.

  • Quote signed by 1Click and stored with the order
  • Deposit address unique to this order
  • Quote holds for 30 minutes, then refreshes
3 · Settle

Solvers swap it. NEAR settles it.

The deposit is swapped through the NEAR Intents verifier and paid out as USDC to the store's own NEAR account. No custodian, and no contract of ours in the money path.

  • Funds go straight to the merchant's account
  • Short or late deposits are refunded by 1Click automatically
  • The buyer can close the tab: the server finishes the job
4 · Verified

Marked paid only after eight checks pass.

Before the order is marked paid in Shopify, the server checks that 1Click's status matches the quote it issued, then reads the NEAR receipt to confirm the USDC reached the merchant. The browser is never trusted.

  • Signature, deposit address, recipient, asset and amount must match
  • The USDC transfer is read from NEAR itself
  • Order re-read before marking paid; mismatches go to review
Merchant protections

Built for the store, not just the buyer.

Cross-chain payments fail in quiet ways: a short deposit, a swapped recipient, a page that says "paid" when nothing arrived. Every one of these is handled on the server.

Caps

Per-order and 24-hour limits

Set a ceiling per order ($500 by default) and per day. Orders above it never get a quote, so exposure stays bounded while you try crypto.

Verification

Settlement checked twice

1Click's status must match the signed quote we stored, and the NEAR receipt must show the USDC reaching your account. Only then is the order marked paid.

Refunds

A refund path for every case

Short, late or failed deposits go back to the buyer's refund address automatically. For returns, the admin builds a 1Click quote that turns your USDC back into the buyer's coin.

Amount sourceRead from the Shopify order on the server. The browser never sets the price.
Payout accountSnapshotted when the quote is issued. Later settings changes cannot redirect a payment in flight.
Account checkYour NEAR account must exist and be registered with the USDC contract before you can switch payments on.
Double markingAn atomic claim makes "mark paid" happen once, however many pollers race.
Order changedIf the order total or status changed since the quote, the payment goes to review instead of being marked paid.
Not on Shopify?

One script tag. A web component that fits any store.

<intents-checkout> is a Lit web component in Shadow DOM: no framework, no style leaks. It inherits your font and takes your colours through CSS variables.

<script src="https://your-anytill-host/widget/anytill.js"
        data-merchant="you.near" data-amount="48.00" data-order-ref="A-1001"></script>

<style> intents-checkout { --anytill-accent: #0F9D7A; --anytill-radius: 10px; } </style>