
Add crypto to your store without building crypto.
One React component for Stripe and Stablecoins. Uses your existing products. No deposit wallets. No monitoring. No custom crypto backend.
// 😰 Traditional Solana payments
// Create deposit wallet per user
const wallet = generateDepositWallet(userId);
// Monitor deposits 24/7
const monitor = watchWallet(wallet.address);
// Sweep to merchant on deposit
monitor.onDeposit(() => sweepToMerchant());
// Sync wallet state with DB
await syncWalletBalance(userId, wallet);
// Verify payment
await verifyPayment(txId, amount, user);
// Add Stripe separately
// ... another 100 lines ...
// Result: 3-8 weeks, custody risk// 😎 Cedros Pay
import { CedrosPay } from '@cedros/pay-react';
export function Checkout() {
return (
<CedrosPay
resource="your-product-id" // from your DB
onPaymentSuccess={(txId) => unlockContent(txId)}
/>
);
}
// Done. Stripe and Solana in one checkout.
// Setup time: ~15 minutes.React SDK + Go server. Works with your Stripe account and Solana wallet. No deposit wallets. No user accounts required for crypto. Verify on-chain, fulfill instantly.
Why Solana payments take months instead of minutes.
Everything before Cedros Pay required wallets per user, background monitors, and sweeping funds. Now it’s stateless.

Without Cedros Pay
- Create a deposit wallet per user
- Monitor deposits 24/7
- Sweep to your merchant wallet
- Store wallet state in your DB
- Handle wallet creation failures
- Build Stripe separately
- Maintain two systems

With Cedros Pay
- Use your existing product IDs
- Drop in <CedrosPay />
- Funds go directly to your wallet
- Backend only verifies the transaction
- Stripe included automatically
- No wallet infra to secure
Time
3–8 weeks
~15 minutes
Risk
Custody risk
Lower custody risk
Cost
More DevOps
Less DevOps
x402 makes Solana payments stateless.
The client includes a signed transaction. Your backend verifies it, unlocks the resource, and never stores wallet state.
POST /api/premium
X-PAYMENT: <signed-transaction>
// Backend verifies:
1) transaction is confirmed on-chain
2) amount and recipient match
3) unlock the resource- No deposit wallets
- No sweeping funds
- No payment state in your DB

Traditional
- User → Deposit wallet (you manage)
- Monitor → Sweep → Merchant wallet
- Store wallet state in your DB
- Custody risk the entire way
x402
- User → Signs transaction
- Your backend verifies on-chain
- Funds go directly to merchant
- Stateless. No custody risk.
Everything a production checkout needs.
Drop in the React component, verify transactions on your backend, and let Cedros Pay keep cards and stablecoins in sync.

One component, two rails
Stripe for cards, Solana USDC for wallets. No second checkout.
<CedrosPay resource="product-1" />
Works with your products
Pass your DB ID. No new schema or product sync.
<CedrosPay resource="existing-product-123" />
Real ecommerce
Carts, coupons, refunds, and fulfillment hooks.
<CedrosPay items={[{ resource: "item-1", quantity: 2 }]} couponCode="LAUNCH50" />
Auto-detects wallet
No wallet: card only. Wallet: card and crypto options.
// Phantom user sees card + crypto buttons
Agent-ready
x402 over HTTP so agents can pay per request.
GET /api/premium
X-PAYMENT: <signed-transaction>
Self-host or extend
React UI + Go backend. Open API for custom wallets.
<CedrosPay resource="item" wallets={customWallets} />See Cedros Pay run in wallet + no-wallet states.
Connect a wallet, flip through presets, and inspect the code that powers each state.
💡 The button above toggles whether the crypto payment option appears. To connect an actual wallet, click "Pay with USDC" below.
No wallet connected. Shows the Stripe fallback state.
Resource
The Cedros Guide to Generational Wealth Ebook
Example code
If you can wrap a provider, you can ship dual payments.
Install, wrap, drop in. Cedros Pay stays aligned with your product IDs the whole way.
Install the SDK
Grab the React package and optional styles.
npm install @cedros/pay-reactWrap the provider
Point to your Go server or self-hosted backend.
import { CedrosProvider } from "@cedros/pay-react";
import "@cedros/pay-react/style.css";
<CedrosProvider
stripePublicKey="pk_test_..."
serverUrl="https://your-api.com"
solanaCluster="mainnet-beta"
>
<App />
</CedrosProvider>;Render the component
Fulfill on success using your existing product IDs.
import { CedrosPay } from "@cedros/pay-react";
<CedrosPay
resource="your-product-id"
onPaymentSuccess={(txId) => fulfillOrder(txId)}
/>;Backend options: run the Go server we ship, or implement the open API with your own infra.
Built for modern commerce.
Paywalled content, agent APIs, digital products, and SaaS bundles all share the same `<CedrosPay />` component.

Paywalled content
Instant access on payment. No account creation.
<CedrosPay resource={articleId} onPaymentSuccess={() => showContent()} />
AI agent APIs
Agents pay per request. No prepaid credits.
GET /api/generate-code
X-PAYMENT: <signed-transaction>
Digital products
Payment triggers a secure download link.
<CedrosPay resource={productId} onPaymentSuccess={(txId) => generateDownload()} />
SaaS and bundles
Plans, seats, bundles, and refunds out of the box.
<CedrosPay
items={[
{ resource: "pro-plan", quantity: 1 },
{ resource: "extra-seats", quantity: 3 },
]}
/>Open source. Production-ready. Zero lock-in.
Ship stablecoin payments without new infra, still using the workflows you already trust.

Open Source
- MIT-licensed
- Full source on GitHub
- TypeScript-first

Production-ready
- Multi-item carts + coupons
- Refunds with signed confirmations
- Responsive theming + error states

Zero lock-in
- Self-host the Go backend
- Implement the open API anytime
- Works with your Stripe and wallets
The future of Cedros.
We’re doubling down on tools that keep checkout simple while you stay in control.

Cedros Store Manager
Manage catalog items, coupons, refunds, and transactions from a single dashboard.

Cedros Pay Cloud
Managed backend that connects Stripe and Solana, scales automatically, and sends your funds directly.
Follow us on X to get updates and early access.
Follow →Answers in plain English.
Most answers are below. For everything else, see the Docs and Examples.
How do I get started?
Install @cedros/pay-react, drop the component into your React app, and point the backend to the Go server to verify transactions.
Do I need a custodial wallet?
No. Cedros Pay uses the Solana x402 pattern so funds go directly to your merchant wallet.
Does it replace my Stripe setup?
Keep Stripe exactly as-is. Cedros Pay simply adds Solana stablecoins without rewriting your catalog.
