Darren Lim

33 posts

Darren Lim

Darren Lim

@VersaTrader

KL-based dev. Exchange APIs, WebSocket infra, charting. Mostly frustrated, occasionally shipping.

Kuala Lumpur Katılım Mart 2026
37 Takip Edilen2 Takipçiler
Darren Lim
Darren Lim@VersaTrader·
@Tradesdontlie @tradingview The no-API constraint is what makes this interesting. You end up reverse-engineering the DOM instead of calling endpoints. Curious how stable the selector targeting is across TV updates, that tends to break silently. #TradingView #PineScript
English
1
0
0
625
Darren Lim
Darren Lim@VersaTrader·
@Ajaycodes_ KMS is the right call for prod. Look into envelope encryption, encrypt with a data key per user then wrap that key with KMS. Makes rotation painless. Happy to swap notes, the credential layer is one of those things you want to get right early. #crypto #algotrading
English
1
0
1
31
Ajay singh
Ajay singh@Ajaycodes_·
@VersaTrader Currently it's under dev, so just storing in db, but might use aws kms in production, i think you are building similar things too , we can have a discussion about the architecture and infrastructure layer if you are interested.
English
1
0
0
41
Darren Lim
Darren Lim@VersaTrader·
@carson3068 The block-based approach is smarter than chasing individual txs. Hit the same wall with exchange WebSockets, one message per block looks clean until you realise you are missing 99% of the data. Retry loops with a cap is the right call too. #crypto #algotrading
English
0
0
1
12
CARSON.hl
CARSON.hl@carson3068·
Hyperliquid data scraping Introduction I decided to start working on a public project where I’ll be sharing a step-by-step approach to building it. I’ve already created a project that should be great for this purpose, so in this post, I’ll describe what I’ve already done. In the future, we’ll be working together! 😁 The project’s code is publicly available on GitHub under this repository, so feel free to learn from it and contribute: github.com/carson2222/hl-… Motivations I’m running this project mainly for educational purposes, but I’m also helping my Solana DAO, @SaveTheWhal3s, by providing these tools to them. Currently, there’s only a tool for extracting large TWAPS placed on HL-related coins. Since I already have all the data scraped, I can use it in many ways. Is it really a blockchain? As you might find strange, I’m not actually using any blockchain-related stuff. To scrape data, I use API and WebSocket (WS) calls. Why? I don’t want to go into too much detail about how Hyperliquid works in this article, so I’ll keep it short. Yes, Hyperliquid will be a fully operational ENV chain like Polygon or Arbitrum. Right now, it’s only in testnet mode, meaning you can build and experiment on it, but there’s no real value involved yet. Normally, other chains at this stage just provide a testnet and leave it at that. However, we’ve been able to trade their token, HYPE, for quite some time now and use the blockchain as if it were fully operational. It’s like the mainnet EVM mode is working but not yet public. A simplified version of the blockchain is accessible via their API, meaning you can only perform specific actions they allow. Imagine they’ve built just one app so far, and that’s all you can use. Once they fully open up, we’ll be able to create new apps, use the blockchain more efficiently, and truly hold our tokens in our own EVM wallets. Right now, everything is API-based, and we don’t really know when that will change. Please don’t punish me for oversimplifying it! lol 😅 Finally, the CODE! Let’s start discussing my approach to monitoring all new transactions and how I manage the data. 1. Connecting to the Hyperliquid WebSocket Here, I simply use their UI explorer WebSocket to get all new blocks created on the blockchain. Initially, I tried using the WebSocket that returns new transactions, but I realized it only returns the first transaction of each block, even though there are hundreds or thousands per block. So the only way to go is by fetching blocks instead. Since this isn’t a normal public route, I don’t think they provide an option for fetching all transactions via their main WebSocket. hyperliquid.gitbook.io/hyperliquid-do… 2. Reading basic data Here, I make three fetch requests to api.hyperliquid.xyz/info to load essential data: - SpotMeta & PerpMeta contain metadata related to spot/perp tokens. We need this to determine which coin we’re dealing with when analyzing transaction data. - CoinMids is a list of all coin prices, which I use to calculate TWAP values and filter only the “big” ones. 3. Handling new messages Now, we use the WebSocket connection we established earlier. Each message contains an array of numbers representing block IDs, which we use to fetch transaction details. Usually, each message contains just one block, but not always—so we loop through them with forEach. 4. Fetching all block transactions Now, let’s talk about the fetchBlockInfo function from earlier. It’s simply an API call to fetch all transactions in a given block. Again, this uses an undocumented UI API route. I added a max 5 retry loop to minimize skipping blocks while avoiding an endless loop due to Hyperliquid errors. 5. Rate limit problem Hyperliquid states that block creation time is 200ms, meaning a new block appears every 0.2 seconds—that’s 300 requests per minute. At this point, I hit a wall, and I didn’t like the only solution available. They have a pretty strict rate limit. The only thing I could do to resolve this was to use multiple proxies. I found that ~25 proxies were enough to avoid 429 errors. A single residential proxy would have been enough, but the problem is the huge amount of data we’re scraping—around 100-200GB per day. Using a residential proxy would cost me thousands of dollars per month. So instead, I opted for 25 of the cheapest database proxies I could find. The speed doesn’t really matter; we just need the data. END That’s the end of this article, but just the beginning of our journey! I haven’t fully covered everything I’ve built yet, and there’s still a lot of cool stuff to do. In the next article, I’ll show you how I’m filtering the data and formatting it to generate neat webhooks like this: media.daily.dev/image/upload/s…
CARSON.hl tweet mediaCARSON.hl tweet mediaCARSON.hl tweet mediaCARSON.hl tweet media
English
4
0
8
261
Darren Lim
Darren Lim@VersaTrader·
WebSocket reconnection is never just reconnection. You need to resubscribe to every channel, diff the orderbook snapshot, and handle the gap without corrupting state. Every exchange handles this differently. #crypto #algotrading
English
0
0
1
21
Darren Lim
Darren Lim@VersaTrader·
@MMT_Official_ Appreciate that. Rate limit handling across 10+ exchanges at once is genuinely hard to get right. Will check out the discord. #crypto #trading
English
0
0
2
21
MMT
MMT@MMT_Official_·
@VersaTrader Our devs are cooking hard to make this smooth. You can reach out to them in the discord.
English
1
0
1
25
MMT
MMT@MMT_Official_·
Full aggregation across the board. No blind spots. Footprints. Heatmaps. DOM. Order books. CVD. OI. Liquidations. Spot + perps + inverse. Multi-exchange. One view. And yes, it’s now available in the free terminal. Because trading fragments of the market was never an edge.
English
6
7
178
7.8K
Darren Lim
Darren Lim@VersaTrader·
@PairTradeio @mscode07 Risk-first is the right framing. Most algo projects optimise for returns first and bolt on risk controls later, which always ends badly. How are you handling position sizing when multiple bots fire at the same time?
English
0
0
0
3
mscode07
mscode07@mscode07·
Drop your project URL Let’s drive some traffic Curious to know what you all are building 👇🏼
English
251
2
88
7.3K
Darren Lim
Darren Lim@VersaTrader·
@CryptoBullsCom The free tier problem is always the same, you get enough to get hooked, then pay to unlock what you actually need. Desktop TA workflow looks solid though. What indicators are you running on it?
English
1
0
0
5
Crypto Bulls Community
Crypto Bulls Community@CryptoBullsCom·
💎 New tool for crypto traders: TRADING RADAR — pro charting + Signals, 100% FREE Tired of subscriptions just to unlock basic chart features? Trading Radar is built for speed, clarity, and serious analysis — without paywalls: a complete desktop TA workflow plus built-in Signals to help you spot setups faster and make clearer decisions. What’s inside • Pro-grade charting: indicators + drawing tools (trendlines/channels/Fib/S/R), saved layouts & templates, multi-chart views • Trading workflow: watchlists, fast symbol switching, price + condition alerts • Signals 🔥: pair + timeframe feed, optional confirmations (trend/momentum/volatility), alerts, and “Why this signal?” so it’s not a black box ✅ 100% Free on Windows ✅ No subscription • No credit card 👉 apptradingradar.com/?utm_source=x&…
English
23
0
21
266
Darren Lim
Darren Lim@VersaTrader·
Six straight monthly losses. People keep blaming the market. Meanwhile the tools and systems you build during the quiet do not disappear when it recovers. The bear is boring but it is the best time to get your setup right. #CryptoTrading #trading
English
1
0
1
32
Darren Lim
Darren Lim@VersaTrader·
Bear market is the worst time to realize your charting tools cost more per month than your average weekly P&L. Most subscriptions don't pause when the market does.
English
0
0
0
23
Darren Lim
Darren Lim@VersaTrader·
TradingViews indicator limit on the free plan is fine when you're learning. It stops being fine when you actually know what you're doing and need 6 indicators on the same chart. That's when the upsell pressure starts.
English
0
0
0
19
Darren Lim
Darren Lim@VersaTrader·
@jareckyy Interesting that you're skipping indicators entirely. Wick rejection + sweep detection alone can be surprisingly reliable if you get the sequencing right. Curious how you handle the edge cases where manipulation and continuation look identical in real time.
English
0
0
0
3
YarecV
YarecV@jareckyy·
I’m building an AI-powered trading engine. Not based on indicators. Based on market behaviour. Core logic: Continuation Sweep Manipulation Value Time Candle Quality Pullback Structure Wick Rejection Sequence Logic Turning price action into structured decisions. #AITrading #BuildInPublic
English
1
0
0
19
Darren Lim
Darren Lim@VersaTrader·
@dimondime The changelog timing is the worst part. You find out something broke, dig through docs for an hour, then discover they updated the page after you already fixed it yourself. I keep a local diff of every exchange's API docs now. Only way to stay sane.
English
0
0
1
4
Dimon
Dimon@dimondime·
two exchange api changes in one month with zero notice. you deploy everything, test it, go to sleep feeling good. wake up to broken endpoints and a changelog that was posted 3 hours after the change actually went live. this is what building in crypto actually looks like and nobody talks about it
English
1
0
0
19
Darren Lim
Darren Lim@VersaTrader·
@CryptoCred This is exactly what happens when you try to code a scanner. The computer doesnt care if its a shooting star or a hammer. It just wants: is price rejecting a level after an impulse move, yes or no. Forces you to think in structure not labels.
English
0
0
0
3
Cred
Cred@CryptoCred·
Even if you're a discretionary vibe based TA punter, you should be able to categorise your ideas into a handful of buckets TA traders love fixating on specific pattern names "No, bro, it's an inverted Alec Baldwin Shooting Star, not a Doji!" But what they are really doing is mapping specific well-established market effects Momentum: It moved fast and hard, so it's going to keep moving fast and hard Trend: It's been moving in one direction, so it's going to keep moving in that direction Mean Reversion: It moved a shitload in one direction, so it's going to move a bit in the other Volatility Expansion: It's been going fucking nowhere, so it's about to go somewhere Absorption: Someone really tried to move it and it barely budged, so it's going the other way Catalyst / Catalyst Absorption: This news is about to blow up the book / This news should have blown up the book but didn't, so someone with deeper pockets is eating the headline traders At least now you can sound smart while losing money from drawing lines on charts (like me fr)
English
71
50
576
39.3K
Darren Lim
Darren Lim@VersaTrader·
@0xYpsono @noicedotso @OstiumLabs @uranium_io Building a full trading terminal in a weekend is a great filter for what actually matters. News feed, live data, clean layout. The hardest part is always the data pipeline, not the UI. How did you handle the reactor status feeds? Scraping or API?
English
0
0
0
2
YPSONO
YPSONO@0xYpsono·
Submitting metalxbt.io for the @noicedotso 48 hour challenge. Built the first commodities trading terminal over the weekend powered by @OstiumLabs & @uranium_io. Key features: > news feed with daily summary > live data feed for nuclear reactors active/outage > real-time updates on the latest regulations related to nuclear & uranium > interactive map of reactors and uranium mines > perpetual futures trading of URA & other commodities via @OstiumLabs SDK Thanks for the challenge @heettike.
YPSONO tweet media
noice@noicedotso

