SETSimple Easy Transactions

BUYER'S GUIDES

Stripe, Privy and Bridge, explained by someone who builds with them.

Each guide answers one common question about paying people in USDC, Privy wallets, Bridge deposits and cash-out, taking payments with Stripe, letting AI agents pay over x402 and MPP, or being read by AI search engines, puts the options side by side, and lists the provider documentation it rests on. Where this site runs the thing I'm describing, I say what I learned doing it.

PAYOUTS AND WALLETS

Paying people in USDC, and the wallet behind it.

How can a US bank deposit turn into USDC in a wallet you control, and which providers make it work?

Stablecoin Bank Deposits: Bridge, Privy and Stripe

A Bridge virtual account gives you your own US account and routing numbers. Every ACH, wire or FedNow deposit sent there is converted by Bridge into a stablecoin such as USDC and delivered straight to your wallet, with no exchange account and no manual purchase. Pair it with a Privy wallet only you control and Bridge's cash-out to your bank, and dollars move between your bank and your wallet in both directions.

Read the guide →
How do I cash out a Privy wallet to my US bank account?

How to Cash Out a Privy Wallet to a US Bank

To cash out a Privy wallet to a US bank, send USDC from the wallet to a service that converts it to dollars and pays your bank: your app's own cash-out if it has one, a Bridge cash-out address such as SET's Cash-Out Address, or an exchange account. Privy does not move the dollars itself; its documentation says off-ramp providers “handle payouts and fiat movement.” Send on the network the receiving address expects, or the funds can be lost.

Read the guide →
How do I cash out USDC to USD in my US bank account?

How to Cash Out USDC to USD in a US Bank Account

To cash out USDC to USD, send it to a company that buys it for dollars and pays your bank. On an exchange such as Coinbase or Kraken, you send the USDC in, sell it for US dollars and withdraw to your bank. A wallet's sell button does the same through a provider such as MoonPay. A permanent cash-out address, such as a SET Cash-Out Address, converts every deposit and pays your bank automatically. Send only on the network the receiving address expects.

Read the guide →
How do global payouts with USDC work, and how do I send them from SET Wallet?

How Global Payouts with USDC Work, Step by Step

A USDC global payout is a send of USDC, a digital dollar issued by Circle, from your own wallet to each recipient's wallet address on the Base network. With SET Wallet & Cash-Out you paste a list of up to 50 recipients, SET checks every line, and you approve each send in Privy's confirmation screen. SET marks a payout paid after three confirmations on Base and gives you a CSV report. SET charges no fee per payout: SET Payouts is free for up to 5 people a month, $29 a month for 25 and $99 a month for 100, and each send pays a small Base network fee in ETH.

Read the guide →

TAKING PAYMENTS WITH STRIPE

Checkout, Connect, the onramp and webhooks.

Should I use Stripe's embedded Checkout or the Stripe-hosted Checkout page?

Stripe Embedded Checkout vs Hosted Checkout

If the customer should stay on my site, I use embedded Checkout: my server starts a Checkout Session and Stripe's payment form appears inside my page. If I want the fewest moving parts, I send them to the Stripe-hosted page, which Stripe runs from start to finish. Both are the same Stripe Checkout underneath, and both follow the same rule: nothing ships until Stripe's signed webhook confirms the payment.

Read the guide →
Should my platform onboard businesses with Stripe Connect embedded components or Stripe-hosted onboarding?

Stripe Embedded Components vs Hosted Onboarding

If the business owner should never leave my platform, I use Connect embedded components: my server opens an account session and Stripe's onboarding form appears inside my page. If I want the least to maintain, I send them to Stripe-hosted onboarding with a one-time link. Either way, coming back doesn't mean they finished. I check with Stripe for anything still due before I treat the account as ready.

Read the guide →
Should I embed Stripe's crypto onramp in my app or send people to the Stripe-hosted onramp?

Stripe Embedded Onramp vs Hosted Onramp

If buying crypto is part of my product, like funding a new wallet, I embed Stripe's onramp so the customer never leaves. If I only need to point people somewhere safe to buy, I send them to Stripe's hosted onramp, which needs almost no code. In both, Stripe checks the buyer's identity, takes the payment and delivers the crypto to their wallet. Neither works until Stripe approves your onramp application.

