Back to Blog
Guides
2026-09-1713 min readBy StableOps

What Is a Stablecoin Payment Link? Accept USDC and USDT Without Code

Learn how stablecoin payment links package amount, network, asset, expiry, and order tracking so you can accept USDC or USDT without building a checkout.

Stablecoin payment links
USDC payment link
USDT payment link
Crypto payment link

A stablecoin payment link is a shareable checkout URL. The merchant configures the amount, accepted stablecoins, and networks; each payer who starts a new attempt receives an independent order, exact payment instructions, and an expiry. It is easier to reconcile than sending a wallet address and faster to launch than building a checkout.

The URL itself is not proof of payment. A reliable system must still match the chain, asset, address, and amount, wait for onchain finality, and notify the merchant before fulfillment. StableOps hosts the checkout interface but never takes custody of merchant funds: USDC or USDT goes directly to a merchant-controlled receiving address.

A stablecoin payment link stores reusable collection settings and opens a web checkout for the payer. Those settings commonly include:

  • a product or service name and description;
  • a base amount;
  • accepted networks and assets such as USDC or USDT;
  • the expiry applied to each Payment Order;
  • completion, cancellation, branding, and merchant-support details.

Every new payment attempt creates a Payment Order from that configuration. The order then defines the exact amount, candidate receiving addresses, deadline, and status. A reusable URL is therefore not one order that many people pay repeatedly.

A payment link is also more than a wallet URI behind a short URL. ERC-681 can encode Ethereum native-asset or ERC-20 transaction requests, but its amount and other arguments are suggestions that the payer can edit. The Solana Pay specification likewise defines transfer requests for URLs and QR codes, while telling applications to confirm that a transaction is valid before releasing goods or services. A URI improves wallet handoff; the order layer supplies matching, expiry, finality, and fulfillment evidence.

Separate two concepts that product names often blur. Hosted interface means a provider operates the checkout page. Custody means a provider or partner controls the funds before settlement. A provider can host the interface while funds still move directly to the merchant wallet.

Collection methodPayer experienceOrder and status modelTypical fund pathBest fit
Raw wallet addressAddress plus informal instructionsUsually no independent orderDirect to the addressOccasional transfers between known people
Static onchain payment URIWallet pre-fills address, asset, and amountMerchant must build it separatelyUsually direct to the addressSingle-network QR or wallet launch
Non-custodial Payment LinkBranded page, chain, asset, amount, countdownIndependent order for each attemptDirect to merchant-controlled addressesFixed-price services, invoices, QR codes
Custodial checkout serviceProvider checkout and account balanceProvider records the paymentProvider or partner controls funds firstConversion, stored balance, bank payout
API-created one-time CheckoutA URL bound to a specific business orderMerchant supplies its ID and contextDepends on the provider's custody modelCommerce, SaaS, and deep integration

A wallet address can receive funds, but it does not explain which order they pay. When two customers send the same amount, someone pays after a deadline, a payer selects the wrong network, or support receives a screenshot, the merchant must reconstruct the payment across chat history, block explorers, and business records.

A Payment Link removes frontend work, not payment-operations responsibility. The merchant still defines fulfillment thresholds, exception policy, refund approval, and financial posting.

“Payment Link” covers several product models. Choose based on whether price and business context are stable.

ModelWho determines the amountGood usesMain limitation
Reusable fixed-amount linkMerchant at link creationStandard consulting, plans, tickets, eventsEach payment still needs customer attribution
Open-amount linkPayer at checkoutTips, donations, pay-what-you-want offersAmount alone cannot settle a particular invoice
One-time order URLMerchant backend calculates each orderCommerce, dynamic quotes, taxes, unique invoicesRequires backend creation and idempotency

StableOps Dashboard Payment Links currently use a fixed base amount; they are not open-amount links. Merchants can choose:

  • exact, which preserves the same exact amount for every order;
  • auto, which changes the payable amount by the token's smallest unit only when the base amount conflicts across all candidate shared addresses.

Both modes require the payer to send the returned order.amount exactly. auto is not variable pricing and does not accept underpayment or overpayment. If every customer needs a different amount, an internal order ID, richer customer context, or mobile-wallet support, create a one-time Checkout Session from the backend instead of manually issuing reusable links.

A production-ready flow has seven stages:

  1. Open the link. The payer arrives at /p/{slug} from an invoice, email, message, product page, or QR code.
  2. Create this attempt. The service reads the link configuration and creates an independent Checkout Session and Payment Order. Refreshing the same browser tab reuses the active attempt instead of reserving another address.
  3. Choose a network and asset. Checkout offers only merchant-approved pairs, such as USDC on Base or USDT on TRON, rather than an ambiguous token symbol.
  4. Receive exact instructions. The page shows the amount, network, asset, receiving address, and countdown. The payer can use an injected browser wallet or a manual transfer.
  5. Broadcast and detect. After the wallet submits the transaction, chain scanners compare the candidate transfer with open orders.
  6. Wait for confirmation and finality. Checkout may display detected or confirming earlier, but irreversible fulfillment waits for the required final state.
  7. Notify and fulfill. The merchant backend verifies and deduplicates the webhook before provisioning service, posting a ledger entry, or arranging delivery.

