You need Claude Code (not Claude's browser connector UI), a FetchSandbox account and your own FETCHSANDBOX_API_KEY environment variable. Provider twins are isolated, so you don't need live vendor keys.
01
Get your account key
Create a key at https://fetchsandbox.com/keys and store it in FETCHSANDBOX_API_KEY. Keep real keys out of chat.
Use Claude Code's mcp add command to add a server named fetchsandbox with HTTP transport at https://fetchsandbox.com/mcp/v1. Add an Authorization Bearer header that reads your existing FETCHSANDBOX_API_KEY. The exact command appears separately. Reference: https://code.claude.com/docs/en/mcp
Start a fresh Claude Code session and check that /mcp shows the connection. Tool discovery alone is not proof. Run list_workflows with spec_slug=stripe as a read-only connection test and confirm it returns a result.
Confirm an actual tool call
Call FetchSandbox list_workflows with spec_slug stripe and tell me the actual result.
04
Verify your running app and inspect a receipt
Use validate_integration to set up actual-app verification. Agree on the observable behavior, point your app's calls at the supplied twins, invoke the app and inspect the receipt. Local apps connect through managed tunnel transport. Hosted apps need a reachable protected URL.
Verify your running app and inspect a receipt
Use FetchSandbox validate_integration for this running app. Agree the observable expected behavior with me, configure the isolated twins, invoke the actual app and report the receipt, including anything failed or unmeasured. Keep polling the same get_job until it reaches a terminal state.
Signs your setup works
You're set up when list_workflows with spec_slug=stripe returns a real result and your own running app produces a receipt through validate_integration.
Scope of this evidence
Your receipt records expected versus actual for the agreed scenarios against the configured twins. Local apps connect through the managed tunnel and hosted apps through your protected URL. Twins are isolated, so live vendor delivery is unmeasured. A passing reference quickrun doesn't test your code. Related public receipts illustrate workflows. They're separate from verifying your own app here and aren't native Claude Code acceptance.
Historical runs recorded against isolated twins. You can inspect each receipt and its evidence. Not a new execution or production certification.
Duplicate charge remediation
Passed
Finance needs to refund customers who were charged twice by a billing incident, quickly and at scale, without refunding a disputed or ambiguous payment and with human approval above set limits.
Each receipt is one individual dated run against isolated provider twins, not live vendors. The caller declared the app revision, and it is not attested. Workflow docs are pinned to the commit shown here. A status appears only when the original verdict, counts, completeness and app_verified all support it, and counts are never merged. Some source exports, including the n8n lead flow, are not public. These public examples are separate from proving your own app through your builder, and they don't show that each native client was tested.
Sales needs to grant product access the moment an order is paid, and never for an order that was not paid in full, was refunded or disputed, or whose payment event was forged, replayed, delayed or lost.
Each receipt is one individual dated run against isolated provider twins, not live vendors. The caller declared the app revision, and it is not attested. Workflow docs are pinned to the commit shown here. A status appears only when the original verdict, counts, completeness and app_verified all support it, and counts are never merged. Some source exports, including the n8n lead flow, are not public. These public examples are separate from proving your own app through your builder, and they don't show that each native client was tested.