Read the guide →
Should I use Stripe's embedded Checkout or a Stripe Payment Link?

Stripe Embedded Checkout vs Payment Links

I use a Stripe Payment Link when I need to get paid without writing code: Stripe gives me a link, I share it, and Stripe runs the whole page. I use embedded Checkout when the payment has to happen inside my own site and be set up fresh for each order. Both take the card on Stripe's side, and with both I wait for Stripe's signed webhook before I deliver anything.

Read the guide →
What's the difference between an embedded payment and an embedded crypto onramp?

Stripe Embedded Payments vs Fiat-to-Crypto Onramp

An embedded payment is a customer paying my business for something I sell, and the money lands in my own Stripe account. An embedded crypto onramp is a customer buying cryptocurrency from Stripe, and the coins land in the customer's own wallet; my business isn't the seller. They can look alike on the page, but they're different Stripe products with different approvals, and I keep their records separate.

Read the guide →
Should I use Stripe Embedded Checkout or Stripe Elements?

Stripe Embedded Checkout vs Stripe Elements

When payment is its own step, I use Stripe Embedded Checkout: Stripe builds the whole form and I just give it a place on my page. When the payment fields have to sit inside a bigger form I control, I use Stripe Elements. Elements gives me more control and costs more work to build and maintain. Either way, Stripe collects the card, so it never reaches my server.

Read the guide →
Can my mobile app take Stripe payments in a webview, or does it need a native SDK?

Stripe Payments in a Mobile Webview vs Native SDK

A webview can run a working Stripe payment form, and for many apps that's the right call because it reuses the web checkout you already have. I'd switch to Stripe's native SDK when Apple Pay or Google Pay has to work reliably, when the payment sheet should feel native, or when bank sign-in redirects misbehave inside the app. What you sell matters too: app stores have their own rules for digital goods.

Read the guide →
Is a redirect to my success page proof that a Stripe payment went through?

Stripe Webhooks vs Success Page Redirects

No. A redirect only tells me where the customer's browser went, not what Stripe decided. The customer can close the tab, lose signal or open the success page directly, and some payment methods settle later. A signed Stripe webhook comes from Stripe's servers to mine, carries a signature I check, and is retried until I confirm it. I deliver from that, and I record it so a repeat can't deliver twice.

Read the guide →
Is a white-label payment platform the same as an embedded payment integration?

White-Label vs Embedded Payments with Stripe

No. White-label is about who owns the platform: you resell a vendor's payment product under your name, and the vendor usually holds the merchant account underneath. Embedded is about where the payment appears: inside your own page instead of on a provider's. You can have either without the other. The first question I'd ask is who holds the merchant account and your customers' saved cards, because that decides what leaving costs.

Read the guide →
How do I embed a Privy wallet in my website?

How to Embed a Privy Wallet in Your Website

To embed a Privy wallet in a website, run the wallet app on its own origin and frame it from the site. Three settings must agree: your Privy app's allowed origins must include the website, because Privy's iframe checks every frame ancestor in production; the wallet's Content-Security-Policy must name the website in frame-ancestors; and the website must size the frame, since it cannot measure a page from another origin. Card purchases through Stripe's onramp need a top-level page.

Read the guide →
How do I export or recover a Privy wallet?

How to Export or Recover a Privy Wallet

To export a Privy wallet, sign in to the app that created it and choose its export option: Privy opens its own window where you copy the private key, which Privy assembles on a different origin so neither the app nor Privy can see it. To use the wallet again on a new device, sign in with the same login method. Privy says it cannot recover an account whose only login method is lost, so an exported key, stored safely, is your backup.

Read the guide →

BUILT ON STRIPE, PRIVY AND BRIDGE

The provider documentation behind this page.

SET Wallet & Cash-Out runs on Privy and Bridge, and SET's payment builds run on Stripe. Each provider's own documentation is the final word on how its part works. Links checked on .

Stripe

Payments, Connect and the crypto onramp. Stripe completed its purchase of Bridge in February 2025 and announced it was acquiring Privy in June 2025.

Privy

The wallet: email sign-in and self-custodial wallets only you can spend from.

Bridge

Your US account number, the conversion to stablecoins, and cash-out to your bank.

Simple Easy Transactions is a separate company from Stripe, Privy and Bridge. It uses their services under its own accounts; they do not endorse SET.