SETSimple Easy Transactions

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.

  1. 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.

  2. 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.

  3. The agent picks one way to pay and repeats the same request with proof of payment. Choose a method to see the request.

  4. 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.

  5. What comes back depends on how the agent paid. Choose a method.

  6. 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.

  7. 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
  1. 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", … },
      …
    }
  2. 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-store
  3. Pay 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" }
  4. 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
  5. 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-store

    USDC 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-store

    Credits 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
  6. 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
    SeverityPoints lostObservedFix
    high3robots.txt blocks PerplexityBot from this page.Allow PerplexityBot on this path if you want the page available to those services.
    medium4The page has no JSON-LD structured data.Add a JSON-LD block describing the business (Organization) and the page.
    medium3The page has no meta description.Add a meta description of one or two plain sentences about the page.
    low2Open Graph tags missing: og:image.Add og:title, og:description and og:image meta tags.
    info0robots.txt blocks GPTBot from this page.No change needed unless you want to allow training use.
    info0No /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
    CrawlerRoleAllowedDeciding rule
    GooglebotSearchyesAllow: /
    BingbotSearchyesAllow: /
    ApplebotSearchyesAllow: /
    OAI-SearchBotAI answersyesAllow: /
    Claude-SearchBotAI answersyesAllow: /
    Claude-UserAI answersyesAllow: /
    PerplexityBotAI answersnoDisallow: /
    DuckAssistBotAI answersyesAllow: /
    GPTBotAI trainingnoDisallow: /
    ClaudeBotAI trainingyesAllow: /
    Google-ExtendedAI trainingyesAllow: /
    Applebot-ExtendedAI trainingyesAllow: /
    CCBotAI trainingyesAllow: /
    Meta-ExternalAgentAI trainingyesAllow: /
    AmazonbotAI trainingyesAllow: /

    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.
  7. 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.

  1. 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.

  2. 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.

  3. 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.

  4. The agent picks one way to pay and repeats the same request with proof of payment. Choose a method to see the request.

  5. What comes back depends on how the agent paid. Choose a method.

  6. 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.

  7. 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.

  8. 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
  1. 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,
      …
    }
  2. 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
    CapabilityDeclared status
    machine discoveryimplemented
    payment challenge and receiptimplemented
    idempotencypartial
    webhook verificationimplemented
    durable fulfillmentmissing
    user authenticationimplemented
    wallet ownershipunknown
    onramp provider handoffmissing
    delivery evidencepartial
    recovery and reconciliationmissing
  3. 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-store
  4. Pay 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 … } }
  5. 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-store

    USDC 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-store

    Credits 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
  6. 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…
    PriorityCapabilityAction
    1idempotencyBind retries to one stable logical request and prevent duplicate fulfillment.
    2durable fulfillmentPersist payment and fulfillment state across process restarts.
    3wallet ownershipRecord and verify who controls each destination wallet.
    4onramp provider handoffValidate provider eligibility and require explicit authorization before handoff.
    5delivery evidenceRecord independently reconcilable delivery evidence before entitlement release.
    6recovery and reconciliationReconcile ambiguous outcomes before accepting another payment or provider action.
  7. 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" } } } } }
  8. 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.

  1. At wallet.simpleeasytransactions.com, or in the wallet frame on simpleeasytransactions.com/wallets. Both open the same wallet with the same email sign-in.

  2. Enter the one-time code. Privy creates your wallets in the same step: Ethereum-compatible (this one is your Base address), Solana and Bitcoin.

  3. The wallet lists it under Ethereum, Base, Polygon, Avalanche, with a Copy button. Anyone can send USDC on Base to it.

  4. Three ways to fund the wallet. Choose one to see what happens.

  5. 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.

  6. 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

Email
you@example.com
Next
enter the one-time code
Read every step as text
  1. 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

    Email
    you@example.com
    Next
    enter the one-time code
  2. 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.

  3. 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
  4. 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
  5. 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
  6. 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

Open SET Wallet →How SET Private Wallets work →

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Plans
PlanPriceWhat it covers
Standard$149 a month + 1% per paymentOne embedded checkout for one-time payments.
Growth$299 a month + 1% per paymentAdds subscriptions, several products or prices, and invoicing.
Read every step as text
  1. 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
    PlanPriceWhat it covers
    Standard$149 a month + 1% per paymentOne embedded checkout for one-time payments.
    Growth$299 a month + 1% per paymentAdds 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.
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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)

Start your Payments Platform →Plans and details →

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.

  1. Enter the one-time code and Privy creates your business wallet. Only you can approve a send from it.

  2. 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.

  3. 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.

  4. 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.

  5. Approve each send in Privy's confirmation screen.

  6. A confirmation is each new Base block after the one holding your payment. SET marks each line paid after 3 of them.

  7. 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.

  8. 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

Email
owner@example.com
Wallet
0x5151515151515151515151515151515151515151
Read every step as text
  1. 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

    Email
    owner@example.com
    Wallet
    0x5151515151515151515151515151515151515151
  2. 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
    PlanPricePeople a month
    FreeFree5
    Starter$29 a month25
    Growth$99 a month100
  3. 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
  4. 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
    LineReferenceRecipientUSDC
    1design-oct0x6161616161616161616161616161616161616161250.00
    2dev-oct0x62626262626262626262626262626262626262621,200.00
    3writing-oct0x636363636363636363636363636363636363636375.50
  5. 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
  6. 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)
    LineStatusTransaction
    1paid0xSIMULATED000000000000000000000000000000000000000000000000000001
    2paid0xSIMULATED000000000000000000000000000000000000000000000000000002
    3paid0xSIMULATED000000000000000000000000000000000000000000000000000003
  7. 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)
    LineReferenceRecipientAmountStatusTransaction hashBlock explorer link
    1design-oct0x6161616161616161616161616161616161616161250.00paid0xSIMULATED000000000000000000000000000000000000000000000000000001explorer link (simulated)
    2dev-oct0x62626262626262626262626262626262626262621,200.00paid0xSIMULATED000000000000000000000000000000000000000000000000000002explorer link (simulated)
    3writing-oct0x636363636363636363636363636363636363636375.50paid0xSIMULATED000000000000000000000000000000000000000000000000000003explorer link (simulated)
  8. 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.

Start SET Payouts free →How global USDC payouts work →

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.

  1. 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.

  2. Bridge checks your identity on its own pages and you link your US bank account. Bridge decides who it can serve.

  3. 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.

  4. 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%.

  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".

  6. 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

Email
you@example.com
Wallet
0x5151515151515151515151515151515151515151
Read every step as text
  1. 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

    Email
    you@example.com
    Wallet
    0x5151515151515151515151515151515151515151
  2. 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.
  3. 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%
  4. 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-outPay as you goPro ($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
  5. 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
  6. 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)
    WhatResult
    Sent to the address100 USDC
    SET fee, withheld by Bridge$1.50
    RailACH, queued and processed daily by Bridge
    If the payout failsIf 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.