Bitcointalk username: Dentianaedo
ADM address: U4052524789207824071
Exchange + pair: NonKYC, BNB/USDT
Install method: npm, on Windows via WSL2 (Ubuntu 26.04)
My ADAMANT Market-Making Software Review 🛠️
I tested this on my own Windows machine instead of a VPS, using WSL2, figured that's what a lot of small teams/solo issuers would actually do if they're not already running a Linux box somewhere. Here's how it went, warts and all.
🧩 Getting WSL Working
First hurdle had nothing to do with the bot itself. WSL flat out refused to launch Ubuntu after install, throwing:
Catastrophic failure / Error code: Wsl/Service/E_UNEXPECTED
Took a few rounds of disabling/re-enabling the "Windows Subsystem for Linux" and "Virtual Machine Platform" features (restart in between each) plus wsl --update before it finally launched. Not ADAMANT's fault at all, but worth flagging since anyone new to WSL is going to hit this.
⚙️ Installing Node, MongoDB & the Bot
Node.js 22 and MongoDB installed exactly as documented in the README, copy-paste and it just worked, no complaints.
Installing the bot itself (npm install -g adamant-tradebot) failed the first time with an EACCES permission error, because the default global npm folder needed root. Fixed it by pointing npm's global prefix at a folder in my home directory instead of running everything through sudo.
🧙 The mm init Wizard
Clean, asks exactly what it needs (exchange, pair, API key/secret, ADM addresses), and gives a clear summary before saving the config.
One small annoyance: it wouldn't let me leave the Manager ADM address field empty, even though I only wanted to run the bot from the terminal. Had to generate a throwaway ADM wallet just to get past that step.
❌ Where It Broke: Exchange Connection
Config picked NonKYC and BNB/USDT as the pair. This is where things went wrong. Every time I ran mm doctor or mm on, it failed preflight with:
getMarkets failed: getMarkets returned no data
I spent a good while trying to rule out that this was something I did wrong:
✅ Checked config.jsonc directly, API key + secret saved correctly, with read+trade permissions (withdraw kept off on purpose)
✅ Ran a plain curl against NonKYC's public markets API from the same shell, got back valid JSON with BNB/USDT listed and active
✅ Checked BNB/USDT directly on NonKYC's site, real order book, real volume, nothing wrong with the market
So at this point I'm fairly confident the issue lives inside the bot's NonKYC connector, not on my end.
🔍 Debugging Was Harder Than It Should Be
mm logs barely gave me anything, the log file only had [The bot started] entries, no actual error detail or stack trace from the failed API call. I also tried mm logs --grep error, which errored out the first time on syntax (Missing value for --grep). Even after fixing that, there was nothing useful to grep since the real error just wasn't being logged in the first place.
For a self-hosted tool aimed at people troubleshooting on their own, better error logging here would go a long way.
Bottom line: I could not get the bot to actually run against NonKYC. Everything up to the exchange connection worked well, but that's also the part that actually matters, so I can't speak to order book building, spread management, or Messenger commands since it never got that far.
✅ What I Liked
mm doctor as a concept, one command checking install, config, DB, exchange API, and runtime is genuinely good design
Config file comments are clear, better than most bot configs I've used
⚠️ What Didn't Work / Was Confusing
Exchange API connection to NonKYC fails at getMarkets with no useful log detail to debug it
Manager ADM address shouldn't be mandatory if you're only using the CLI
mm logs --grep syntax isn't obvious and errors unhelpfully on first try
💡 Config Tip
If you hit the "Catastrophic failure" WSL error on first launch, don't bother reinstalling, just toggle the WSL / Virtual Machine Platform Windows features off and on (restart between each), then wsl --update.
🏁 Conclusion
Would I recommend this to a token issuer today? Cautiously. The whole self-hosted, no-custody-transfer approach is exactly the right pitch, and the CLI tooling (mm init / mm doctor) is well thought out.
I've reported the getMarkets issue to the team directly, will update this post if I hear back or if it gets fixed.
Screenshots attached:
mm init completed — config summary
https://i.postimg.cc/8zQwnJYV/image.pngmm doctor output showing the FAILED exchange API check
https://i.postimg.cc/MTK9bCF6/image.pngNonKYC BNB/USDT live order book/chart
https://i.postimg.cc/t4kSZRr9/image.pngcurl output confirming NonKYC's API returns BNB/USDT data directly
https://i.postimg.cc/MTMdF7zK/image.png