All twins

Service twin · API + UI

Stripe

Test commerce agents that manage subscriptions, payments, invoices, and customer billing.

API + UIspec-groundedREST · MCP · CLI
Terminal
$ uv tool install blobfish-cli
$ blobfish twin login
$ blobfish twin-runs create --twins stripe --ttl 60 --wait

What’s inside

A deterministic, seeded, resettable replica: every operation below executes real state transitions against the twin’s own SQLite state — reads are hash-invariant, writes produce inspectable diffs, and reset restores the seed baseline.

Operations587
Reads262
Writes325
Entities203
Lifecycles0

Seeded entities

EntityTableFieldsAbout
accountaccounts23For new integrations, we recommend using the [Accounts v2 API](/api/v2/core/accounts), in place of /v1/accounts and /v1/customers to repres…
account_linkaccount_links5Account Links are the means by which a Connect platform grants a connected account permission to access Stripe-hosted applications, such as…
account_sessionaccount_sessions7An AccountSession allows a Connect platform to grant access to a connected account in Connect embedded components. We recommend that you cr…
active_entitlementactive_entitlements2Inferred from operation parameters (spec has no named schema).
alertalerts2Inferred from operation parameters (spec has no named schema).
amount_details_line_itemamount_details_line_items2Inferred from operation parameters (spec has no named schema).
apple_pay_domainapple_pay_domains5
application_feeapplication_fees15
apps_secretapps_secrets9Secret Store is an API that allows Stripe Apps developers to securely persist secrets for use by UI Extensions and app backends. The primar…
authorizationauthorizations2Inferred from operation parameters (spec has no named schema).
balancebalances9This is an object representing your Stripe balance. You can retrieve it to see the balance currently on your Stripe account. The top-level …
balance_settingbalance_settings3Options for customizing account balances and payout settings for a Stripe platform’s connected accounts.
balance_transactionbalance_transactions16Balance transactions represent funds moving through your Stripe account. Stripe creates them for every type of transaction that enters or l…
bank_accountbank_accounts19These bank accounts are payment methods on `Customer` objects. On the other hand [External Accounts](/api#external_accounts) are transfer d…
billing_alertbilling_alerts7A billing alert is a resource that notifies you when a certain usage threshold on a meter is crossed. For example, you might create a billi…
billing_credit_balance_summarybilling_credit_balance_summaries6Indicates the billing credit balance for billing credits granted to a customer.
billing_credit_balance_transactionbilling_credit_balance_transactions10A credit balance transaction is a resource representing a transaction (either a credit or a debit) against an existing credit grant.
billing_credit_grantbilling_credit_grants17A credit grant is an API resource that documents the allocation of some billing credits to a customer. Related guide: [Billing credits](htt…
billing_meterbilling_meters13Meters specify how to aggregate meter events over a billing period. Meter events represent the actions that customers take in your system. …
billing_meter_eventbilling_meter_events8Meter events represent actions that customers take in your system. You can use meter events to bill a customer based on their usage. Meter …
billing_meter_event_adjustmentbilling_meter_event_adjustments7A billing meter event adjustment is a resource that allows you to cancel a meter event. For example, you might create a billing meter event…
billing_portal_configurationbilling_portal_configurations14A portal configuration describes the functionality and behavior you embed in a portal session. Related guide: [Configure the customer porta…
billing_portal_sessionbilling_portal_sessions12The Billing customer portal is a Stripe-hosted UI for subscription and billing management. A portal configuration describes the functionali…
capabilitycapabilities8This is an object representing a capability for a Stripe account. Related guide: [Account capabilities](https://docs.stripe.com/connect/acc…
cardcards32You can store multiple cards on a customer in order to charge the customer later. You can also store multiple debit cards on a recipient in…
cardholdercardholders2Inferred from operation parameters (spec has no named schema).
cash_balancecash_balances7A customer's `Cash balance` represents real funds. Customers can add funds to their cash balance by sending a bank transfer. These funds ca…
cash_balance_transactioncash_balance_transactions2Inferred from operation parameters (spec has no named schema).
chargecharges45The `Charge` object represents a single attempt to move money into your Stripe account. PaymentIntent confirmation is the most common way t…
checkout_sessioncheckout_sessions48A Checkout Session represents your customer's session as they pay for one-time purchases or subscriptions through [Checkout](https://docs.s…
climate_orderclimate_orders22Orders represent your intent to purchase a particular Climate product. When you create an order, the payment is deducted from your merchant…
climate_productclimate_products9A Climate product represents a type of carbon removal unit available for reservation. You can retrieve it to see the current price and avai…
climate_supplierclimate_suppliers7A supplier of carbon removal.
computed_upfront_line_itemcomputed_upfront_line_items2Inferred from operation parameters (spec has no named schema).
configurationconfigurations19Inferred from operation parameters (spec has no named schema).
confirmation_tokenconfirmation_tokens14ConfirmationTokens help transport client side data collected by Stripe JS over to your server for confirming a PaymentIntent or SetupIntent…
country_speccountry_specs8Stripe needs to collect certain pieces of information about each account created. These requirements can differ depending on the account's …
couponcoupons17A coupon contains information about a percent-off or amount-off discount you might want to apply to a customer. Coupons may be applied to […
credit_balance_transactioncredit_balance_transactions2Inferred from operation parameters (spec has no named schema).
credit_grantcredit_grants2Inferred from operation parameters (spec has no named schema).
credit_notecredit_notes34Issue a credit note to adjust an invoice's amount after the invoice is finalized. Related guide: [Credit notes](https://docs.stripe.com/bil…
credit_reversalcredit_reversals2Inferred from operation parameters (spec has no named schema).
customercustomers31This object represents a customer of your business. Use it to [create recurring charges](https://docs.stripe.com/invoicing/customer), [save…
customer_balance_transactioncustomer_balance_transactions15Each customer has a [Balance](https://docs.stripe.com/api/customers/object#customer_object-balance) value, which denotes a debit or credit …
customer_cash_balance_transactioncustomer_cash_balance_transactions16Customers with certain payments enabled have a cash balance, representing funds that were paid by the customer to a merchant, but have not …
customer_sessioncustomer_sessions9A Customer Session allows you to grant Stripe's frontend SDKs (like Stripe.js) client-side access control over a Customer. Related guides: …
debit_reversaldebit_reversals2Inferred from operation parameters (spec has no named schema).
deleted_accountdeleted_accounts3
deleted_apple_pay_domaindeleted_apple_pay_domains3
deleted_coupondeleted_coupons3
deleted_customerdeleted_customers3
deleted_discountdeleted_discounts13
deleted_invoicedeleted_invoices3
deleted_invoiceitemdeleted_invoiceitems3
deleted_persondeleted_persons3
deleted_plandeleted_plans3
deleted_productdeleted_products3
deleted_product_featuredeleted_product_features3
deleted_radar_value_listdeleted_radar_value_lists3
deleted_radar_value_list_itemdeleted_radar_value_list_items3
deleted_subscription_itemdeleted_subscription_items3
deleted_tax_iddeleted_tax_ids3
deleted_terminal_configurationdeleted_terminal_configurations3
deleted_terminal_locationdeleted_terminal_locations3
deleted_terminal_readerdeleted_terminal_readers5
deleted_test_helpers_test_clockdeleted_test_helpers_test_clocks3
deleted_webhook_endpointdeleted_webhook_endpoints3
discountdiscounts13A discount represents the actual application of a [coupon](https://api.stripe.com#coupons) or [promotion code](https://api.stripe.com#promo…
disputedisputes17A dispute occurs when a customer questions your charge with their card issuer. When this happens, you have the opportunity to respond to th…
domaindomains2Inferred from operation parameters (spec has no named schema).
early_fraud_warningearly_fraud_warnings2Inferred from operation parameters (spec has no named schema).
entitlements_active_entitlemententitlements_active_entitlements5An active entitlement describes access to a feature for a customer.
entitlements_featureentitlements_features7A feature represents a monetizable ability or functionality in your system. Features can be assigned to products, and when those products a…
ephemeral_keyephemeral_keys6
eventevents11Snapshot events allow you to track and react to activity in your Stripe integration. When the state of another API resource changes, Stripe…
event_summaryevent_summaries2Inferred from operation parameters (spec has no named schema).
exchange_rateexchange_rates3[Deprecated] The `ExchangeRate` APIs are deprecated. Please use the [FX Quotes API](https://docs.stripe.com/payments/currencies/localize-pr…
external_accountexternal_accounts21Inferred from operation parameters (spec has no named schema).
featurefeatures2Inferred from operation parameters (spec has no named schema).
fee_refundfee_refunds8`Application Fee Refund` objects allow you to refund an application fee that has previously been created but not yet refunded. Funds will b…
filefiles11This object represents files hosted on Stripe's servers. You can upload files with the [create file](https://api.stripe.com#create_file) re…
file_linkfile_links9To share the contents of a `File` object with non-Stripe users, you can create a `FileLink`. `FileLink`s contain a URL that you can use to …
financial_accountfinancial_accounts2Inferred from operation parameters (spec has no named schema).
financial_connections_accountfinancial_connections_accounts21A Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access.
financial_connections_sessionfinancial_connections_sessions10A Financial Connections Session is the secure way to programmatically launch the client-side Stripe.js modal that lets your users link thei…
financial_connections_transactionfinancial_connections_transactions12A Transaction represents a real transaction that affects a Financial Connections Account balance.
forwarding_requestforwarding_requests11Instructs Stripe to make a request on your behalf using the destination URL. The destination URL is activated by Stripe at the time of onbo…
funding_instructionfunding_instructions6Each customer has a [`balance`](https://docs.stripe.com/api/customers/object#customer_object-balance) that is automatically applied to futu…
historyhistories2Inferred from operation parameters (spec has no named schema).
identity_verification_reportidentity_verification_reports14A VerificationReport is the result of an attempt to collect and verify data from a user. The collection of verification checks performed is…
identity_verification_sessionidentity_verification_sessions20A VerificationSession guides you through the process of collecting and verifying the identities of your users. It contains details about th…
inbound_transferinbound_transfers2Inferred from operation parameters (spec has no named schema).
invoiceinvoices48Invoices are statements of amounts owed by a customer, and are either generated one-off, or generated periodically from a subscription. The…
invoice_paymentinvoice_payments12Invoice Payments represent payments made against invoices. Invoice Payments can be accessed in two ways: 1. By expanding the `payments` fie…
invoice_rendering_templateinvoice_rendering_templates8Invoice Rendering Templates are used to configure how invoices are rendered on surfaces like the PDF. Invoice Rendering Templates can be cr…
invoiceiteminvoiceitems23Invoice Items represent the component lines of an [invoice](https://docs.stripe.com/api/invoices). When you create an invoice item with an …
issuing_authorizationissuing_authorizations30When an [issued card](https://docs.stripe.com/issuing) is used to make a purchase, an Issuing `Authorization` object is created. [Authoriza…
issuing_cardissuing_cards27You can [create physical or virtual cards](https://docs.stripe.com/issuing) that are issued to cardholders.
issuing_cardholderissuing_cardholders16An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://docs.stripe.com/issuing) cards. Related …
issuing_disputeissuing_disputes13As a [card issuer](https://docs.stripe.com/issuing), you can dispute transactions that the cardholder does not recognize, suspects to be fr…
issuing_personalization_designissuing_personalization_designs13A Personalization Design is a logical grouping of a Physical Bundle, card logo, and carrier text that represents a product line.
issuing_physical_bundleissuing_physical_bundles7A Physical Bundle represents the bundle of physical items - card stock, carrier letter, and envelope - that is shipped to a cardholder when…
issuing_settlementissuing_settlements17When a non-stripe BIN is used, any use of an [issued card](https://docs.stripe.com/issuing) must be settled directly with the card network.…
issuing_tokenissuing_tokens12An issuing token object is created when an issued card is added to a digital wallet. As a [card issuer](https://docs.stripe.com/issuing), y…
issuing_transactionissuing_transactions22Any use of an [issued card](https://docs.stripe.com/issuing) that results in funds entering or leaving your Stripe account, such as a compl…
linelines2Inferred from operation parameters (spec has no named schema).
line_itemline_items20Invoice Line Items represent the individual lines within an [invoice](https://docs.stripe.com/api/invoices) and only exist within the conte…
linked_accountlinked_accounts2Inferred from operation parameters (spec has no named schema).
locationlocations13Inferred from operation parameters (spec has no named schema).
login_linklogin_links4Login Links are single-use URLs that takes an Express account to the login page for their Stripe dashboard. A Login Link differs from an [A…
mandatemandates11A Mandate is a record of the permission that your customer gives you to debit their payment method.
metermeters2Inferred from operation parameters (spec has no named schema).
orderorders2Inferred from operation parameters (spec has no named schema).
outbound_paymentoutbound_payments2Inferred from operation parameters (spec has no named schema).
outbound_transferoutbound_transfers2Inferred from operation parameters (spec has no named schema).
ownerowners2Inferred from operation parameters (spec has no named schema).
payment_attempt_recordpayment_attempt_records21A Payment Attempt Record represents an individual attempt at making a payment, on or off Stripe. Each payment attempt tries to collect a fi…
payment_intentpayment_intents44A PaymentIntent guides you through the process of collecting a payment from your customer. We recommend that you create exactly one Payment…
payment_linkpayment_links37A payment link is a shareable URL that will take your customers to a hosted payment page. A payment link can be shared and used multiple ti…
payment_methodpayment_methods48PaymentMethod objects represent your customer's payment instruments. You can use them with [PaymentIntents](https://docs.stripe.com/payment…
payment_method_configurationpayment_method_configurations48PaymentMethodConfigurations control which payment methods are displayed to your customers when you don't explicitly specify payment method …
payment_method_domainpayment_method_domains12A payment method domain represents a web domain that you have registered with Stripe. Stripe Elements use registered payment method domains…
payment_recordpayment_records21A Payment Record is a resource that allows you to represent payments that occur on- or off-Stripe. For example, you can create a Payment Re…
payoutpayouts27A `Payout` object is created when you receive funds from Stripe, or when you initiate a payout to either a bank account or debit card of a …
pdfpdfs2Inferred from operation parameters (spec has no named schema).
peoplepeoples2Inferred from operation parameters (spec has no named schema).
personpersons32This is an object representing a person associated with a Stripe account. A platform can only access a subset of data in a person for an ac…
personalization_designpersonalization_designs2Inferred from operation parameters (spec has no named schema).
physical_bundlephysical_bundles2Inferred from operation parameters (spec has no named schema).
planplans20You can now model subscriptions more flexibly using the [Prices API](https://api.stripe.com#prices). It replaces the Plans API and is backw…
priceprices21Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products. [Products](https…
productproducts18Products describe the specific goods or services you offer to your customers. For example, you might offer a Standard and Premium version o…
product_featureproduct_features4A product_feature represents an attachment between a feature and a product. When a product is purchased that has a feature attached, Stripe…
promotion_codepromotion_codes14A Promotion Code represents a customer-redeemable code for an underlying promotion. You can create multiple codes for a single promotion. I…
quotequotes36A Quote is a way to model prices that you'd like to provide to a customer. Once accepted, it will automatically create an invoice, subscrip…
radar_early_fraud_warningradar_early_fraud_warnings8An early fraud warning indicates that the card issuer has notified us that a charge may be fraudulent. Related guide: [Early fraud warnings…
radar_payment_evaluationradar_payment_evaluations12Payment Evaluations represent the risk lifecycle of an externally processed payment. It includes the Radar risk score from Stripe, payment …
radar_value_listradar_value_lists10Value lists allow you to group values together which can then be referenced in rules. Related guide: [Default Stripe lists](https://docs.st…
radar_value_list_itemradar_value_list_items7Value list items allow you to add specific values to a given Radar value list, which can then be used in rules. Related guide: [Managing li…
readerreaders6Inferred from operation parameters (spec has no named schema).
received_creditreceived_credits2Inferred from operation parameters (spec has no named schema).
received_debitreceived_debits2Inferred from operation parameters (spec has no named schema).
refundrefunds22Refund objects allow you to refund a previously created charge that isn't refunded yet. Funds are refunded to the credit or debit card that…
registrationregistrations2Inferred from operation parameters (spec has no named schema).
report_runreport_runs2Inferred from operation parameters (spec has no named schema).
report_typereport_types2Inferred from operation parameters (spec has no named schema).
reporting_report_runreporting_report_runs10The Report Run object represents an instance of a report type generated with specific run parameters. Once the object is created, Stripe be…
reporting_report_typereporting_report_types9The Report Type resource corresponds to a particular type of report, such as the "Activity summary" or "Itemized payouts" reports. These ob…
requestrequests2Inferred from operation parameters (spec has no named schema).
reversalreversals2Inferred from operation parameters (spec has no named schema).
reviewreviews14Reviews can be used to supplement automated fraud detection with human expertise. Learn more about [Radar](/radar) and reviewing payments […
scheduled_query_runscheduled_query_runs11If you have [scheduled a Sigma query](https://docs.stripe.com/sigma/scheduled-queries), you'll receive a `sigma.scheduled_query_run.created…
searchsearches2Inferred from operation parameters (spec has no named schema).
secretsecrets2Inferred from operation parameters (spec has no named schema).
sessionsessions2Inferred from operation parameters (spec has no named schema).
setup_attemptsetup_attempts2Inferred from operation parameters (spec has no named schema).
setup_intentsetup_intents28A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments. For example, yo…
shipping_rateshipping_rates12Shipping rates describe the price of shipping presented to your customers and applied to a purchase. For more information, see [Charge for …
sigma_sigma_api_querysigma_sigma_api_queries6A saved query object represents a query that can be executed for a run.
sourcesources38`Source` objects allow you to accept a variety of payment methods. They represent a customer's payment instrument, and can be used with the…
source_mandate_notificationsource_mandate_notifications12Source mandate notifications should be created when a notification related to a source mandate must be sent to the payer. They will trigger…
source_transactionsource_transactions14Some payment methods have no required amount that a customer must send. Customers can be instructed to send any amount, and it can be made …
subscriptionsubscriptions48Subscriptions allow you to charge a customer on a recurring basis. Related guide: [Creating subscriptions](https://docs.stripe.com/billing/…
subscription_itemsubscription_items13Subscription items allow you to create customer subscriptions with more than one plan, making it easy to represent complex billing relation…
subscription_schedulesubscription_schedules20A subscription schedule allows you to create and manage the lifecycle of a subscription by predefining expected changes. Related guide: [Su…
suppliersuppliers2Inferred from operation parameters (spec has no named schema).
tax_associationtax_associations5A Tax Association exposes the Tax Transactions that Stripe attempted to create on your behalf based on the PaymentIntent input
tax_calculationtax_calculations15A Tax Calculation allows you to calculate the tax to collect from your customer. Related guide: [Calculate tax in your custom payment flow]…
tax_codetax_codes4[Tax codes](https://stripe.com/docs/tax/tax-categories) classify goods and services for tax purposes.
tax_idtax_ids11You can add one or multiple tax IDs to a [customer](https://docs.stripe.com/api/customers) or account. Customer and account tax IDs get dis…
tax_ratetax_rates18Tax rates can be applied to [invoices](/invoicing/taxes/tax-rates), [subscriptions](/billing/taxes/tax-rates) and [Checkout Sessions](/paym…
tax_registrationtax_registrations9A Tax `Registration` lets us know that your business is registered to collect tax on payments within a region, enabling you to [automatical…
tax_settingtax_settings7You can use Tax `Settings` to manage configurations used by Stripe Tax calculations. Related guide: [Using the Settings API](https://docs.s…
tax_transactiontax_transactions16A Tax Transaction records the tax collected from or refunded to your customer. Related guide: [Calculate tax in your custom payment flow](h…
terminal_configurationterminal_configurations19A Configurations object represents how features should be configured for terminal readers. For information about how to use it, see the [Te…
terminal_connection_tokenterminal_connection_tokens4A Connection Token is used by the Stripe Terminal SDK to connect to a reader. Related guide: [Fleet management](https://docs.stripe.com/ter…
terminal_locationterminal_locations12A Location represents a grouping of readers. Related guide: [Fleet management](https://docs.stripe.com/terminal/fleet/locations)
terminal_onboarding_linkterminal_onboarding_links6Returns redirect links used for onboarding onto Tap to Pay on iPhone.
terminal_readerterminal_readers13A Reader represents a physical device for accepting payment details. Related guide: [Connecting to a reader](https://docs.stripe.com/termin…
test_clocktest_clocks2Inferred from operation parameters (spec has no named schema).
test_helpers_test_clocktest_helpers_test_clocks9A test clock enables deterministic control over objects in testmode. With a test clock, you can create objects at a frozen time in the past…
tokentokens9Tokenization is the process Stripe uses to collect sensitive card or bank account details, or personally identifiable information (PII), di…
topuptopups16To top up your Stripe balance, you create a top-up object. You can retrieve individual top-ups, as well as list all top-ups. Top-ups are id…
transactiontransactions2Inferred from operation parameters (spec has no named schema).
transaction_entrytransaction_entries2Inferred from operation parameters (spec has no named schema).
transfertransfers17A `Transfer` object is created when you move funds between Stripe accounts as part of Connect. Before April 6, 2017, transfers also represe…
transfer_reversaltransfer_reversals10[Stripe Connect](https://docs.stripe.com/connect) platforms can reverse transfers made to a connected account, either entirely or partially…
treasury_credit_reversaltreasury_credit_reversals14You can reverse some [ReceivedCredits](https://api.stripe.com#received_credits) depending on their network and source flow. Reversing a Rec…
treasury_debit_reversaltreasury_debit_reversals15You can reverse some [ReceivedDebits](https://api.stripe.com#received_debits) depending on their network and source flow. Reversing a Recei…
treasury_financial_accounttreasury_financial_accounts18Stripe Treasury provides users with a container for money called a FinancialAccount that is separate from their Payments balance. Financial…
treasury_financial_account_featuretreasury_financial_account_features9Encodes whether a FinancialAccount has access to a particular Feature, with a `status` enum and associated `status_details`. Stripe or the …
treasury_inbound_transfertreasury_inbound_transfers20Use [InboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) to add funds to your […
treasury_outbound_paymenttreasury_outbound_payments22Use [OutboundPayments](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) to send funds to ano…
treasury_outbound_transfertreasury_outbound_transfers20Use [OutboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) to transfer funds …
treasury_received_credittreasury_received_credits16ReceivedCredits represent funds sent to a [FinancialAccount](https://api.stripe.com#financial_accounts) (for example, via ACH or wire). The…
treasury_received_debittreasury_received_debits16ReceivedDebits represent funds pulled from a [FinancialAccount](https://api.stripe.com#financial_accounts). These are not initiated from th…
treasury_transactiontreasury_transactions15Transactions represent changes to a [FinancialAccount's](https://api.stripe.com#financial_accounts) balance.
treasury_transaction_entrytreasury_transaction_entries13TransactionEntries represent individual units of money movements within a single [Transaction](https://api.stripe.com#transactions).
value_listvalue_lists2Inferred from operation parameters (spec has no named schema).
value_list_itemvalue_list_items2Inferred from operation parameters (spec has no named schema).
verification_reportverification_reports2Inferred from operation parameters (spec has no named schema).
verification_sessionverification_sessions2Inferred from operation parameters (spec has no named schema).
webhook_endpointwebhook_endpoints12You can configure [webhook endpoints](https://docs.stripe.com/webhooks/) via the API to be notified about events that happen in your Stripe…

Three surfaces, one state

Mount Stripe in a twin environment and the same seeded state serves vendor-shaped REST operations, an MCP endpoint for tool calling, and a generated bf-twin CLI — with copy-on-write sessions per rollout and a one-call reset to the seed baseline. Prefer raw HTTP? The same create works with curl:

API
$ curl -sS -X POST https://blobfish.ai/api/v1/twin/environments \
    -H "X-API-Key: $BLOBFISH_API_KEY" -H "Content-Type: application/json" \
    -d '{"services":["stripe"],"ttl_minutes":60}'

Known limitations

Spec-grounded surface with synthetic seeded values; operations outside the spec are not mounted.