Closing the page cannot reverse a broadcast transaction. A redirect to a success page cannot prove final payment either. The server-side Payment Order and canonical chain evidence are the source of truth.

A reliable collection flow has at least three layers:

ObjectQuestion it answersLifecycle
Payment Link“How may customers pay this merchant?”Reusable until deactivated; can later be reactivated
Payment Order“What is due in this attempt, and by when?”Created for one attempt; completes or expires
Address“Where does the asset move onchain?”Dedicated or allocated from a pool under strict rules

Conflating them creates predictable errors: deactivating a public link and assuming old orders were canceled; continuing to wait on an expired instruction; crediting an arbitrary order because an address balance increased; or reusing a completed order for another customer.

A StableOps reusable link stores collection configuration only. A new attempt gets an independent order, exact amount, candidate addresses, and expiry. Deactivating the link prevents new sessions; it does not revoke an existing order or an onchain transfer.

Why must the network and token stay together?

USDC and USDT exist on multiple networks, so the ticker does not uniquely identify the asset. Circle's official USDC contract list distinguishes mainnet, testnet, and token address. Tether's supported protocols list likewise identifies USD₮ by blockchain and contract or asset details.

Checkout should therefore present one inseparable instruction containing:

  • network and environment;
  • stablecoin name;
  • contract or mint when necessary;
  • receiving address;
  • exact amount and expiry.

Do not display a bare 0x… address and expect the payer to infer whether it belongs to Ethereum, Base, or another EVM network. Network choice affects fees, wallet compatibility, and support burden. Start with the few networks customers actually use; the stablecoin network selection guide provides a fuller decision framework.

What happens to underpayments, overpayments, late transfers, and wrong networks?

An exception must not become success because the amount looks close.

SituationWhat the original order should doMerchant response
UnderpaymentRemain incompleteRefund, or credit manually and create a new order for the balance
OverpaymentNot treat the requested portion as successChoose a surplus or full refund; retain approval and tx evidence
Payment after expiryRemain terminal; never reactivateReconcile transaction, time, and allocation history manually
Wrong networkNot advance the target-network orderCheck actual chain and key control; never promise recovery
Wrong tokenNot credit by ticker aloneVerify contract, liquidity, and wallet support
Split transfersNot aggregate by defaultRefund, credit separately, or issue one new exact payment

Funds that reached a merchant-controlled address remain controlled by the merchant, but receiving an asset and satisfying an order are different facts. StableOps never holds merchant private keys, so it cannot sign a refund or wrong-network recovery transaction. The underpayment and wrong-network guide provides a complete operational matrix.

How should merchants confirm payment and send notifications?

Checkout can display progress in real time, but a screenshot, wallet popup, or frontend redirect is not a fulfillment signal. The backend should consume signed payment events and map each state to a constrained action:

StatePermitted actionDo not do this
detectedShow “payment received, confirming”; reserve reversiblyShip or grant irreversible value
confirmedRun low-risk, compensatable preparationAssume the transfer can never roll back
finalizedPost the payment and trigger formal fulfillmentLet the browser redirect decide business state
revertedStop subsequent work and compensate optimistic actionsSilently retain prematurely granted value
expiredClose the attempt and offer a new orderKeep asking the payer to use old instructions

Verify the webhook against the raw body, deduplicate by event ID, and persist the event and business transition atomically. A successful endpoint response proves receipt, not that every downstream effect completed, so delivery, entitlement, and email jobs must also be idempotent by business order. See stablecoin payment confirmations for the finality and rollback boundary.

Fixed-price remote consulting

A consultant can create separate links for 30- and 60-minute services and send them through email or messaging. Send the scheduling invitation only after final payment. Use a one-time order when pricing, taxes, or discounts vary by client.

Digital services and standard plans

Design packages, report downloads, course enrollment, and standard service tiers fit reusable links. The merchant still needs customer context—perhaps an email captured in its own order form—and must join that record to the Payment Order. A public link cannot infer who should receive the entitlement.

Invoices and bills

A fixed invoice can include a Payment Link in its PDF. If an invoice must carry a unique invoice number, customer identity, due date, or tax fields, create a one-time Checkout Session from the backend and bind that business reference to the Payment Order.

In-person QR codes and event registration

Encode a reusable link into a booth, poster, or register QR code. Public codes can circulate indefinitely, so deactivate the link after the campaign, monitor suspicious traffic, and keep enough receiving-address capacity.

