Sandbox
Sandbox integration guide
The Strike Sandbox is a full-feature sandbox environment for partners to use for development and testing purposes. The sandbox environment uses simulated cash balances and testnet bitcoin for transactions, which carry no monetary value.
Once your development or testing activities are completed in the sandbox, your code can be easily redeployed into production environments.
The sandbox environment consists of the following resources:
- Sandbox Dashboard: https://dev.dashboard.strike.me/
- Sandbox Auth provider: https://auth.dev.strike.me/
- Sandbox Strike API: https://api.dev.strike.me/
- Sandbox API Reference: https://dev.docs.strike.me/api/
- Sandbox Strike BLACK: https://dev.black.strike.me/
Getting started
To get started using the Strike sandbox environment, you must first contact Strike business support at partners@strike.me. The business support team will ensure your account is properly set up with the necessary permissions.
If you plan on using the sandbox environment to test cash transaction endpoints, including receiving, withdrawing, or sending cash amounts to on-chain addresses or Lightning invoices, then you can request a simulated cash amount to be credited to your sandbox account.
Before registering, read through the different walkthroughs or example apps to learn how to make your desired transactions and the relevant endpoints that need to be called.
Sandbox Dashboard and API keys
The Sandbox Dashboard lets you view your simulated cash and testnet bitcoin balances, initiate manual transactions from those balances, as well manage your sandbox API keys. When logged in, the Sandbox Dashboard can be identified by the banner headline that reads “Sandbox Environment”.
For developers, the primary use for the Sandbox Dashboard is to create and manage sandbox API keys, which are needed to make sandbox environment API calls. To create a sandbox API key, ensure you’ve signed up with business support, then follow these steps:
Creating a sandbox API key:
- Log in to the Sandbox Dashboard
- Click the top right menu icon
- Click “API keys”
- Click “Create API key”
- Enter an API Key name (for your own reference)
- Assign your desired API key scopes
- Click “Create API key”
You will then be presented with your newly created sandbox API key, which is a unique alphanumeric string of characters. This key will be needed to make requests within the sandbox environment of the Strike API and will only be shown once, so ensure you save it in a secure place before navigating away.
API keys never expire and should be considered sensitive pieces of information. Access to your API keys, including sandbox API keys, should be safeguarded and never shared publicly or committed in your source code. If your API key is ever compromised, log in to the Sandbox Dashboard to revoke it and create a new one.
Your sandbox API key’s assigned scopes will determine which endpoints it’s able to call. When assigning your key’s scopes, it’s best to check the Sandbox API Reference documentation to view all the available endpoints, including those specific to the sandbox environment.
In addition to managing API keys, the Sandbox Dashboard can be used for making transactions manually, including sending, receiving, exchanging (buying or selling bitcoin), or making simulated cash deposits. Since the sandbox’s environment uses simulated cash and testnet bitcoin, the amounts transacted have no real monetary value.
Strike Sandbox API
The Strike Sandbox API lets you make API calls within the sandbox environment using the Bitcoin and Lightning testnet networks. These networks exist separately from the actual Bitcoin and Lightning Network and are used for testing transactions without any monetary value. Strike-issued Lightning invoices can be paid by 3rd party testnet Lightning wallets, provided the route exists.
There are four main differences between the Sandbox API and the Strike API:
- Endpoints: Sandbox API calls are made to sandbox API endpoints (https://api.dev.strike.me/)
- API keys: Transactions made in sandbox API must be authorized with your sandbox API key.
- Limits: Sandbox rate limits are set lower, meaning you can make fewer API calls per minute. If you require higher sandbox rate limits, contact partners@strike.me.
- Testnet Lightning performance: When attempting to send or receive testnet payments through Lightning, your transactions may experience different success/failure rates. This is due to limitations of testnet channel availability and liquidity.
In addition to the standard endpoints of the Strike production environment, the sandbox environment features additional endpoints found under the "Sandbox" section. These endpoints include:
- Create an external Lightning invoice: an endpoint to create an LN invoice and/or on-chain address to test outgoing payments
- Simulate a deposit: an endpoint to simulate incoming bank deposits
Within the Sandbox API, you can also make sandbox API calls within your web browser using the API Explorer tool, located on the right side of the Sandbox API Reference endpoint documentation. To use the Sandbox API Explorer tool, you must authorize the call using your Sandbox API key.
Magic strings
To simulate payout failure, create the bank payment method with the account number set to 11111111X...X
(eg. 111111110
) and attempt the payout to it. After few minutes the payout should transition from INITIATED
to FAILED
state.
Simulating a deposit
The steps to simulate a deposit are as follows:
- Call the get-bank-payment-methods endpoint -> https://dev.docs.strike.me/api/get-bank-payment-methods
- Within the response, find the payment method for which
supportedActions
property containsDEPOSIT
and take the ID of that method - Use the simulate-deposit endpoint with the payment method ID -> https://dev.docs.strike.me/api/simulate-a-deposit
Strike widget sandbox
To begin using the Strike widget within the sandbox environment, you must first contact Strike business support at partners@strike.me to set up an account. The business support team will be able to create your account with the necessary credentials.
The Strike widget sandbox is connected to the Checkout sandbox for processing simulated bitcoin purchases via debit cards. You can view a list of available test cards here.
Strike Auth provider sandbox
Strike’s sandbox environment includes Strike OAuth Connect. This means you can facilitate authentication, authorization, and access control workflows on Strike accounts within the sandbox environment.
To begin using Strike OAuth’s sandbox environment, please sign up with Strike business support. At the moment, there is no way for partners to manually create additional accounts for testing purposes. If you require additional accounts, contact partners@strike.me.