<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinos-server.git/lib/register.ts, branch staging</title>
<subtitle>coinos server — legacy coinos.io backend (Lightning, on-chain, Liquid)</subtitle>
<id>https://git.coinos.io/coinos-server.git/atom?h=staging</id>
<link rel='self' href='https://git.coinos.io/coinos-server.git/atom?h=staging'/>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/'/>
<updated>2026-06-17T14:47:48Z</updated>
<entry>
<title>analytics: monthly insight reports + signup instrumentation</title>
<updated>2026-06-17T14:47:48Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-06-14T19:36:43Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=33de17fa10e4fc7f44456cfbb3152fd16c86a567'/>
<id>urn:sha1:33de17fa10e4fc7f44456cfbb3152fd16c86a567</id>
<content type='text'>
Port of master 183a3cb0 + 3db24424. scripts/analytics.ts streams live db
(SCAN, never KEYS) and reports a trailing window: MAU/WAU, new users,
custody total + top holders, network volume by type, most-active/highest-
volume users, bolt12 recipients; --csv flag for month-over-month trends.
scripts/analytics-geo.ts reports top countries from the request log.
lib/register.ts stamps `created` and stores `country` on new users so
reports get signup timing/geography from the db directly.

Note: these scripts were written against the master stack; on staging
balances live in TigerBeetle, so custody/holder figures may need the
balance source adjusted from the Redis balance: keys.

Co-Authored-By: Claude Opus 4.8 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix typescript issues</title>
<updated>2026-02-28T23:16:20Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-02-28T23:16:20Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=32f01e3e328db0006a55c6324625b49d60244b66'/>
<id>urn:sha1:32f01e3e328db0006a55c6324625b49d60244b66</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove default custodial account name</title>
<updated>2026-02-28T07:48:25Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-02-28T07:48:25Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=76c7e52172f3dc25ee109434157d4d982ad9d2bd'/>
<id>urn:sha1:76c7e52172f3dc25ee109434157d4d982ad9d2bd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>client-side password auth</title>
<updated>2026-02-27T00:08:00Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-02-27T00:08:00Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=50e2b3297e2b6f7d2e15f11f2fb511fa39c5bb28'/>
<id>urn:sha1:50e2b3297e2b6f7d2e15f11f2fb511fa39c5bb28</id>
<content type='text'>
</content>
</entry>
<entry>
<title>formatting</title>
<updated>2026-02-24T21:18:42Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-02-24T21:18:42Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=ad7b09b43323d0ffc0a8ddabb43e4838a184c697'/>
<id>urn:sha1:ad7b09b43323d0ffc0a8ddabb43e4838a184c697</id>
<content type='text'>
</content>
</entry>
<entry>
<title>passkey auth</title>
<updated>2026-02-16T19:51:41Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-02-16T19:51:41Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=ee0513838b1d336fa60eb9a8f7ca1ce43e6d9e40'/>
<id>urn:sha1:ee0513838b1d336fa60eb9a8f7ca1ce43e6d9e40</id>
<content type='text'>
</content>
</entry>
<entry>
<title>upgrade dependencies</title>
<updated>2026-02-06T17:00:22Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-02-06T03:00:39Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=310568dea00de03edd27b702a881e66fd7b5b837'/>
<id>urn:sha1:310568dea00de03edd27b702a881e66fd7b5b837</id>
<content type='text'>
- Fastify 4→5 with all plugins
- @noble/hashes 1→2, @scure/base 1→2, @scure/bip32 1→2
- redis 4→5, pino 8→10, got 13→14, uuid 8→13, ws 7→8
- nostr-tools 2.16→2.23 (fix getPublicKey to pass Uint8Array)
- Remove unused deps: date-fns, buffer-crc32, readable-stream-clone
- Fix @noble/hashes import paths for v2 (.js extensions)
- Fix Fastify maxParamLength deprecation (use routerOptions)
- Convert sharp require() to ES import

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>tigerbeetle</title>
<updated>2026-02-06T17:00:09Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-02-05T07:13:33Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=1ebc40afc14a75d7fe157b2c6c20ffea9dedb5eb'/>
<id>urn:sha1:1ebc40afc14a75d7fe157b2c6c20ffea9dedb5eb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>check username</title>
<updated>2026-01-19T00:27:30Z</updated>
<author>
<name>Adam Soltys</name>
<email>asoltys@gmail.com</email>
</author>
<published>2026-01-19T00:27:30Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=08d292474e8310a73fb28d35c500bd8063b73ca3'/>
<id>urn:sha1:08d292474e8310a73fb28d35c500bd8063b73ca3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>check for syncSquare</title>
<updated>2025-09-08T18:13:32Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-09-08T18:13:32Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=fd63ceacaf9b190d43dbaf6a382d13525e45cdf0'/>
<id>urn:sha1:fd63ceacaf9b190d43dbaf6a382d13525e45cdf0</id>
<content type='text'>
</content>
</entry>
</feed>
