To allow clients to test their API implementation we have a dedicated Conformance Testing Environment (CTE) publicly available that is completely separate from the production environment and does not require existing account credentials.
In order to get started, just navigate to:
Click the Sign Up button and enter an e-mail and password combination to establish login credentials to CTE.
Please note that e-mails are disabled in this environment, therefore you do NOT need to verify the e-mail address or even have access to it, just note the credentials so that you may re-use them if desired.
Once you have signed up, you can generate a 2FA code and then use that to generate API keys for the purpose of testing.
The websocket and REST API code on this environment is identical to the live production code in terms of the feeds/endpoints and the response structure.
To develop your implementation you can refer to the documentation here: https://www.cryptofacilities.com/resources/hc/en-us/categories/115000132213-API
You may also use the Github repo which has libraries coded for multiple common programming languages: https://github.com/cryptofacilities
The only difference between the CTE API behaviour and that of the live production environment is that the base URL is not www.cryptofacilities.com but instead conformance.cryptofacilities.com
Simulation of Disorderly Market Conditions
In order to help test realistic scenarios for your API implementation, this environment has special contracts which simulate disorderly market conditions so that traders who integrate their algorithms to our API can make sure they handle various scenarios elegantly.
The instruments exhibiting these conditions are on the PI_XBTUSD contract and include:
- _BURST sends a very high rate of order placements and cancellations for the first 5 seconds of every 2 minute interval
- _VOLATILE moves in a rough square wave pattern between +20% premium and -20% premium, repeating every 15 minutes. It should be roughly zero at 0, 15, 30, and 45 minutes past the hour. It should peak between 0-15 and 30-45, and trough between 15-30 and 45-60
- _VOLUME has consistently high volume, with a 10,000 contract market order being placed every 15 seconds in a random direction
- _SUSPENDING suspends for the first 10 seconds of every minute, and is unsuspended for the last 50 seconds.
On the CTE, for the websocket API you would subscribe to:
All the feeds are identical to those documented above.
So you could, e.g., subscribe to ticker feeds by sending:
For a similar exercise on REST API you would request:
Please note that when you have successfully tested in the CTE, the base URLs in the live production platform environment works with both types: