Skip to main content
Bridge has a sandbox environment for you to quickly begin testing your integration without having to move real money. To access this sandbox, you must first reach out to support@bridge.xyz to get onboarded with a Developer account within Bridge. Afterwards, you’ll be able to generate sandbox API keys

Step 1: Generate a Sandbox Key

Note that only dashboard admins have access to both sandbox and prod API keys.
Please ask your dashboard admin for access if you don’t have it
  • Go to https://dashboard.bridge.xyz/ and log in with your email.
  • Then, ensure the “Sandbox” toggle is turned on (blue).
  • Then, hit the button to generate a sandbox key.
  • Sandbox keys should be prefixed with sk-test.

Step 2: Hit an API

You can begin testing in Sandbox by creating a Bridge customer.
Note that the sandbox base url is https://api.sandbox.bridge.xyz
We recommend the following steps to get a sense of how to use Bridge:
  • Create a customer
  • Call POST /v0/customers/{customer_id}/simulate_kyc_approval to approve them
  • Fetch that customer and verify kyc_status is approved
  • Create fake liquidation addresses, transfers and fiat deposit instructions (Note: there is no real money movement in Sandbox)

Differences from production and testing in Sandbox

Sandbox is API-onlyThe Bridge Dashboard lets you generate and manage Sandbox API keys, but it does not provide a UI for viewing or managing Sandbox customers, external accounts, wallets, balances, transfers, virtual accounts, liquidation addresses, drains, or webhook activity.Create, retrieve, and manage Sandbox resources through the Bridge API. Save the IDs returned by API responses and use GET endpoints and webhooks to observe state changes. If you lose a resource ID, use the applicable list endpoint to retrieve it.
Sandbox uses the same API conventions and resource model as production, but replaces real compliance checks, bank activity, and blockchain transactions with simulated behavior. No real funds move in Sandbox. Use Sandbox to develop and validate your integration, including resource creation, supported lifecycle transitions, and webhook handling. Sandbox is not intended for load testing or for validating the behavior, timing, or availability of live banks, blockchain networks, compliance providers, or other external services.

Environment and configuration

  • Send requests to https://api.sandbox.bridge.xyz/v0 using an API key beginning with sk-test.
  • Use the Bridge Dashboard only to generate and manage Sandbox API keys. All other Sandbox testing is performed through the API.
  • Sandbox and production data are isolated. Resources created in one environment are not available in the other.
  • Sandbox users can be associated with separate Sandbox developer profiles. Configuration, endorsements, and feature access might not automatically match your production developer account.
  • Configure separate webhook endpoints and use separate idempotency keys for Sandbox and production.
The examples below use these shell variables:
Replace values such as {customer_id} and {wallet_id} with IDs returned by earlier API calls.
  1. Generate a Sandbox API key in the Bridge Dashboard.
  2. Create and activate a Sandbox webhook endpoint.
  3. Create a customer through the API.
  4. Simulate KYC or KYB approval.
  5. Create the resources required by your integration, such as external accounts, wallets, virtual accounts, or liquidation addresses.
  6. Call the applicable Sandbox simulation endpoint.
  7. Use retrieval, list, history, and webhook endpoints to verify the resulting state.
Because there is no Dashboard UI for Sandbox resources, your integration or API client should retain the IDs returned at every step.

Configure webhooks before simulating activity

Create a Sandbox webhook endpoint before running simulations so you can test event handling and reconciliation. Include only the event categories used by your integration.
Save the returned webhook ID, then activate the endpoint:
Supported Sandbox simulations can generate webhook events. Event coverage and lifecycle timing can differ from production because Sandbox does not receive events from live providers.

Simulate customer approval

Sandbox does not perform real KYC or KYB verification. Create a customer through the API, then call the Sandbox-only approval endpoint.

1. Create a customer

Save the id from the response as the customer ID.

2. Simulate KYC or KYB approval

This endpoint simulates approval, populates required Sandbox entity data when necessary, and approves pending endorsements used by supported Sandbox flows. It does not reproduce document verification, manual review, rejection, requests for information, or other production compliance outcomes. Retrieve the customer to verify its resulting status:

Simulate a Liquidation Address deposit

First create a Liquidation Address through the standard API and save its id. Then simulate an incoming crypto deposit:
The currency must be compatible with the Liquidation Address. For a successful simulation, the response includes success: true and the created drain_id. Sandbox then advances the simulated deposit and drain through the supported processing flow. Retrieve the resulting drains through the API:
Also listen for liquidation_address.drain webhook events.

Simulate a Virtual Account deposit

First create a Virtual Account through the standard API and save its id. Then simulate an incoming fiat deposit:
The currency must match the Virtual Account’s source currency. Sandbox creates a representative incoming bank event and advances the resulting deposit through the supported processing flow. Retrieve the Virtual Account history through the API:
Also listen for virtual_account.activity and resulting transfer webhook events, as applicable to the configured destination.

Simulate a Bridge Wallet deposit

Create a Bridge Wallet and save its id:
Simulate a deposit into the wallet:
The amount must be positive, and the currency must be supported by the wallet’s chain. The response contains the updated wallet resource. Sandbox does not submit a transaction to a blockchain; it creates and processes a representative deposit internally. Retrieve the wallet or its history to verify the updated balance:
Also listen for bridge_wallet.activity webhook events.

Card simulations

Test your card integration using the Stripe Sandbox and Bridge sandbox environment. Cards have additional Sandbox-only endpoints for funding and transaction testing, including simulations for balance top-ups, authorizations, settlements, and incremental authorizations. Card testing has product-specific setup requirements. Follow the Cards Sandbox guide instead of treating the general orchestration examples above as card-testing instructions.

External services and networks

  • Plaid Link is not currently supported in Bridge Sandbox. Create test external accounts directly through the External Accounts API.
  • Bridge Wallet and orchestration simulations do not submit transactions to live bank or blockchain networks.
  • Do not assume that a blockchain testnet is used unless the product-specific documentation explicitly identifies one.
  • Responses can contain generated account numbers, wallet addresses, transaction identifiers, and other representative data. Do not use Sandbox values in production.
  • Supported rails and lifecycle behavior can differ by product, route, currency, and enabled feature. Sandbox does not guarantee parity for every production route.

Before going live

Before enabling production traffic, validate with controlled production tests:
  • Live KYC or KYB onboarding and exception handling.
  • External-account linking and provider behavior.
  • The payment rails and currencies used by your integration.
  • Webhook delivery, retries, ordering, and reconciliation.
  • Production configuration, endorsements, limits, and feature access.