TWM Wiki
In this section you will find how to connect your favourite exchanges to TWM.
Note: If you don’t plan to trade live but only want to retrieve data or use the local simulator, you can leave the API key fields blank.
If you want to place trades on Binance using TWM you will need to generate two specific types of API keys on the Binance platform: HMAC and ED25519.
Below is a detailed walkthrough of the process to generate these keys:
And finally, run the Asymmetric Key Generator application.
After opening the Asymmetric Key Generator application:
Once the keys are generated, you will see a Private Key (1) and a Public Key (2), you can copy or save them:
1. Log in to your Binance account. (https://accounts.binance.com/en/login)
2. Navigate to Account (https://www.binance.com/en/my/dashboard), then select API Management (https://www.binance.com/en/my/settings/api-management).
3. Click the Create API button.
4. Choose the Self-Generated option.
5. A window will appear prompting you to insert a public key.
-Paste the Public Key saved earlier from the Asymmetric Key Generator application into the prompt box.
6. You'll need to insert a Label for the API Key (es. "TWM"), and then click next
7. Binance will provide an API Key, copy it
and paste it into TWM connection configurator:
8. From the Asymmetric Key Generator window:
-Copy the Private Key. For this step, copy only the key itself, without the -----BEGIN PRIVATE KEY----- and -----END PRIVATE KEY----- parts.
9. In the TWM Binance connection configurator, paste this into the Websocket Private Key field.
10. To enable Trading, it's necessary to toggle the "Enable Spot & Margin Trading".
It could be necessary to enable the "Restrict access to trusted IP's only"
Note: You can find your IP on https://whatismyipaddress.com/
1. Log in to your Binance account. (https://accounts.binance.com/en/login)
2. Navigate to Account (https://www.binance.com/en/my/dashboard), then select API Management (https://www.binance.com/en/my/settings/api-management).
3. Click the Create API button.
4. Choose the System Generated option.
5. You'll need to insert a Label for the API Key (es. "TWM_REST"), and then click next
6. Copy both the API and Secret key
-And paste them into TWM
Notes:
API Key Requirements
For retrieving market data through TWM, an API key and secret are not required from Bybit. If you only need market data, you do not even need a Bybit account; simply set up a connection in TWM without entering any keys.
However, an API key and secret must be set up if you intend to place orders or read your account information via TWM.
Here you can find additional info about UTA Account: https://www.bybit.com/en/help-center/article/FAQ-Unified-Trading-Account
Before setting up an API key for trading or account access, it is crucial to ensure your Bybit account is configured as an Unified Trading Account (UTA), since TWM does not support the classic Bybit account structure.
Identifying your account type:
If your Bybit dashboard lists "Spot" and "Derivatives" (or Futures) as separate balances or sections, you likely have a classic account. An UTA merges these into a single account.
Upgrading to UTA:
For information on how to upgrade your account to a UTA, please contact Bybit support. Often, this is a straightforward process that can be initiated by clicking an "Upgrade to UTA" button or prompt within the Bybit interface and typically takes only a couple of minutes.
1. You can access Bybit's API management page by logging into your account and navigating to https://www.bybit.com/app/user/api-management.
2. Click on create a New Key
3. Click on "System-generated API Keys"
4. On the next screen
5. Give the permission as shown in the image.
- "Unified Trading"
- "Orders"
- "Positions"
- "USDC Derivates Trading"
- "Trade"
These permissions are essential if you want to be able to trade from whitin the TWM software.
And finally, click "Submit" (5)
6. Copy Both the API and Secret Key
6. Paste them into TWM
Supported Features
Please note that TWM currently supports only SPOT symbols for the Crypto.com connection.
API Key Requirements
To access public data such as historical information, order books, and live data streams from Crypto.com through TWM, you do not need to provide any credentials like an API key or secret.
However, if you wish to trade or receive updates on your user-specific data (like account balances or positions), you will need to create an API key within your Crypto.com account and configure it in TWM.
Creating Your API Key on Crypto.com
1. Navigate to the API Management section. You can typically find this by:
- Clicking on your account avatar (usually located in the top-right corner of the screen).
- Selecting the "Manage Account" option from the dropdown menu.
- Choosing the "API Management" tab.
2. Click on the option to "Create a new API key."
3. A modal window or new page will appear for configuring the API key permissions. Ensure you:
- Check the permission for "Can Read."
- Check the permission to "Enable Trading."
- You must whitelist your IP address for this API key as a security measure.
4. After the API key is successfully created on Crypto.com, make sure to copy your API Key and Secret Key.
- And paste them into TWM
Here are some general tips and important points to keep in mind when setting up and using connections in TWM:
Regional Availability & VPN Usage:
Before setting up a connection, please verify that the services of the chosen exchange are available in your geographical region. If access is restricted, you may need to use a VPN (Virtual Private Network).
Copying API Keys and Secrets:
When copying your API keys and secret keys, be meticulous. Ensure that you do not accidentally include any extra spaces (whitespace) before or after the actual key strings, as this will cause authentication to fail.
Initial Historical Data Download:
The first time you request data for a specific trading instrument (e.g., a currency pair like BTC/USDT) through TWM, the software will attempt to download all available historical data for that instrument from the exchange. This happens regardless of the specific time period you initially request. Please allow this comprehensive first download to complete fully before proceeding with further actions or analysis for that instrument.
Type of API Keys (System-Generated vs. Self-Generated):
During the API key creation process on an exchange, you might be asked to choose between system-generated or self-generated (e.g., HMAC vs. Ed25519) API keys. For TWM's purposes, either type is generally acceptable unless specified otherwise for a particular exchange. For details on the differences between these key types, please refer to the information provided by the exchange itself during the creation process.
Naming Your API Keys:
It's good practice to assign a descriptive name to your API keys when you create them on the exchange. While the specific name doesn't affect TWM's functionality, it helps you identify the key for your personal records and management. Some exchanges may even require you to name the key before you can proceed. Always pay attention to prompts and hints in the exchange's user interface to ensure all required fields are completed.
Troubleshooting Connection Issues & API Key Expiry:
If a connection that was previously working suddenly fails, and you've already ruled out IP address filtering as the cause, check the API key configuration settings on the exchange's website. Some exchanges issue API keys that have an expiration date. If your key has expired, you will need to generate a new one.
Understanding Connection Behavior:
Connections without API Keys: If you set up a connection in TWM without entering an API key and secret, TWM will still attempt to connect to the exchange to access public data (like market data feeds). However, you will not be able to execute trades or retrieve private account information (like balances or positions).
Connections with Incorrect/Expired API Keys:
If you do provide API keys but they are incorrect (e.g., mistyped, contain extra spaces) or have expired, the connection will fail. TWM will typically display a generic error message such as "Check your credentials."
This website uses cookies to enhance your browsing experience. By continuing to use our website, you agree to our Privacy Policy
Necessary cookies help make a website usable by enabling basic functions such as page navigation and access to protected areas of the site.
Necessary cookies
Indicates whether the user has consented to the use of necessary cookies.
Maximum storage duration: 1 Year | Type:Necessary cookiesUsed to prevent CSRF attacks and protect user data.
Maximum storage duration: Session | Type: Necessary cookiesUsed to manage authentication information and the user's session.
Maximum storage duration: 1 Year | Type: Necessary cookiesUsed to store user's language preferences.
Maximum storage duration: 1 Year | Type: Necessary cookiesSecurity cookie set by Google to authenticate users and prevent fraudulent use of login credentials.
Ensures you stay connected to your Google accounts across various services.
Maximum storage duration: 2 Years | Type: Necessary cookiesUsed to verify your Google account and ensure that requests in sessions come from you.
Maximum storage duration: 6 Months | Type: Necessary cookiesSecurity cookie used by Google to authenticate users and prevent fraudulent use of login credentials, protecting user data.
Maximum storage duration: 2 Years | Type: Necessary cookiesThis cookie prevents the browser from sending the cookie along with cross-site requests, helping to mitigate the risk of cross-origin information leakage.
Maximum storage duration: 6 Months | Type: Necessary cookiesImportant for Google's security and to ensure that Google can authenticate the account and block fraudulent access attempts.
Maximum storage duration: 2 Years | Type: Necessary cookiesSecurity cookie to protect user data from unauthorized access.
Maximum storage duration: 1 Year | Type: Necessary cookiesCrucial cookies to ensure that you remain securely logged into your Google accounts while accessing various Google services.
Maximum storage duration: 2 Years | Type: Necessary cookies
Functional cookies allow the website to provide enhanced functionality and personalization. They may be set by the website owner or by third parties whose services have been added to the pages.
Functional Cookies
Used by Google to store session information and enhance the user's experience on Google services.
Used by Google to improve user navigation by remembering preferences and information, such as preferred language.
Maximum storage duration: 6 Months | Type: Functional CookiesRemembers which accounts have been used to log into Google services on the device.
Maximum storage duration: 1 Year | Type: Functional CookiesUsed by Google to store user preferences and information when viewing pages with Google maps.
Maximum storage duration: 2 Years | Type: Functional CookiesUsed by Google to store user preferences while viewing pages that incorporate Google services.
Maximum storage duration: 2 Years | Type: Functional CookiesUsed by Google to remember user preferences, such as preferred language, to provide a more personalized experience.
Maximum storage duration: 6 Months | Type: Functional CookiesUsed by Google to collect information about visitors for videos hosted on YouTube or maps integrated with Google Maps.
Maximum storage duration: 2 Years | Type: Functional CookiesUsed by Google to store user preferences and information when pages containing maps or Google services are viewed.
Maximum storage duration: 2 Years | Type: Functional Cookies
Statistical cookies help website owners understand how visitors interact with the site by collecting and transmitting information anonymously.
Statistical Cookies
Unique identifier used to track user interactions and maintain unique sessions.
Microsoft cookie that collects data on user interactions to improve services.
Maximum storage duration: 7 days | Type: Statistical CookiesUsed by the Microsoft Clarity analytics suite to maintain the user's session.
Maximum storage duration: Session | Type: Statistical Cookies
Marketing cookies are used to track visitors on websites. The intent is to display relevant and engaging ads for the individual user.
Marketing Cookies
Used by Google to link your activity across devices if you have logged in with the same Google account.
Used by Microsoft Advertising to check the anonymity of data sent by tracking cookies.
Maximum storage duration: 10 minutes | Type: Marketing CookiesMicrosoft cookie used to track user interactions across Microsoft domains.
Maximum storage duration: 13 Months | Type: Marketing CookiesGoogle cookies designed to build a profile of your preferences and show you relevant ads on other sites, protecting the Google account.
Maximum storage duration: 2 Years | Type: Marketing CookiesUsed by Google to identify and track visitors across various websites to display personalized advertising.
Maximum storage duration: 2 Years | Type: Marketing CookiesUsed by Google to personalize ads on Google properties, like Google Search.
Maximum storage duration: 1 Month | Type: Marketing CookiesUsed by Google to deliver more relevant ads and protect the security of your preferences and Google account information.
Maximum storage duration: 2 Years | Type: Marketing CookiesCookies are small text files that can be used by websites to make the user's experience more efficient.
The law states that we can store cookies on your device if they are strictly necessary for the operation of this site. For all other types of cookies, we need your permission. This means that cookies classified as necessary are processed under Article 6(1)(f) of the GDPR. All other cookies, namely those belonging to the categories of preferences and marketing, are processed under Article 6(1)(a) of the GDPR.
This site uses different types of cookies. Some cookies are placed by third-party services that appear on our pages.
You can change or revoke your consent at any time from the Cookie Statement on our website.
Learn more about who we are, how you can contact us, and how we process personal data in our Privacy Policy.
Specify your consent ID and the date you contacted us regarding your consent.