<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Crypto on Prateek Sharma</title>
		<link>https://prateeksharma.me/tags/crypto/</link>
		<description>Recent content in Crypto on Prateek Sharma</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Sun, 23 Aug 2026 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://prateeksharma.me/tags/crypto/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>WazirX Go Connector</title>
				<link>https://prateeksharma.me/projects/wazirx-connector-go/</link>
				<pubDate>Sun, 23 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://prateeksharma.me/projects/wazirx-connector-go/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://wazirx.com&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;WazirX&lt;/a&gt;&#xA; is one of India&amp;rsquo;s largest crypto exchanges, and&#xA;while its REST API is well documented, it doesn&amp;rsquo;t ship an official Go client. I&#xA;wanted to poke at their API for a side project and didn&amp;rsquo;t want to hand-roll&#xA;request signing and endpoint plumbing every time, so I built&#xA;&lt;a href=&#34;https://github.com/pratts/wazirx-connector-go&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;wazirx-connector-go&lt;/a&gt;&#xA; and&#xA;open-sourced it once it was in decent shape.&lt;/p&gt;&#xA;&lt;h2 id=&#34;avoiding-25-near-identical-methods&#34;&gt;Avoiding ~25 near-identical methods&lt;/h2&gt;&#xA;&lt;p&gt;The exchange exposes close to two dozen endpoints — tickers, order book depth,&#xA;order placement, withdrawals, sub-account transfers, and so on. Writing a&#xA;hand-rolled method for each one would have meant the same boilerplate repeated&#xA;two dozen times: build params, sign if needed, pick GET/POST/DELETE, hit the URL,&#xA;parse the response.&lt;/p&gt;</description>
			</item>
			<item>
				<title>WazirX Java Connector</title>
				<link>https://prateeksharma.me/projects/wazirx-connector-java/</link>
				<pubDate>Sun, 23 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://prateeksharma.me/projects/wazirx-connector-java/</guid>
				<description>&lt;p&gt;After building the &lt;a href=&#34;https://prateeksharma.me/projects/wazirx-connector-go/&#34;&gt;Go connector&lt;/a&gt;&#xA; for WazirX, I&#xA;wanted the same thing on the JVM — but WazirX doesn&amp;rsquo;t publish an official Java&#xA;client at all, REST or WebSocket. The REST half was a fairly direct port of what&#xA;I&amp;rsquo;d already learned building the Go client. The WebSocket half turned out to be&#xA;its own project.&lt;/p&gt;&#xA;&lt;h2 id=&#34;letting-callers-choose-their-failure-granularity&#34;&gt;Letting callers choose their failure granularity&lt;/h2&gt;&#xA;&lt;p&gt;For errors, I didn&amp;rsquo;t want every caller forced into one giant catch-all&#xA;exception, but I also didn&amp;rsquo;t want to force a &lt;code&gt;try/catch&lt;/code&gt; at every single call&#xA;site. I split errors into two, with one extending the other:&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
