Documentation
Overview
GMAYFF Bot places an order on a primary perpetual-futures exchange and hedges every fill on Binance futures. FS-Monitor shows funding rates and spreads across venues so you can choose what to trade.
Primary venues: Kraken, AsterDEX, Hyperliquid, SoDEX and Polymarket Perps. Hedge venue: Binance.
Install
The apps are Windows programs. There is nothing to install and no Python needed.
- Open your order page and download the zip file for each product.
- Right-click each zip and choose Extract All. Put each app in its own folder, somewhere simple such as
C:\DeltaFlow\GMAYFF-Bot. Do not run the app from inside the zip. - Add your exchange credentials as Windows environment variables (next sections). Do this before the first start.
- Open the folder and double-click the
.exefile. On first start the app asks for a license key made for your computer (see Your license).
Windows SmartScreen or your antivirus may warn about a new program from a small publisher. If you downloaded it from your own order page, choose More info, then Run anyway. If your antivirus quarantines a file, restore it and add the app folder to its exclusions.
Exchange API keys
Create a separate API key for each exchange you use, and give it the least permission it needs.
| Setting | What to choose |
|---|---|
| Trading permission | Enabled (reading and trading) |
| Withdrawal permission | Disabled. The bot never needs it. |
| IP restriction | Allow only your own IP address where the exchange supports it |
| Binance margin mode | The hedge account runs on cross margin |
Keep keys private. Never paste them into chats, screenshots or support tickets.
Add your credentials as Windows environment variables
The apps do not have a settings page for API keys. They read your credentials from environment variables on your own computer when they start. Your keys stay on your machine and are never typed into a website or sent to us.
Variable names must be typed exactly as shown below, in capitals with underscores. A wrong name means the app behaves as if you never set the key.
How to add a variable
- Press the Windows key, type environment variables and open Edit environment variables for your account.
- In the top box, User variables, click New.
- Type the name in Variable name (for example
BINANCE_API_KEY) and paste the key into Variable value. Click OK. - Repeat for every row you need from the tables below. Add one variable per row.
- Click OK to close the main window.
- Close the app completely and open it again. Programs read these variables only when they start, so an app that was already open will not see new ones. If you start the app from PowerShell or Command Prompt, open a new window too.
Use User variables, not System variables. Paste the value with no spaces or quotes around it.
Quick method for people who like PowerShell
Open PowerShell and run one line per variable, then open a new window and restart the app. PowerShell keeps a history of what you typed, so the dialog above is the safer way to enter secrets.
setx BINANCE_API_KEY "paste-your-key-here"
Check that Windows saved it
Open a new PowerShell window and run the line below. It prints True if the variable exists and never shows the secret itself.
[bool]$env:BINANCE_API_KEY
GMAYFF Bot: variables to set
Set Binance (the hedge account) plus the primary exchange you trade on. You only need the rows for exchanges you use.
| Exchange | Variables (exact names) |
|---|---|
| Binance (hedge, always needed) | BINANCE_API_KEYBINANCE_API_SECRET |
| Kraken | KRAKEN_API_KEYKRAKEN_API_SECRET |
| AsterDEX | ASTERDEX_USER_ADDRESS (your main wallet address)ASTERDEX_SIGNER_ADDRESS (the API wallet address)ASTERDEX_PRIVATE_KEY (the API wallet's private key) |
| Hyperliquid | HYPERLIQUID_ACCOUNT_ADDRESS (the trading account address)HYPERLIQUID_API_PRIVATE_KEY (the API wallet's private key)Optional: HYPERLIQUID_TESTNET = 1 to use the testnet |
| SoDEX | SODEX_ACCOUNT_ADDRESS (your main wallet address)SODEX_PRIVATE_KEY (the API key's private key, never your wallet key)SODEX_API_KEY_NAME (the name you gave the API key)Optional: SODEX_ACCOUNT_ID, and SODEX_NETWORK = testnet |
| Polymarket Perps | POLYMARKET_PROXY_PRIVATE_KEYPOLYMARKET_PROXY_SECRETOptional: POLYMARKET_PROXY_ADDRESS, POLYMARKET_ACCOUNT_ADDRESS, POLYMARKET_PROXY_EXPIRY |
For AsterDEX, Hyperliquid, SoDEX and Polymarket, use a dedicated API or agent wallet created on that exchange. Never use your main wallet's private key.
FS-Monitor: variables to set
The monitor works without any of these. Funding and spread data come from public market feeds. Set them only if you want your open positions to appear in the monitor's dashboard.
| Exchange | Variables (exact names) |
|---|---|
| Binance | BINANCE_API_KEY, BINANCE_API_SECRET |
| Kraken | KRAKEN_API_KEY, KRAKEN_API_SECRET |
| AsterDEX | ASTERDEX_USER_ADDRESS, ASTERDEX_SIGNER_ADDRESS, ASTERDEX_PRIVATE_KEY |
| Hyperliquid | HYPERLIQUID_ACCOUNT_ADDRESS, HYPERLIQUID_API_PRIVATE_KEY |
| SoDEX | SODEX_ACCOUNT_ADDRESS (address only, no key needed)Optional: SODEX_ACCOUNT_ID, SODEX_NETWORK |
| Polymarket Perps | POLYMARKET_ACCOUNT_ADDRESS (address only, no key needed) |
If you run both apps on one computer they share the same variables, so you set each one only once.
Keeping your credentials safe
- Any program you run under your Windows account can read your user variables. Run only software you trust, and keep Windows and your antivirus up to date.
- Restrict each API key to trading only, with withdrawals off and your IP address allowed where the exchange supports it.
- If a key may have leaked, delete it on the exchange first, create a new one, then update the variable and restart the app.
- To change a key later, edit the same variable in the dialog (select it, click Edit) and restart the app.
Running the bot
One hedge, start to finish
- Choose the primary exchange and the pair.
- Set the size you want to trade.
- Start the bot. It rests a limit order on the primary exchange and reprices it as the book moves.
- When the order fills, the bot opens the opposite position on Binance for the exact base quantity that was filled.
Running more than one bot
How many bots you can run at once depends on your package. The single GMAYFF Bot package and the Complete Stack include 1 bot. Multi-bot packages include the number of bots in the package name (for example 3 bots), and your order page and license key show what you bought. The same goes for monitors.
If you try to open more copies than your package allows, the extra copy shows a message and closes, so close one first or choose a larger package. Closing a copy, or a crash, frees its place straight away.
The window is compact enough to fit two side by side on a 1920 by 1080 screen. Instances on the same IP share the exchanges' API rate limits, so add them gradually and watch for rate-limit messages.
Auto hedge guard
In auto hedge guard mode the bot reads the funding data that FS-Monitor writes to funding_data.json. Keep the monitor running while you use this mode.
Using the monitor
The monitor lists funding and spread data for your pairs in one table. It shows funding as an hourly and a daily percentage so you can compare venues directly.
- Auto mode picks opportunities for you.
- Manual pairs: run a second monitor (this needs a package with 2 or more monitors) and add only the pairs you care about.
- The monitor writes its data to
funding_data.jsonfor the bot to read.
Your license
Each license works on one computer. Your license key is made for the computer you choose, using a short computer ID that the app shows you. A key copied to another computer will not run there.
- Start the app. On the first run, a window shows your computer ID (it looks like
1A2B3-C4D5E-6F708-91A2B) and copies it for you. - Open your order page (the link from your purchase), find Activate your license, paste the computer ID and click Get my license key.
- Copy the whole key and paste it into the app's window. Make sure nothing is cut off at either end. Line breaks are fine.
- Click OK. The app remembers the key, so it starts normally from then on.
If your package includes both apps, you enter the same computer ID once and use the same key in both. Activate the computer you will really use, because a key cannot be changed to another computer by yourself.
Moving to a new computer
Email support with your order number and say you are moving. We disable the old key, and you then activate the new computer from your order page in the same way. The old key stops working the next time the old computer connects to the internet, and within 7 days at the latest. Reinstalling Windows can change your computer ID, and if it does, the same email process applies.
Internet connection
The app checks your key on your computer. It also checks once at start-up whether your license is still valid, so it needs an internet connection at least once every 7 days. This check does not send your key, your computer ID or any exchange details.
Your key is saved at %APPDATA%\DeltaFlow on your computer.
Your key opens the apps in your package: a GMAYFF Bot key opens the bot, an FS-Monitor key opens the monitor, and a bundle key opens both. The key also sets how many copies of each app you can run at once. One key covers all the copies in your package, so you enter the same key in each app. Keep your key private. If it leaks, email support with your order number.
Troubleshooting
| Problem | What to try |
|---|---|
apiLimitExceeded on Kraken | You are running too many instances on one API key. Run fewer instances on Kraken, spread them across venues, or increase the order edit delay. |
| Hedge order rejected on Binance | Check that the Binance key has futures trading enabled and that the account has enough margin for the hedge size. |
| Monitor shows no data for a pair | Check the symbol exists on each venue. Not every pair is listed everywhere. |
| App says it cannot find an exchange key, or an exchange does not connect | Check that the variable name is typed exactly as in the tables, that you used User variables, and that you closed and reopened the app after adding them. Check for stray spaces or quotes in the value. |
| "Your license lets you run N windows at the same time" | You already have the maximum number of copies open for your package. Close one, or buy a larger package. If nothing else is open, restart your computer and try again. |
| "That license key is not valid" | Copy the key again from your order page, with nothing cut off. Make sure you are using the right product's key, since a bot key does not open the monitor. |
| "This license key belongs to a different computer" | The key was made for another computer ID. To use a new computer, email support with your order number, and we will free your license so you can activate the new one. |
| "Could not reach the license server" or "not been checked online for more than 7 days" | Connect to the internet and start the app again. If you are online and it still fails, check that your firewall or antivirus is not blocking the app, then email support. |
| Order page says the license is "already activated on another computer" | A license works on one computer. Email support with your order number to move it. |
| Windows blocks the app or the antivirus removes a file | Choose More info, then Run anyway. For an antivirus quarantine, restore the file and exclude the app folder. |
| Download link stopped working | Each order has a download limit. Email support with your order number and we will reset it. |
Support
Email support with your order number (the first eight characters of your order link) and a description of the problem. Do not send API keys.