Product simulations
See each SET product work, step by step.
6 walkthroughs, one per product, showing every step a buyer or an AI agent goes through, with the prices and limits the live products use. The two agent checks show results produced by SET's real code on a sample input.
Simulation only: synthetic data. Nothing on this page is sent, charged or created, and every address, key and payment id shown is fake.
AI Visibility Check, paid by an agent
$1.00 per check at POST /api/agent/ai-visibility, paid over MPP (the Machine Payments Protocol, an open HTTP 402 standard; here card or Link through a Stripe Shared Payment Token, or SPT, that is good for one charge) or x402 (Coinbase's open HTTP 402 standard for stablecoin payments), or with one prepaid credit
An AI agent buys a scored audit of one public page: which search and AI crawlers may read it, whether it can be indexed and quoted, and what to fix first. It pays in USDC (a US-dollar stablecoin issued by Circle) on Base (Coinbase's blockchain network), or by card or Link.
The check reads public pages only and implies no ranking, traffic or citation outcome. SET never sees or holds the agent's card, wallet or keys: Stripe issues the single-charge SPT and processes card and Link, Coinbase's facilitator settles USDC on Base, and the agent's wallet decides whether to pay under its owner's rules.
A GET on the paid route is free. It states the price, the payment methods, what the report contains and the published scoring rubric with its version, so an agent can decide before it is asked to pay.
The agent posts the page address. A private or malformed address is refused with 400 and never asked to pay; otherwise SET answers HTTP 402 Payment Required (the web's status code for "pay, then repeat the request"), listing every way to pay in one response.
The agent picks one way to pay and repeats the same request with proof of payment. Choose a method to see the request.
SET fetches the page, robots.txt, sitemap.xml, llms.txt and llms-full.txt, and tests whether http:// redirects to https://, within 15 seconds. The page is checked before the payment is taken; a check that fails is not charged.
What comes back depends on how the agent paid. Choose a method.
This report was produced by SET's real check (version 2.0.0, rubric 2026-10-11) against the synthetic site. It scored 85 of 100. Findings come most severe first, each with what was observed, why it matters and the fix.
If the connection drops, the agent repeats the same request with the same Idempotency-Key (a name the agent picks for this purchase) and gets the stored result without paying again. The stored report is returned exactly as first delivered. The same key with a different body is refused, so a key can never buy two different results.
Step 1 of 7: Look before paying
GET /api/agent/ai-visibility
HTTP/1.1 200 OK
{
"price": { "amount": "1.00", "currency": "usd", "unit": "check" },
"charging": "The page is checked before the payment is taken; a check that fails is not charged.",
"rubricVersion": "2026-10-11",
"returns": { "checkVersion": "2.0.0", … },
…
}Read every step as text
Look before paying
A GET on the paid route is free. It states the price, the payment methods, what the report contains and the published scoring rubric with its version, so an agent can decide before it is asked to pay.
GET /api/agent/ai-visibility HTTP/1.1 200 OK { "price": { "amount": "1.00", "currency": "usd", "unit": "check" }, "charging": "The page is checked before the payment is taken; a check that fails is not charged.", "rubricVersion": "2026-10-11", "returns": { "checkVersion": "2.0.0", … }, … }Ask without paying: get the price
The agent posts the page address. A private or malformed address is refused with 400 and never asked to pay; otherwise SET answers HTTP 402 Payment Required (the web's status code for "pay, then repeat the request"), listing every way to pay in one response.
POST /api/agent/ai-visibility HTTP/1.1 402 Payment Required WWW-Authenticate: Payment id="SIMULATED", realm="simpleeasytransactions.com", method="stripe", intent="charge", request="…" ($1.00, card or Link) WWW-Authenticate: Payment id="SIMULATED", realm="simpleeasytransactions.com", method="evm", intent="charge", request="…" (1 USDC on Base) PAYMENT-REQUIRED: <base64 x402 v2: scheme "exact", network "eip155:8453", amount "1000000" (1 USDC), payTo 0x5151515151515151515151515151515151515151, extensions: bazaar (how to call this route) and builder-code (SET's Base Builder Code)> Cache-Control: no-storePay with card, Link, USDC or a credit
The agent picks one way to pay and repeats the same request with proof of payment. Choose a method to see the request.
Card or Link (MPP)
The agent's wallet, for example Link CLI's "link-cli mpp pay", asks for $1.00 under its owner's rules, gets a Stripe SPT limited to this charge, and repeats the request with the credential.
POST /api/agent/ai-visibility Authorization: Payment <credential carrying spt_SIMULATED_0001> Idempotency-Key: sim-order-0001 { "url": "bakery.example.org" }USDC on Base (x402)
The agent's wallet signs a transfer of 1 USDC on Base to the address in PAYMENT-REQUIRED and repeats the request with the signature.
POST /api/agent/ai-visibility PAYMENT-SIGNATURE: <base64 x402 v2 payload: EIP-3009 authorization, SIMULATED> Idempotency-Key: sim-order-0001 { "url": "bakery.example.org" }Prepaid SET Agent Credits
An agent that calls often sends a prepaid key instead of paying per call; one fulfilled request spends one call, and a refused one spends nothing. Plans: 25 calls for $20 (valid 365 days), 100 calls for $70 (valid 365 days), 50 calls for $29 a month (unused calls do not roll over); listed free at GET /api/agent/credits.
POST /api/agent/ai-visibility Authorization: Bearer setk_live_SIMULATED_KEY_NOT_REAL Idempotency-Key: sim-order-0001 { "url": "bakery.example.org" }SET checks the page before charging
SET fetches the page, robots.txt, sitemap.xml, llms.txt and llms-full.txt, and tests whether http:// redirects to https://, within 15 seconds. The page is checked before the payment is taken; a check that fails is not charged.
Fetched for bakery.example.org (synthetic site)
- Page
- HTTP 200, 560 characters of server-rendered text
- robots.txt
- found, Sitemap line: yes
- sitemap.xml
- valid sitemap
- llms.txt
- missing
- http:// to https://
- redirects
SET takes the payment and delivers with a receipt
What comes back depends on how the agent paid. Choose a method.
Card or Link
SET confirms the PaymentIntent (Stripe's record of one payment) with Stripe server to server, and the response carries a Payment-Receipt header naming it. SET writes the result to its ledger, and Stripe's signed payment_intent.succeeded webhook reconciles that row; a client message is never the record.
HTTP/1.1 200 OK Content-Type: application/json Payment-Receipt: <base64 { "status": "success", "reference": "pi_SIMULATED_0001" }> Cache-Control: no-storeUSDC on Base
Coinbase's facilitator (the service that checks the signed transfer and submits it on Base) settles the USDC on Base to SET's Stripe deposit address. The response carries PAYMENT-RESPONSE with the transaction hash, and Payment-Receipt names the same hash. Stripe records the deposit as a PaymentIntent, and its signed webhook reconciles the ledger row by that hash.
HTTP/1.1 200 OK Content-Type: application/json PAYMENT-RESPONSE: <base64 { "success": true, "transaction": "0xSIMULATED000000000000000000000000000000000000000000000000000001", "network": "eip155:8453" }> Payment-Receipt: <base64 { "status": "success", "reference": "0xSIMULATED000000000000000000000000000000000000000000000000000001" }> Cache-Control: no-storeCredits key
No payment is taken: one call is spent from the key, in the same ledger, and the response names the usage. A credits call is spent only when the check succeeds.
HTTP/1.1 200 OK Content-Type: application/json SET-Credits-Usage: acu_SIMULATED Cache-Control: no-store
Read the score and the fix list
This report was produced by SET's real check (version 2.0.0, rubric 2026-10-11) against the synthetic site. It scored 85 of 100. Findings come most severe first, each with what was observed, why it matters and the fix.
Findings
Most severe first; information-only findings cost no points.
Score 85/100: findings for bakery.example.org Severity Points lost Observed Fix high 3 robots.txt blocks PerplexityBot from this page. Allow PerplexityBot on this path if you want the page available to those services. medium 4 The page has no JSON-LD structured data. Add a JSON-LD block describing the business (Organization) and the page. medium 3 The page has no meta description. Add a meta description of one or two plain sentences about the page. low 2 Open Graph tags missing: og:image. Add og:title, og:description and og:image meta tags. info 0 robots.txt blocks GPTBot from this page. No change needed unless you want to allow training use. info 0 No /llms.txt was found. Optional: publish /llms.txt with an H1, a one-line summary and links to your key pages. Crawlers (15)
Each crawler's robots.txt verdict for this page, with the rule that decided it. Blocking training crawlers is a business choice and costs no points.
robots.txt verdict per crawler Crawler Role Allowed Deciding rule Googlebot Search yes Allow: / Bingbot Search yes Allow: / Applebot Search yes Allow: / OAI-SearchBot AI answers yes Allow: / Claude-SearchBot AI answers yes Allow: / Claude-User AI answers yes Allow: / PerplexityBot AI answers no Disallow: / DuckAssistBot AI answers yes Allow: / GPTBot AI training no Disallow: / ClaudeBot AI training yes Allow: / Google-Extended AI training yes Allow: / Applebot-Extended AI training yes Allow: / CCBot AI training yes Allow: / Meta-ExternalAgent AI training yes Allow: / Amazonbot AI training yes Allow: / Limits
Stated in every paid result, so an agent never reads more into it than the check can see.
What the check cannot see
- 1
- Reads robots.txt rules and page markup only; firewall or CDN bot rules are not visible.
- 2
- Leaves out fetchers whose vendors say they may ignore robots.txt (ChatGPT-User, Perplexity-User, Meta-ExternalFetcher, Amzn-User).
- 3
- Implies no ranking, traffic or AI citation outcome.
- 4
- The score follows SET's published rubric (rubricVersion); it is not a measure any search or AI engine uses.
- 5
- Checks one page in one fetch from SET's server: the response, its timing and the HTML can differ for other visitors and crawlers, and text added by JavaScript after load is not seen.
Retry safely
If the connection drops, the agent repeats the same request with the same Idempotency-Key (a name the agent picks for this purchase) and gets the stored result without paying again. The stored report is returned exactly as first delivered. The same key with a different body is refused, so a key can never buy two different results.
POST /api/agent/ai-visibility Idempotency-Key: sim-order-0001 { "url": "bakery.example.org" } HTTP/1.1 200 OK Idempotent-Replayed: true (the stored result; no second charge) Same key, different body: HTTP/1.1 409 Conflict { "error": "idempotency_key_conflict" }
Check one page free →Free description: GET /api/agent/ai-visibility →Read the guide: AI visibility audits →
Agent Payment Readiness Assessment
$1.00 per assessment at POST /api/agent/readiness, paid by card or Link over MPP (the Machine Payments Protocol, an open HTTP 402 standard; here card or Link through a Stripe Shared Payment Token, or SPT, that is good for one charge), USDC (a US-dollar stablecoin issued by Circle) on Base (Coinbase's blockchain network) over x402 (Coinbase's open HTTP 402 standard for stablecoin payments), or one prepaid credit; also a tool over MCP (the Model Context Protocol, a standard way for AI agents to call tools)
An agent describes a payment workflow it is building and gets back the controls blocking it, in the order to fix them. The disposition is the overall verdict: not_ready while anything is missing or unknown.
The assessment classifies what the buyer declares; it verifies nothing independently and authorizes no payment (executionAuthorized is always false). SET never sees or holds the agent's card, wallet or keys: Stripe issues the single-charge SPT and processes card and Link, Coinbase's facilitator settles USDC on Base, and the agent's wallet decides whether to pay under its owner's rules.
A GET on the paid route is free: it states the price, the unit (one assessment), that the body needs the workflow and every capability, and the Terms version, and it says execution is never authorized.
The buyer declares the status of all 10 capabilities, from machine discovery to recovery and reconciliation: implemented, partial, missing or unknown, with optional evidence. This synthetic declaration is for an invoice-paying agent still in sandbox. An Idempotency-Key header (a name the agent picks for this purchase) makes retries safe.
The declaration is validated before any price is quoted, so a malformed one is refused with 400 and never asked to pay. A valid one is answered with HTTP 402 Payment Required (the web's status code for "pay, then repeat the request") and every way to pay.
The agent picks one way to pay and repeats the same request with proof of payment. Choose a method to see the request.
What comes back depends on how the agent paid. Choose a method.
Produced by SET's real ruleset (2026-09-28.1) from the declaration above: disposition "not_ready", with 6 blocking controls in the order to fix them.
The same assessment is a tool on SET's MCP server. An unpaid tools/call answers with JSON-RPC error -32042 (MCP's way of saying payment is required) and the challenge, plus the HTTP endpoint and where to buy prepaid credits. Payment inside MCP is card or Link only; for USDC on Base, call the HTTP endpoint named in alternatives.
If the connection drops, the agent repeats the same request with the same Idempotency-Key (a name the agent picks for this purchase) and gets the stored result without paying again. The stored artifact is returned unchanged. The same key with a different body is refused, so a key can never buy two different results.
Step 1 of 8: Look before paying
GET /api/agent/readiness
HTTP/1.1 200 OK
{
"price": { "amount": "1.00", "currency": "usd", "unit": "assessment" },
"requires": ["JSON body: workflow and all ten capabilities"],
"executionAuthorized": false,
…
}Read every step as text
Look before paying
A GET on the paid route is free: it states the price, the unit (one assessment), that the body needs the workflow and every capability, and the Terms version, and it says execution is never authorized.
GET /api/agent/readiness HTTP/1.1 200 OK { "price": { "amount": "1.00", "currency": "usd", "unit": "assessment" }, "requires": ["JSON body: workflow and all ten capabilities"], "executionAuthorized": false, … }Describe the workflow
The buyer declares the status of all 10 capabilities, from machine discovery to recovery and reconciliation: implemented, partial, missing or unknown, with optional evidence. This synthetic declaration is for an invoice-paying agent still in sandbox. An Idempotency-Key header (a name the agent picks for this purchase) makes retries safe.
Declared: Example invoice agent Capability Declared status machine discovery implemented payment challenge and receipt implemented idempotency partial webhook verification implemented durable fulfillment missing user authentication implemented wallet ownership unknown onramp provider handoff missing delivery evidence partial recovery and reconciliation missing Ask without paying: get the price
The declaration is validated before any price is quoted, so a malformed one is refused with 400 and never asked to pay. A valid one is answered with HTTP 402 Payment Required (the web's status code for "pay, then repeat the request") and every way to pay.
POST /api/agent/readiness HTTP/1.1 402 Payment Required WWW-Authenticate: Payment id="SIMULATED", realm="simpleeasytransactions.com", method="stripe", intent="charge", request="…" ($1.00, card or Link) WWW-Authenticate: Payment id="SIMULATED", realm="simpleeasytransactions.com", method="evm", intent="charge", request="…" (1 USDC on Base) PAYMENT-REQUIRED: <base64 x402 v2: scheme "exact", network "eip155:8453", amount "1000000" (1 USDC), payTo 0x5151515151515151515151515151515151515151, extensions: bazaar (how to call this route) and builder-code (SET's Base Builder Code)> Cache-Control: no-storePay with card, Link, USDC or a credit
The agent picks one way to pay and repeats the same request with proof of payment. Choose a method to see the request.
Card or Link (MPP)
The agent's wallet, for example Link CLI's "link-cli mpp pay", asks for $1.00 under its owner's rules, gets a Stripe SPT limited to this charge, and repeats the request with the credential.
POST /api/agent/readiness Authorization: Payment <credential carrying spt_SIMULATED_0001> Idempotency-Key: sim-order-0001 { "workflow": { … }, "capabilities": { … all 10 … } }USDC on Base (x402)
The agent's wallet signs a transfer of 1 USDC on Base to the address in PAYMENT-REQUIRED and repeats the request with the signature.
POST /api/agent/readiness PAYMENT-SIGNATURE: <base64 x402 v2 payload: EIP-3009 authorization, SIMULATED> Idempotency-Key: sim-order-0001 { "workflow": { … }, "capabilities": { … all 10 … } }Prepaid SET Agent Credits
An agent that calls often sends a prepaid key instead of paying per call; one fulfilled request spends one call, and a refused one spends nothing. Plans: 25 calls for $20 (valid 365 days), 100 calls for $70 (valid 365 days), 50 calls for $29 a month (unused calls do not roll over); listed free at GET /api/agent/credits.
POST /api/agent/readiness Authorization: Bearer setk_live_SIMULATED_KEY_NOT_REAL Idempotency-Key: sim-order-0001 { "workflow": { … }, "capabilities": { … all 10 … } }SET takes the payment and delivers with a receipt
What comes back depends on how the agent paid. Choose a method.
Card or Link
SET confirms the PaymentIntent (Stripe's record of one payment) with Stripe server to server, and the response carries a Payment-Receipt header naming it. SET writes the result to its ledger, and Stripe's signed payment_intent.succeeded webhook reconciles that row; a client message is never the record.
HTTP/1.1 200 OK Content-Type: application/json Payment-Receipt: <base64 { "status": "success", "reference": "pi_SIMULATED_0001" }> Cache-Control: no-storeUSDC on Base
Coinbase's facilitator (the service that checks the signed transfer and submits it on Base) settles the USDC on Base to SET's Stripe deposit address. The response carries PAYMENT-RESPONSE with the transaction hash, and Payment-Receipt names the same hash. Stripe records the deposit as a PaymentIntent, and its signed webhook reconciles the ledger row by that hash.
HTTP/1.1 200 OK Content-Type: application/json PAYMENT-RESPONSE: <base64 { "success": true, "transaction": "0xSIMULATED000000000000000000000000000000000000000000000000000001", "network": "eip155:8453" }> Payment-Receipt: <base64 { "status": "success", "reference": "0xSIMULATED000000000000000000000000000000000000000000000000000001" }> Cache-Control: no-storeCredits key
No payment is taken: one call is spent from the key, in the same ledger, and the response names the usage.
HTTP/1.1 200 OK Content-Type: application/json SET-Credits-Usage: acu_SIMULATED Cache-Control: no-store
Read the blocking controls, in order
Produced by SET's real ruleset (2026-09-28.1) from the declaration above: disposition "not_ready", with 6 blocking controls in the order to fix them.
Disposition: not_ready · ara_SIMULATED… Priority Capability Action 1 idempotency Bind retries to one stable logical request and prevent duplicate fulfillment. 2 durable fulfillment Persist payment and fulfillment state across process restarts. 3 wallet ownership Record and verify who controls each destination wallet. 4 onramp provider handoff Validate provider eligibility and require explicit authorization before handoff. 5 delivery evidence Record independently reconcilable delivery evidence before entitlement release. 6 recovery and reconciliation Reconcile ambiguous outcomes before accepting another payment or provider action. Or call it as an MCP tool
The same assessment is a tool on SET's MCP server. An unpaid tools/call answers with JSON-RPC error -32042 (MCP's way of saying payment is required) and the challenge, plus the HTTP endpoint and where to buy prepaid credits. Payment inside MCP is card or Link only; for USDC on Base, call the HTTP endpoint named in alternatives.
POST /api/mcp { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "agent_payment_readiness_assessment", "arguments": { … } } } { "jsonrpc": "2.0", "id": 1, "error": { "code": -32042, "message": "Payment Required", "data": { …card or Link challenge…, "alternatives": { "http": { "url": "https://simpleeasytransactions.com/api/agent/readiness" }, "credits": { "url": "https://simpleeasytransactions.com/api/agent/credits" } } } } }Retry safely
If the connection drops, the agent repeats the same request with the same Idempotency-Key (a name the agent picks for this purchase) and gets the stored result without paying again. The stored artifact is returned unchanged. The same key with a different body is refused, so a key can never buy two different results.
POST /api/agent/readiness Idempotency-Key: sim-order-0001 { "workflow": { … }, "capabilities": { … all 10 … } } HTTP/1.1 200 OK Idempotent-Replayed: true (the stored result; no second charge) Same key, different body: HTTP/1.1 409 Conflict { "error": "idempotency_key_conflict" }
Free description: GET /api/agent/readiness →Read the guide: x402 vs MPP →The endpoint contract (openapi.json) →
SET Private Wallet sign-up
SET Private Wallets: free to open, 3% per bank deposit and cash-out
A person opens a Privy wallet with an email, adds money by card or bank deposit, and cashes USDC (a US-dollar stablecoin issued by Circle) on Base (Coinbase's blockchain network) out to a US bank by ACH (the US bank-to-bank transfer network).
Privy creates self-custodial wallets: only you can approve a send, and SET never holds your funds or your keys. Bridge (the regulated money-movement company Stripe acquired) verifies you and moves money between your bank and your wallet under its money transmitter licenses; Stripe runs card purchases as merchant of record (the seller responsible for the purchase) and decides eligibility.
At wallet.simpleeasytransactions.com, or in the wallet frame on simpleeasytransactions.com/wallets. Both open the same wallet with the same email sign-in.
Enter the one-time code. Privy creates your wallets in the same step: Ethereum-compatible (this one is your Base address), Solana and Bitcoin.
The wallet lists it under Ethereum, Base, Polygon, Avalanche, with a Copy button. Anyone can send USDC on Base to it.
Three ways to fund the wallet. Choose one to see what happens.
Open the Cash out tab in your Private Wallet, verify once with Bridge, and link your US bank account. Enter an amount from 5 to 1,000 USDC. Bridge gives you a deposit address for that one cash-out; you approve a single USDC send on Base from your Privy wallet, Bridge converts it to dollars and pays your bank by ACH. The 3% fee is withheld from the payout and shown before you confirm.
You do. Privy's wallets are non-custodial: keys are protected in secure enclaves and sharded so they are never stored whole, and only you can approve a transaction. Bridge moves the money between your bank and your wallet under its money transmitter licenses. SET never holds your funds or your keys.
Step 1 of 6: Sign in with your email
SET Wallet · Sign in
- you@example.com
- Next
- enter the one-time code
Read every step as text
Sign in with your email
At wallet.simpleeasytransactions.com, or in the wallet frame on simpleeasytransactions.com/wallets. Both open the same wallet with the same email sign-in.
SET Wallet · Sign in
- you@example.com
- Next
- enter the one-time code
Enter the one-time code
Enter the one-time code. Privy creates your wallets in the same step: Ethereum-compatible (this one is your Base address), Solana and Bitcoin.
Your wallets (simulated)
- Ethereum-compatible (Base)
- 0x5151515151515151515151515151515151515151
- Solana
- SoLSIMULATED1111111111111111111111111111111
- Bitcoin
- bc1qsimulated0000000000000000000000000000
Enter the one-time code and Privy creates your wallets: Ethereum-compatible, Solana and Bitcoin. Only you can approve a send, and you can export each key.
Copy your Base address
The wallet lists it under Ethereum, Base, Polygon, Avalanche, with a Copy button. Anyone can send USDC on Base to it.
Receive USDC on Base
- Address
- 0x5151515151515151515151515151515151515151
- Network
- Base
- Action
- Copy
Add money
Three ways to fund the wallet. Choose one to see what happens.
Card (Stripe)
The wallet embeds Stripe's crypto onramp, so you can buy USDC, ETH, Bitcoin, SOL, POL or AVAX with a card, from $10 to $500 per purchase, delivered to your own Privy wallet. The destination is locked to your wallet. Stripe runs the identity check, quote, fees and payment as merchant of record, and decides eligibility; it is available to US residents except Hawaii. SET adds no fee to card purchases and never receives your payment.
Buy crypto with a card
- Provider
- Stripe
- Per purchase
- $10 to $500
- Assets
- USDC, ETH, Bitcoin, SOL, POL or AVAX
- Destination
- locked to your wallet
Bank deposit (Bridge)
Bridge, the regulated money-movement company Stripe acquired, checks your identity on its own pages. One check covers deposits and cash-outs. Choose the stablecoin and chain you want. Bridge issues US account and routing numbers in your name for ACH, wire and FedNow. (FedNow is the Federal Reserve's instant-payment network.) SET's fee is 3%, withheld by Bridge and shown before you confirm.
Your account number (simulated)
- Account
- ••••0000 (simulated)
- Routing
- 000000000 (simulated)
- Example
- Deposit $100 from your bank
- SET fee
- $3.00
- Arrives
- 97 USDC is converted to your wallet
USDC sent to you
Anyone can send USDC on Base to it. Opening a Private Wallet and receiving your deposit details is free. SET charges a 3% service fee on each bank deposit and each cash-out, which Bridge withholds from the amount it converts or pays out and which is shown before you confirm.
Incoming (simulated)
- From
- 0x7171717171717171717171717171717171717171
- Amount
- 50.00 USDC on Base
- SET fee
- none
Cash out to your bank
Open the Cash out tab in your Private Wallet, verify once with Bridge, and link your US bank account. Enter an amount from 5 to 1,000 USDC. Bridge gives you a deposit address for that one cash-out; you approve a single USDC send on Base from your Privy wallet, Bridge converts it to dollars and pays your bank by ACH. The 3% fee is withheld from the payout and shown before you confirm.
Cash out (simulated)
- Amount
- Cash out 100 USDC
- Limits
- 5 USDC to 1,000 USDC per cash-out, USDC on Base by ACH
- SET fee
- $3.00
- To your bank
- $97.00 is paid out to your bank by ACH
Know who holds what
You do. Privy's wallets are non-custodial: keys are protected in secure enclaves and sharded so they are never stored whole, and only you can approve a transaction. Bridge moves the money between your bank and your wallet under its money transmitter licenses. SET never holds your funds or your keys.
Custody
- Your keys
- Privy wallet, approved only by you
- Bank to wallet, wallet to bank
- Bridge, under its licenses
- SET
- never holds your funds or keys
Embedded Payments Platform onboarding
From $149 a month plus 1% of each payment, on SET's Stripe Connect platform (Stripe's service for platforms that take payments for other businesses)
A US business picks a plan, signs the Order Form, verifies with Stripe, and after SET's review and build takes payments under its own name.
Your business is the merchant of record (the seller named on the payment and card statement, responsible for refunds and disputes): payments settle to your own Stripe account and SET never holds them. Stripe verifies your business and decides which payment methods you can accept; SET reviews each order before anything is billed.
Pick a plan, the features you need, where customers will pay (website, customer portal, web application, mobile webview), your business and its people, and confirm each statement in Order Form section 8. Saving your details gives you a private link to resume later.
The Order Form shows the plan, fees and terms with its SHA-256 fingerprint, so any later change to the signed copy can be detected. You agree to the Terms of Service, the Privacy Policy and the Order Form, confirm you are at least 18 and authorized to sign, and sign electronically by typing your name.
SET's platform opens a Stripe account in your business's name, and Stripe's own form, inside the page, collects and checks your business and banking details; SET never sees your ID numbers or bank details. When Stripe is done, you confirm and the order goes to review.
SET reviews every application and emails its decision. When accepted, SET countersigns the Order Form and contacts you to schedule the build and set up the monthly platform subscription. Nothing is billed until SET accepts your order and Stripe shows your account can accept live card payments.
Estimated build window after the written agreement, completed Stripe onboarding, and required access: 10–20 business days. Stripe's verification time is excluded. This is a scheduling estimate, not a guaranteed completion date.
Customers pay in an embedded checkout on your site. Your name is on the payment and the card statement, and each payment settles to your Stripe account. SET's 1% is collected by Stripe from each payment at SET's direction. If you refund a customer, SET returns its 1% on the refunded amount.
Step 1 of 6: Choose a plan and describe your business
The monthly fee plus SET's per-payment fee; Stripe's own processing fees are separate.
| Plan | Price | What it covers |
|---|---|---|
| Standard | $149 a month + 1% per payment | One embedded checkout for one-time payments. |
| Growth | $299 a month + 1% per payment | Adds subscriptions, several products or prices, and invoicing. |
Read every step as text
Choose a plan and describe your business
Pick a plan, the features you need, where customers will pay (website, customer portal, web application, mobile webview), your business and its people, and confirm each statement in Order Form section 8. Saving your details gives you a private link to resume later.
Plans
The monthly fee plus SET's per-payment fee; Stripe's own processing fees are separate.
Plans Plan Price What it covers Standard $149 a month + 1% per payment One embedded checkout for one-time payments. Growth $299 a month + 1% per payment Adds subscriptions, several products or prices, and invoicing. Order Form section 8
Every statement must be confirmed before you can sign.
Client confirmations (Order Form section 8)
- ☑ 1
- Client is a business organized and operating in the United States and is buying for business purposes.
- ☑ 2
- Client is the seller and merchant of record for its own sales, and is responsible for its customers' refunds, disputes, chargebacks, customer service, and its own terms of sale and privacy policy.
- ☑ 3
- Client will complete Stripe's onboarding and accept the Stripe Connected Account Agreement (https://stripe.com/connect-account/legal/full).
- ☑ 4
- Client's business and products are not prohibited or restricted by Stripe (https://stripe.com/legal/restricted-businesses) without Stripe's approval.
- ☑ 5
- Client will grant system access through a secure channel and will not send passwords or API secret keys by email or the inquiry form.
Review and sign the Order Form
The Order Form shows the plan, fees and terms with its SHA-256 fingerprint, so any later change to the signed copy can be detected. You agree to the Terms of Service, the Privacy Policy and the Order Form, confirm you are at least 18 and authorized to sign, and sign electronically by typing your name.
Order Form (simulated)
- Business
- Example Bakery LLC
- Plan
- Standard, $149 a month + 1%
- Fingerprint
- sha256:SIMULATED…
- Signature
- typed name, electronic
Verify your business with Stripe
SET's platform opens a Stripe account in your business's name, and Stripe's own form, inside the page, collects and checks your business and banking details; SET never sees your ID numbers or bank details. When Stripe is done, you confirm and the order goes to review.
Stripe verification (simulated)
- Account
- acct_SIMULATED
- Business details
- collected by Stripe
- Bank account
- collected by Stripe
- Next
- I've finished with Stripe
SET reviews the order
SET reviews every application and emails its decision. When accepted, SET countersigns the Order Form and contacts you to schedule the build and set up the monthly platform subscription. Nothing is billed until SET accepts your order and Stripe shows your account can accept live card payments.
Your order is accepted (simulated)
- Order Form
- OF-SIMULATED-0001
- Countersigned
- by SET
- Next
- build scheduling and the monthly subscription
SET builds your checkout
Estimated build window after the written agreement, completed Stripe onboarding, and required access: 10–20 business days. Stripe's verification time is excluded. This is a scheduling estimate, not a guaranteed completion date.
Build (simulated)
- Surface
- Website
- Checkout
- embedded, under your business name
- Starts after
- the written agreement, completed Stripe onboarding and required access
Take payments under your own name
Customers pay in an embedded checkout on your site. Your name is on the payment and the card statement, and each payment settles to your Stripe account. SET's 1% is collected by Stripe from each payment at SET's direction. If you refund a customer, SET returns its 1% on the refunded amount.
A customer payment (simulated)
- Customer pays
- $100
- Merchant of record
- Example Bakery LLC
- SET platform fee
- $1 (1%)
- Settles to
- your Stripe account (Stripe's processing fees separate)
Global USDC payouts and Bridge cash-out
SET Payouts: Free for up to 5 people a month, Starter $29 a month for up to 25 people a month, Growth $99 a month for up to 100 people a month; no SET fee per payout
A US business pays an overseas team in USDC (a US-dollar stablecoin issued by Circle) on Base (Coinbase's blockchain network) from one list, gets a report for its books, and cashes USDC out to its bank by ACH (the US bank-to-bank transfer network) through Bridge (the regulated money-movement company Stripe acquired).
You approve each send in Privy. Nothing is sent automatically, and SET cannot send for you. SET never holds your money or your keys. SET is not a bank, a payroll provider or an employer of record. Sends are final. A payment on a blockchain cannot be reversed, so check each address and its network before you pay. Recipients get USDC on Base. SET does not pay bank accounts in local currency; converting USDC is up to each recipient. Bridge pays cash-outs under its licenses. Bridge decides who it can serve.
Enter the one-time code and Privy creates your business wallet. Only you can approve a send from it.
The plan sets how many people you can pay each month; every plan keeps the same batch rules and charges no SET fee per payout. You can pay up to your plan's number of people in a calendar month. Upgrade from Payouts in your wallet, which opens Stripe Checkout.
Send USDC on Base you already hold (no SET fee), buy it with a card through Stripe, or deposit from your bank to your own account number. Keep a little ETH on Base for network fees. (ETH is Base's own coin, used to pay network fees.) Funding with USDC you already hold carries no SET fee; buying USDC with a card carries Stripe's fees, and a bank deposit to your own account number from Bridge carries SET's 3% fee.
One line per person: their Base address, the amount in USDC and, if you like, a private reference. SET checks every line before anything is recorded. The rules: up to 50 recipients, 1.00 to 2,500.00 USDC each and 10,000.00 USDC per batch.
Approve each send in Privy's confirmation screen.
A confirmation is each new Base block after the one holding your payment. SET marks each line paid after 3 of them.
Each batch downloads as a CSV with the line number, your private reference, the recipient address, the amount, the status, the transaction hash and a block explorer link. References stay in your browser and the CSV; SET's server stores only addresses and amounts.
Open the Cash out tab in your Private Wallet, verify once with Bridge, and link your US bank account. Enter an amount from 5 to 1,000 USDC. Bridge gives you a deposit address for that one cash-out; you approve a single USDC send on Base from your Privy wallet, Bridge converts it to dollars and pays your bank by ACH. The 3% fee is withheld from the payout and shown before you confirm.
Step 1 of 8: Sign in with your email
SET Wallet · Sign in
- owner@example.com
- Wallet
- 0x5151515151515151515151515151515151515151
Read every step as text
Sign in with your email
Enter the one-time code and Privy creates your business wallet. Only you can approve a send from it.
SET Wallet · Sign in
- owner@example.com
- Wallet
- 0x5151515151515151515151515151515151515151
Start on Free; upgrade to pay more people
The plan sets how many people you can pay each month; every plan keeps the same batch rules and charges no SET fee per payout. You can pay up to your plan's number of people in a calendar month. Upgrade from Payouts in your wallet, which opens Stripe Checkout.
SET Payouts plans Plan Price People a month Free Free 5 Starter $29 a month 25 Growth $99 a month 100 Add USDC and a little ETH
Send USDC on Base you already hold (no SET fee), buy it with a card through Stripe, or deposit from your bank to your own account number. Keep a little ETH on Base for network fees. (ETH is Base's own coin, used to pay network fees.) Funding with USDC you already hold carries no SET fee; buying USDC with a card carries Stripe's fees, and a bank deposit to your own account number from Bridge carries SET's 3% fee.
Business wallet (simulated)
- USDC on Base
- 2,000.00
- ETH on Base
- a little, for network fees
- Address
- 0x5151515151515151515151515151515151515151
Paste your list
One line per person: their Base address, the amount in USDC and, if you like, a private reference. SET checks every line before anything is recorded. The rules: up to 50 recipients, 1.00 to 2,500.00 USDC each and 10,000.00 USDC per batch.
Batch (simulated): 3 lines, 1,525.50 USDC Line Reference Recipient USDC 1 design-oct 0x6161616161616161616161616161616161616161 250.00 2 dev-oct 0x6262626262626262626262626262626262626262 1,200.00 3 writing-oct 0x6363636363636363636363636363636363636363 75.50 Approve each send
Approve each send in Privy's confirmation screen.
Privy confirmation (simulated)
- Send
- 250.00 USDC on Base
- To
- 0x6161616161616161616161616161616161616161
- Network fee
- shown in ETH before you approve
- Action
- Approve
Each payout is marked paid after 3 confirmations
A confirmation is each new Base block after the one holding your payment. SET marks each line paid after 3 of them.
Batch status (simulated) Line Status Transaction 1 paid 0xSIMULATED000000000000000000000000000000000000000000000000000001 2 paid 0xSIMULATED000000000000000000000000000000000000000000000000000002 3 paid 0xSIMULATED000000000000000000000000000000000000000000000000000003 Download one report
Each batch downloads as a CSV with the line number, your private reference, the recipient address, the amount, the status, the transaction hash and a block explorer link. References stay in your browser and the CSV; SET's server stores only addresses and amounts.
Report (simulated) Line Reference Recipient Amount Status Transaction hash Block explorer link 1 design-oct 0x6161616161616161616161616161616161616161 250.00 paid 0xSIMULATED000000000000000000000000000000000000000000000000000001 explorer link (simulated) 2 dev-oct 0x6262626262626262626262626262626262626262 1,200.00 paid 0xSIMULATED000000000000000000000000000000000000000000000000000002 explorer link (simulated) 3 writing-oct 0x6363636363636363636363636363636363636363 75.50 paid 0xSIMULATED000000000000000000000000000000000000000000000000000003 explorer link (simulated) Cash USDC out to your bank through Bridge
Open the Cash out tab in your Private Wallet, verify once with Bridge, and link your US bank account. Enter an amount from 5 to 1,000 USDC. Bridge gives you a deposit address for that one cash-out; you approve a single USDC send on Base from your Privy wallet, Bridge converts it to dollars and pays your bank by ACH. The 3% fee is withheld from the payout and shown before you confirm.
Cash out (simulated)
- Amount
- Cash out 100 USDC
- Bridge deposit address
- 0x7272727272727272727272727272727272727272 (this cash-out only)
- SET fee
- $3.00
- To your bank
- $97.00 is paid out to your bank by ACH
- Who can use it
- US residents, except residents of New York, whom Bridge does not serve. You verify your identity once with Bridge before your deposit details are issued.
SET Cash-Out Address
Pay as you go: 1.5% per cash-out; Pro: 0.5% for $29 a month
A person who holds USDC (a US-dollar stablecoin issued by Circle) gets one permanent address, on Base (Coinbase's blockchain network) or Solana (another blockchain network), that pays their own US bank by ACH (the US bank-to-bank transfer network) whenever they send to it.
Who holds the money? You do, until you send it. Your SET Wallet is self-custodial: Privy creates it and only you can approve a send. Once you send USDC to your Cash-Out Address, Bridge converts it and pays your bank under its own money transmission licenses. SET never holds your funds or your keys. Bridge is the regulated company that converts your USDC and pays your bank; SET does not. In Bridge's words: "Money transmission services for applicable services provided to US residents are provided by Bridge Building Inc NMLS # 2450917." Bridge decides through its identity check whom it can serve.
Enter your email and the one-time code. Privy, the wallet provider SET uses, creates your self-custodial wallet; only you can approve a send from it.
Bridge checks your identity on its own pages and you link your US bank account. Bridge decides who it can serve.
Choose Base or Solana. Bridge creates a permanent USDC address tied to your bank account, set up as a transfer to yourself, with SET's fee for your plan.
Pay as you go has no subscription: SET's fee is 1.5% of each cash-out, so $1.50 on 100 USDC. Pro is $29 a month and SET's fee drops to 0.5%, so $0.50 on 100 USDC. Bridge withholds SET's fee from each cash-out. Pro costs less overall once you cash out more than $2,900 in a month. Your send also pays a small network fee from the wallet you send from. Start Pro from SET Wallet, or with the Start Pro link on the Cash-Out Address page using the same email you sign in to SET Wallet with, so SET can match the subscription to your wallet. When your plan changes, SET changes the fee on your address automatically. Cancel any time in Stripe's customer portal, opened from SET Wallet; Pro lasts until the end of the period you paid for, then your fee returns to 1.5%.
Send at least 2 USDC from a wallet you control. Bridge converts it and pays your bank by ACH, which Bridge processes daily. Bridge's documentation says the address "automatically drains any funds sent to it".
Bridge pays out by ACH, which it describes as a batch rail where funds are queued and processed daily. SET does not promise an arrival time, and your bank's own posting time applies after Bridge sends the payment.
Step 1 of 6: Sign in to SET Wallet
SET Wallet · Sign in
- you@example.com
- Wallet
- 0x5151515151515151515151515151515151515151
Read every step as text
Sign in to SET Wallet
Enter your email and the one-time code. Privy, the wallet provider SET uses, creates your self-custodial wallet; only you can approve a send from it.
SET Wallet · Sign in
- you@example.com
- Wallet
- 0x5151515151515151515151515151515151515151
Verify with Bridge and link your bank
Bridge checks your identity on its own pages and you link your US bank account. Bridge decides who it can serve.
Bridge verification (simulated)
- Identity
- checked by Bridge on its own pages
- Bank account
- ••••0000 (simulated)
- Not served
- Bridge does not onboard customers whose principal residential or operating address is in New York, and in Texas it supports first-party flows only.
Get your Cash-Out Address
Choose Base or Solana. Bridge creates a permanent USDC address tied to your bank account, set up as a transfer to yourself, with SET's fee for your plan.
Your Cash-Out Address (simulated)
- Network
- Base
- Address
- 0x8181818181818181818181818181818181818181
- Pays
- your bank ••••0000 by ACH
- Plan
- Pay as you go, 1.5%
Stay on Pay as you go, or upgrade to Pro
Pay as you go has no subscription: SET's fee is 1.5% of each cash-out, so $1.50 on 100 USDC. Pro is $29 a month and SET's fee drops to 0.5%, so $0.50 on 100 USDC. Bridge withholds SET's fee from each cash-out. Pro costs less overall once you cash out more than $2,900 in a month. Your send also pays a small network fee from the wallet you send from. Start Pro from SET Wallet, or with the Start Pro link on the Cash-Out Address page using the same email you sign in to SET Wallet with, so SET can match the subscription to your wallet. When your plan changes, SET changes the fee on your address automatically. Cancel any time in Stripe's customer portal, opened from SET Wallet; Pro lasts until the end of the period you paid for, then your fee returns to 1.5%.
SET's fee per cash-out Cash-out Pay as you go Pro ($29 a month) 100 USDC $1.50 $0.50 1,000 USDC $15.00 $5.00 2,900 USDC $43.50 $14.50 10,000 USDC $150.00 $50.00 Send USDC whenever you want dollars
Send at least 2 USDC from a wallet you control. Bridge converts it and pays your bank by ACH, which Bridge processes daily. Bridge's documentation says the address "automatically drains any funds sent to it".
Send (simulated)
- From
- 0x5151515151515151515151515151515151515151
- To
- 0x8181818181818181818181818181818181818181
- Amount
- 100 USDC
Bridge pays your bank
Bridge pays out by ACH, which it describes as a batch rail where funds are queued and processed daily. SET does not promise an arrival time, and your bank's own posting time applies after Bridge sends the payment.
What happens to a 100 USDC cash-out (simulated) What Result Sent to the address 100 USDC SET fee, withheld by Bridge $1.50 Rail ACH, queued and processed daily by Bridge If the payout fails If Bridge cannot pay your bank, the USDC is returned to your own SET Wallet address on the same network the address uses, Base or Solana.
Get your Cash-Out Address →Plans, and Start Pro with your SET Wallet email →How the Cash-Out Address works →
Want SET to build one of these for your business? Fixed-price builds are on the Custom Build page. Questions: FAQ or contact SET.