Dynamic carts, recurring billing, complex marketplace splits, high-volume user deposit addresses, and quotations that must bind to internal objects usually require a Payment API and merchant backend. A link can support an early pilot, but it cannot remove those system requirements.

StableOps Payment Links require no frontend code and no order-creation API call. To test one:

  1. import a testnet receiving address you control into Sandbox and make sure its pool has capacity;
  2. open the Payment Links Dashboard, then enter a name, description, amount, allocation mode, and accepted chain–asset pairs;
  3. copy the generated https://pay.stableops.dev/p/{slug} URL and open it in a fresh browser tab;
  4. verify the network, asset, exact amount, receiving address, and expiry shown to the payer;
  5. complete one correct testnet payment, then test an underpayment, wrong token, and expiry;
  6. inspect Payment Order status, webhook delivery, and the 30-day conversion funnel, and verify that your business fulfills once.

The StableOps Checkout documentation covers page configuration, wallet methods, branding, analytics, and security boundaries. Configure Sandbox and Live independently, and never carry test addresses, credentials, or assets into production.

StableOps is a non-custodial payment-operations layer. It creates orders, presents instructions, observes transfers, and delivers events, while funds move to wallets imported and controlled by the merchant. It does not collect funds for merchants, convert to fiat, settle to a bank, or make the merchant's identity, tax, refund, and fulfillment decisions.

What should you verify before launch?

  • Checkout displays network, asset, address, exact amount, and expiry together.
  • Every new attempt has its own order and status; completed orders are never reused.
  • Link deactivation, order expiry, and address release are separate operations.
  • Underpayment, overpayment, late, wrong-network, and wrong-token transfers enter structured exception handling.
  • Only a verified, deduplicated final event triggers irreversible fulfillment.
  • Support can trace a business object to its order, onchain transaction, and events.
  • Merchant treasury policy approves and signs refunds; transaction sender is not assumed to be the refund address.
  • Public links have rate limits, address-capacity monitoring, and a deactivation plan.
  • Revenue, refunds, network fees, and manual adjustments reconcile to the merchant ledger.
  • Sandbox tests cover success, exceptions, duplicate events, and outage recovery.

Frequently asked questions

A wallet address only says where funds should go. A Payment Link also fixes the network, asset, amount, expiry, and an independently tracked order for each attempt. It reduces payment and reconciliation errors without replacing the merchant's fulfillment, refund, or compliance policies.

You do not need code to create a fixed-amount StableOps Payment Link in the Dashboard. You still need receiving addresses you control, and safe automated fulfillment requires a backend webhook handler. Use the API for dynamic amounts, internal order binding, or richer customer context.

Yes. The URL holds reusable configuration; each new attempt gets an independent Checkout Session and Payment Order. A refresh in the same browser tab reuses the active creation request until expiry instead of reserving another address.

Can the payer change the amount?

StableOps Payment Links are not open-amount links. exact keeps the fixed amount. auto only adjusts the exact payable amount by the token's smallest unit when shared-address conflicts require it. The payer must send the amount shown by Checkout.

Does StableOps receive or custody merchant funds?

No. StableOps hosts the checkout page, but the stablecoin moves directly to a merchant-controlled receiving address. StableOps has no merchant private key and cannot transfer, refund, or convert the funds.

Distinguish link lifetime from order lifetime. A reusable link may remain active, while every Payment Order it creates has its own expiry. After an order expires, the payer should reopen the link for a new attempt; paying the old instruction does not revive it.

What if the payer uses the wrong network or amount?

The original order should not complete. The merchant must inspect the actual chain, token, transaction hash, and key control before refunding or manually crediting the transfer. Recovery depends on the real network and wallet setup and cannot be guaranteed.

Can I fulfill from the success page redirect?

No. A redirect can be forged or occur before finality. Trigger irreversible fulfillment from a verified and deduplicated payment.finalized event, and retain an API and reconciliation path for recovery.

Choose one network your customers use, one testnet stablecoin, and one fixed-price service. After the happy path, test an underpayment, expiry, and duplicate webhook. A Payment Link saves more than the effort of copying an address: it turns each collection into an order with a deadline, explicit state, and auditable evidence.

Protocol references, asset lists, and StableOps product boundaries were verified on September 17, 2026. Recheck supported networks, token contracts, finality policy, and local compliance requirements before accepting production funds.

Related articles

Compare stablecoin payment APIs across custody, order matching, finality, webhooks, reconciliation, testing, and portability with a practical 2026 scorecard.

Learn how to test crypto payments with a sandbox, testnet USDC, webhook fixtures, and a pre-launch checklist—without risking real money.

Create a hosted USDC Checkout Session in Next.js, redirect securely, and fulfill only from verified webhooks.

Use this 12-point production checklist to evaluate AI agent wallet security across credentials, policy, approvals, constrained signing, retries, and audits.