twitter.com/i/broadcasts/1…

English
5
2
14
4.4K
Darren Lim
Darren Lim@VersaTrader·
@DonAlt Correlation across the board has been insane. Ran the numbers on 50+ pairs recently, everything moving in lockstep. The rotation you'd expect in an alt season just isn't happening. Its one big trade right now.
English
1
0
0
2
DonAlt
DonAlt@DonAlt·
"We'll have no alt season ever again because we have infinite alts" Brother we get no alt season ever again because EVERYTHING is trading like an altcoin Besides altcoins, those trade like shit
English
69
31
1.2K
72.5K
Darren Lim
Darren Lim@VersaTrader·
@CredibleCrypto Honestly the quiet phases are when the most interesting stuff gets built. Every cycle the infra gets better because builders don't stop when price chops. CT comes back louder each time because there's actually more to talk about.
English
1
0
0
3
CrediBULL Crypto
CrediBULL Crypto@CredibleCrypto·
CT has been “dead” many times before, and it’s always during major price corrections or drawdowns… When number starts going up again, CT will come alive once more like it always does, but some of you will have left/given up by then. It does get “boring” at times, but that’s normal- not just for this market but for every one. People will come and go from CT, but those of us who have been here for nearly a decade know that all this is just temporary. Touch some grass, spend time with family and friends, start a passion project, do whatever you need to do to keep busy during the “boring” so that you’re one of the ones who is still here when the tide turns again, like it always does…
English
66
29
719
52.9K
Darren Lim
Darren Lim@VersaTrader·
@KoroushAK The slow grind is also way easier to manage from a risk perspective. You can place a tight stop below the last higher low. Spike into resistance gives you nothing clean to lean on if it rejects.
English
0
0
0
2
Koroush AK
Koroush AK@KoroushAK·
The best and worst patterns for Breakouts Best: - A slow, grinding staircase pattern approaching resistance. - Higher lows are stacking up. - Controlled, deliberate movement. Worst: - A fast vertical spike into resistance. - Price shoots up in one or two large candles. - This is exhaustion, not momentum. Video Explanation ↓
English
12
5
91
9.2K