How to accept stablecoin payments without an SDK
Start with a hosted payment link, then add webhooks or raw HTTP only when the product needs automation.
An SDK is not required for every stablecoin checkout. A merchant with one fixed product can publish a hosted payment link, receive the payment in the configured route and review the result in the dashboard.
Code becomes necessary when the merchant wants to connect the payment to its own user database, create dynamic orders or automate fulfillment.
The no-code level
The merchant creates a product, price and reusable payment link in a dashboard. The URL can be placed on a website, sent by email or shared in a Telegram channel.
<a href="https://app.stendly.com/p/pl_example">
Pay with stablecoins
</a>This is enough for a fixed offer when a hosted success page and manual order handling are acceptable.
The low-code level
A public reference can associate the payment with a customer or workspace:
const checkoutUrl =
paymentLink +
"?client_reference_id=" +
encodeURIComponent(currentUser.id);The payment provider returns this value in the webhook. The merchant verifies the webhook and updates its own database.
Because the reference is visible in the URL, it must not be used as authentication. A user can edit it.
The API level without an SDK
An SDK is a convenience layer over HTTP. A merchant can call a REST API directly with fetch, curl or its existing HTTP client.
A server-created checkout is useful for a trusted order reference, dynamic amount or private customer binding. The backend sends an authenticated request and receives an expiring checkout URL.
const response = await fetch("https://api.example.com/v2/checkout-sessions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": order.id
},
body: JSON.stringify({
priceId,
externalCustomerId: user.id,
merchantReference: order.id
})
});The exact endpoint and fields depend on the provider. API keys must stay on the server.
Why SDKs still exist
SDKs reduce repetitive work around authentication, request models, errors, retries, idempotency and webhook signatures. They are useful when the integration grows, but they should not be a gate before the first test payment.
Stendly provides Node.js, Python and .NET SDKs plus raw HTTP and OpenAPI documentation. A merchant can start with a link and adopt the SDK later.
What “without SDK” does not mean
It does not mean “without a backend” for automatic access. If a payment needs to change a user account, the merchant still needs a trusted server-side action or an external automation service.
It also does not mean that a payment URL can safely contain a secret customer identity, arbitrary price or private metadata.