Skip to main content

Non-custodial · Native USDC on Base

Take crypto paymentswithout leaving your site.

One button. Funds move straight from your customer’s wallet to yours, verified on-chain and confirmed on your own page. No redirect, no KYC, no custody.

northwind.store/checkout
Pay with CryptoBase

Amount due

249.00 USDC

Token
Native USDC
To merchant
0x7f2c…3a91
Expires in
04:58
Confirm in wallet

Funds go straight to the merchant

Works with the wallet your customer already has

Supported wallets: MetaMask, Rabby, Coinbase Wallet, WalletConnect, Trust Wallet, Frame, Rainbow, Zerion, and any wallet reachable over WalletConnect.

Drop in a button. Settle straight to your wallet.

Your backend signs a payment intent. The customer signs a transfer. Beeline verifies it on-chain and tells you when to ship — it never touches the money.

Checkout.tsx
import { BeelinePayButton } from '@beeline/react' <BeelinePayButton  intentId={intent.id}  onVerified={fulfillOrder}/>

Four lines of React

One component, one signed intent. Plain JavaScript works too — no hosted checkout page, no iframe, no redirect off your domain.

Intent int_9fa2verified
  1. Transfer broadcast0x8f31…c214
  2. Transfer log matchedUSDC · 249.000000
  3. Confirmations reached3 of 3 blocks
  4. Webhook deliveredpayment.verified · 200
Reorg watch active — depth is a per-merchant setting.

Verified server-side, never client-side

We parse the USDC Transfer log — exact amount, exact contract, your address — then fire a signed, retriable webhook.

Why Beeline

Built for merchants who don’t want a middleman

Crypto payments were supposed to be direct. Beeline keeps them that way — and handles the hard parts a raw wallet transfer can’t.

Direct to your wallet

Funds move from the customer's wallet straight to yours. Beeline never takes custody, never holds keys — settlement doesn't even depend on us being up.

Zero KYC, zero PII

No customer accounts, no identity checks, no emails or IPs stored. Orders reconcile by intent ID and transaction hash — nothing else.

Tamper-proof intents

Amount, address, token, chain, and expiry are signed server-side. Nothing in the browser can change where the money goes.

Real USDC, guaranteed

Wallets label bridged USDbC as "USDC" too. Beeline pins the native Circle contract and rejects lookalikes before a cent moves.

Every edge case handled

Wrong network, no gas, rejected signature, stuck or replaced transactions, late transfers — each one has a defined path, never a lost payment.

Webhooks you can trust

HMAC-signed, timestamped, idempotent events with exponential-backoff retries for up to 24 hours. Fulfil orders on payment.verified, not vibes.

Security model

Trust the chain, not the checkout

Beeline is designed so the worst-case failure is an inconvenience, never a loss of funds. The client is advisory; the blockchain and your server decide.

custody, keys & PII held
0
of funds settle wallet-to-wallet
100%
soft confirmation on Base
~2s
signed webhook retries
24h

No keys, no custody

Beeline never holds merchant or customer private keys and never sits in the flow of funds. There is nothing to freeze, seize, or lose.

Server-signed intents

Every payment intent is HMAC-signed on your backend. A tampered amount or swapped address invalidates the signature and fails verification.

The chain is the source of truth

Success means one thing: a matching USDC Transfer log to your address, for the exact amount, at the required confirmation depth.

Hardened supply chain

npm provenance attestations, signed tag-gated releases, org-wide 2FA, and pinned dependencies. No token approvals in v1 — direct transfers only.

Ready to take your first payment?

Grab an API key, paste four lines of React, and watch a USDC payment land in your own wallet — most merchants ship in under a day.

Non-custodial by design · No customer accounts · No platform KYC