<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[NenzyBrown]]></title><description><![CDATA[NenzyBrown]]></description><link>https://nenzybrown.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sun, 01 Nov 2026 10:10:51 GMT</lastBuildDate><atom:link href="https://nenzybrown.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Nobody Opens a Website at the Moment of Risk]]></title><description><![CDATA[Here's a pattern I kept noticing while shipping safety tools this month. I would build a checker, put it on a clean website, and then watch the actual…]]></description><link>https://nenzybrown.hashnode.dev/nobody-opens-a-website-at-the-moment-of-risk</link><guid isPermaLink="true">https://nenzybrown.hashnode.dev/nobody-opens-a-website-at-the-moment-of-risk</guid><dc:creator><![CDATA[CUSD Deployer]]></dc:creator><pubDate>Sat, 31 Oct 2026 23:00:39 GMT</pubDate><content:encoded><![CDATA[<p>Here's a pattern I kept noticing while shipping safety tools this month. I would build a checker, put it on a clean website, and then watch the actual risky moment happen somewhere else entirely — inside a chat app. A link arrives in Telegram. A "support agent" is typing. The decision gets made in that window, with the website nowhere in sight.</p>
<p>So the tools moved. @NenzyBrownAssistantBot on Telegram started life as a simple front desk for my work — services, questions, orders through <code>/order</code>. On 31 October it gained <code>/signsafe</code>, and with that it stopped being a front desk and started being where the products actually get used.</p>
<h2>A signature check, inside the conversation</h2>
<p>The flow takes seconds. Someone sends you a mint link or a "verify your wallet" page, you connect, and a signing request appears. Copy it into the bot with <code>/signsafe</code> and the reply breaks it down — the spender, the amount, the expiry, and whether it follows the drainer pattern of an unlimited approval pointed at an address you've never dealt with.</p>
<p>No tab-switching, no remembering a URL under pressure. The check sits in the same thread as the threat, which sounds like a small thing until you picture the alternative: a person mid-scam, being hurried by a fake support account, deciding whether to open a browser and find a tool they bookmarked last month. They won't. A command they can type right there, they might.</p>
<h2>The rest of the shelf, one bot away</h2>
<p>The bot carries the other tools as well. ProofReceipt for delivery proof when a file changes hands. ScamOrNot for the suspicious message itself — the parcel text, the prize claim, the too-friendly trading tip. Between the three, most of the ways money leaks out of a chat get at least one chance to be interrupted.</p>
<p>Underneath, it's the same engines as the websites, asked the same questions, giving the same answers. I didn't rebuild anything for Telegram. I just stopped insisting that people come to the tools, and took the tools to the room where the decisions happen.</p>
<h2>A small product with a big confession</h2>
<p>Everything here is days old and pre-revenue. The bot isn't hiding a growth chart; there isn't one. What it has is a distribution idea I wish I'd started with: safety features only work at the point of risk, and for most people that point is a chat window, not a homepage.</p>
<p>Try the <code>/signsafe</code> command on an approval you'd normally wave through, and compare the bot's reading with your own. Agreement is reassuring. Disagreement is more useful — send it to me either way.</p>
]]></content:encoded></item><item><title><![CDATA[A Broken Promise That Paid Out on Its Own]]></title><description><![CDATA[The most useful transaction in the WordBond pilot is one where a seller failed. The deadline passed, no delivery was confirmed, and the contract paid the…]]></description><link>https://nenzybrown.hashnode.dev/a-broken-promise-that-paid-out-on-its-own</link><guid isPermaLink="true">https://nenzybrown.hashnode.dev/a-broken-promise-that-paid-out-on-its-own</guid><dc:creator><![CDATA[CUSD Deployer]]></dc:creator><pubDate>Sat, 31 Oct 2026 22:59:41 GMT</pubDate><content:encoded><![CDATA[<p>The most useful transaction in the WordBond pilot is one where a seller failed. The deadline passed, no delivery was confirmed, and the contract paid the buyer anyway — 90 out of 100 coverage, automatically, with 10 going to the fee address. Nobody opened a ticket. Nobody wrote an angry thread. The money just moved, because the rules for moving it were set before the promise was made.</p>
<p>That's the idea in one transaction. WordBond lets a seller back a delivery promise with a real bond held in a vault contract. Keep the promise and the bond stays yours. Break it and the buyer is compensated from the bond. It's running as a public pilot at <a href="https://wordbond-pilot.netlify.app">https://wordbond-pilot.netlify.app</a> — on Base Sepolia testnet, with a mock token, and I'll keep repeating that part because the distinction between test money and real money is where projects like this usually get slippery.</p>
<h2>What happens between deposit and payout</h2>
<p>The seller funds the bond first. Only then can they register a promise, and the contract does the arithmetic at registration: coverage plus the 2% registration fee has to fit inside the posted bond, or the transaction reverts. There's no honour-system version where a seller promises 500 against a bond of 50 and hopes nobody checks. The check is the contract.</p>
<p>Delivery runs on a buyer code. Goods arrive, the buyer confirms, the promise closes as kept. Silence until the deadline means broken, and broken means the payout path runs. Pulling a bond back out carries a 7-day wait, so a seller can't quietly empty the vault the evening before several deadlines land.</p>
<h2>The mistake the pilot caught</h2>
<p>Pilots earn their keep by failing cheaply, and this one did. The first version of the public board read the vault through functions I thought I had deployed rather than the ones actually in the contract, and under that reading a broken promise would have displayed as kept. On a trust product, that's the worst bug category there is — the dashboard smiling while the state says otherwise. The fix read the chain through a raw layer matched to the real contract, the board now shows the pilot's three test promises correctly — one open, one kept, one broken — and I wrote up the error instead of quietly patching it.</p>
<h2>Not mainnet, on purpose</h2>
<p>The vault has no admin withdrawal, no pause switch and no upgrade path, by design. What's missing before real money is unglamorous: an external audit, legal advice, and the gas to deploy properly. Until those exist, the pilot stays on testnet where anyone can inspect every state and every payout for free.</p>
<p>If you buy from small sellers online, the question I'd genuinely like answered is this: would a visible bond change who you buy from — or is it one more badge you'd learn to ignore?</p>
]]></content:encoded></item><item><title><![CDATA[Read the Signature, Not the Button]]></title><description><![CDATA[Every crypto user has done the same small ritual. A site asks you to connect. A popup appears with an address that scrolls off the edge, a number with more…]]></description><link>https://nenzybrown.hashnode.dev/read-the-signature-not-the-button</link><guid isPermaLink="true">https://nenzybrown.hashnode.dev/read-the-signature-not-the-button</guid><dc:creator><![CDATA[CUSD Deployer]]></dc:creator><pubDate>Sat, 31 Oct 2026 22:58:51 GMT</pubDate><content:encoded><![CDATA[<p>Every crypto user has done the same small ritual. A site asks you to connect. A popup appears with an address that scrolls off the edge, a number with more digits than a phone number, and a blue button. You click it, because everyone clicks it, because the thing you actually wanted is on the other side.</p>
<p>The uncomfortable truth is that the click is the contract. Not the token swap afterwards — the signature itself. Some of those requests are harmless logins. Others quietly approve a third party to spend your tokens, and a few approve all of them, for years, in one tap.</p>
<p>SignSafe, live at <a href="https://signsafe-app.netlify.app">https://signsafe-app.netlify.app</a>, translates the request before you sign it. Paste in the payload — a permit, typed data, an approval — and it reads back, in sentences: this address can move this much of this token, until this date. Then it scores the request against the shapes drainers use.</p>
<h2>Three things it calls out by name</h2>
<p><strong>The unlimited approval dressed as a small one.</strong> Raw amounts hide their size. A figure in the quadrillions just looks like a long number in a popup; decoded, it's effectively no limit at all. SignSafe says "unlimited" when that's what the number means.</p>
<p><strong>Approve-everything calls.</strong> A setApprovalForAll request doesn't concern one item. It hands over an entire collection in a single signature. The translation puts that in the first line, not the footnotes.</p>
<p><strong>A spender that doesn't belong.</strong> Requests often name-drop a protocol. If the address set to receive your approval isn't that protocol's, the mismatch gets flagged instead of buried. Known names like Uniswap's Permit2 and OpenSea's Seaport are matched against what's actually in the payload.</p>
<h2>Why it runs where it runs</h2>
<p>The analysis happens in the browser tab. Your pasted request isn't uploaded, logged or kept, because a safety tool has no business building a database of what people almost signed. The same engine also sits inside my Telegram bot now, for the times the dodgy link reaches you in a chat — which, let's be honest, is most of the time.</p>
<h2>Limits, stated while I'm ahead</h2>
<p>It decodes the common request shapes — EIP-712 typed data, permits, Permit2, the standard approval functions. An unusual payload it can't parse gets called unparseable, not safe. It launched on 31 October, it's free for a few checks a day, and it hasn't earned anything yet. Tools like this earn trust by being right in public, slowly.</p>
<p>Next time a popup asks for a signature, take the extra twenty seconds and read the translation first. The button will still be there. Your tokens might not be, afterwards.</p>
]]></content:encoded></item><item><title><![CDATA[The Message Arrives at the Worst Possible Moment]]></title><description><![CDATA[Scam messages are timed well. The parcel fee text lands when you're actually waiting for a parcel. The "account suspended" warning shows up on a busy…]]></description><link>https://nenzybrown.hashnode.dev/the-message-arrives-at-the-worst-possible-moment</link><guid isPermaLink="true">https://nenzybrown.hashnode.dev/the-message-arrives-at-the-worst-possible-moment</guid><dc:creator><![CDATA[CUSD Deployer]]></dc:creator><pubDate>Sat, 31 Oct 2026 22:58:11 GMT</pubDate><content:encoded><![CDATA[<p>Scam messages are timed well. The parcel fee text lands when you're actually waiting for a parcel. The "account suspended" warning shows up on a busy morning. Whoever wrote it is counting on you being rushed, tired or halfway through paying already — that ten-second window is the whole business model.</p>
<p>ScamOrNot exists for those ten seconds. It's a free checker at <a href="https://scamornot-app.netlify.app">https://scamornot-app.netlify.app</a>: paste the message, the link or the wallet address, and get a risk score with each red flag named in ordinary words, plus a suggestion for what to do next.</p>
<h2>What's under the paste box</h2>
<p>The checker looks for the shapes scams reuse. A fee you must pay before money gets "released". A prize from a draw you never entered. A stranger who turns friendly fast, then starts talking about a trading mentor. Links wearing a real brand's name on the wrong domain. A wallet address attached to a story that doesn't add up.</p>
<p>Some warnings matter far more than others, so the engine weights them. Anything asking for a seed phrase or a verification code sits at the top of the scale — no honest company asks for those, ever. Pressure and secrecy add weight. A single mild oddity gets noted, not screamed about.</p>
<h2>Built to stay out of the way</h2>
<p>Two design calls I'm still happy with.</p>
<p>First, everything runs in your browser. The text you paste never gets sent to a server or stored. People paste genuinely private messages into a checker like this — bank texts, family chats — and a privacy promise in small print means less than an architecture where uploading isn't possible in the first place.</p>
<p>Second, it had to learn restraint. Genuine bank messages and security advice mention scary words, and early versions scored some of them badly. The tuning work — the unglamorous, repeated testing against real scam scripts and boring real messages — is what got known scams landing high and everyday messages landing at zero.</p>
<h2>What I'd tell a family member</h2>
<p>This isn't a guarantee and it doesn't pretend to be one. No pattern list catches a brand-new script, and a low score means "nothing obvious showed up", not "safe". If money is about to move, the checker is a pause button, not a permission slip. Phone the bank on the number printed on your card. That advice is boring because it works.</p>
<p>The checker is free for a few checks a day with no account, and it launched two days ago with zero revenue behind it. If a message has ever made you hesitate with your thumb over the send button, that's precisely the message it was built for.</p>
]]></content:encoded></item><item><title><![CDATA[Machines That Deliver Work Need Receipts Too]]></title><description><![CDATA[A freelancer in a payment dispute can at least write an angry email. An AI agent can't. It delivers a file, the other side says the file was wrong or never…]]></description><link>https://nenzybrown.hashnode.dev/machines-that-deliver-work-need-receipts-too</link><guid isPermaLink="true">https://nenzybrown.hashnode.dev/machines-that-deliver-work-need-receipts-too</guid><dc:creator><![CDATA[CUSD Deployer]]></dc:creator><pubDate>Sat, 31 Oct 2026 22:56:56 GMT</pubDate><content:encoded><![CDATA[<p>A freelancer in a payment dispute can at least write an angry email. An AI agent can't. It delivers a file, the other side says the file was wrong or never came, and there's no argument the agent can make — it has whatever records the system kept, and that's the end of it.</p>
<p>That gap is why I built a second piece for ProofReceipt. The receipt app at <a href="https://proofreceipt.netlify.app">https://proofreceipt.netlify.app</a> has been live for a while: hash a file with SHA-256 at delivery, keep the receipt, and the file's identity stops being a matter of opinion. The newer part is a verification endpoint built for software, not people.</p>
<h2>One endpoint, one question</h2>
<p>The endpoint lives at <a href="https://proofreceipt-verify.netlify.app">https://proofreceipt-verify.netlify.app</a>. Software sends it a receipt and an amount. It answers MATCH or MISMATCH and, on a mismatch, points at the check that failed.</p>
<p>Two tamper cases shaped the whole design. Edit a single character in the delivered file — mismatch. Change a single cent in the amount — mismatch. If a receipt system waves either of those through, it's decoration, so those were the tests I kept rerunning while building it.</p>
<h2>Why it answers 402 on purpose</h2>
<p>The endpoint speaks x402, which means payment is part of the HTTP conversation. No signup, no key management, no subscription tier. An unpaid call receives a 402 Payment Required response carrying the price: half a percent of the invoice amount being verified, rounded up, never below one cent. Verifying a $25 invoice comes to 12.5 cents. A $2 invoice hits the floor.</p>
<p>For a person, 12 cents is nothing. For an automated flow checking hundreds of deliveries, a price that scales with the invoice makes more sense than a flat fee — and a protocol-level payment means an agent can pay it without a human opening a billing page.</p>
<h2>The part that's still test mode</h2>
<p>Straightforwardly: the endpoint currently runs on Base Sepolia, in test mode, while mainnet payment keys are pending. The 402 challenge it returns is genuine, the verdicts are genuine, and the format matches the live receipt app byte for byte. What isn't live yet is real-money settlement, and I'd rather state that here than let anyone assume it.</p>
<h2>Where this fits</h2>
<p>Escrow platforms, freelance marketplaces and agent frameworks all run into the same wall — delivery is easy to claim and awkward to prove. A hash receipt plus a callable check doesn't solve trust, but it shrinks the argument from "who's telling the truth" to "does the hash match", and that second argument ends quickly.</p>
<p>ProofReceipt is pre-revenue and the endpoint hasn't taken a mainnet payment. Try the manual side if you deliver files for money; try breaking a receipt if you don't. Both teach you more than this post can.</p>
]]></content:encoded></item><item><title><![CDATA[I built ScamOrNot — a free scam checker for the moment of doubt]]></title><description><![CDATA[Every day, ordinary people lose money to messages that felt almost right. A "wrong number" chat that turns into a trading mentor with an uncle at an…]]></description><link>https://nenzybrown.hashnode.dev/i-built-scamornot-a-free-scam-checker-for-the-moment-of-doubt</link><guid isPermaLink="true">https://nenzybrown.hashnode.dev/i-built-scamornot-a-free-scam-checker-for-the-moment-of-doubt</guid><dc:creator><![CDATA[CUSD Deployer]]></dc:creator><pubDate>Fri, 30 Oct 2026 17:20:27 GMT</pubDate><content:encoded><![CDATA[<p>Every day, ordinary people lose money to messages that <em>felt almost right</em>.</p>
<p>A "wrong number" chat that turns into a trading mentor with an uncle at an exchange. A prize that only needs a $45 processing fee. A parcel held at customs for a small redelivery charge. A job that pays $300 a day to like videos — withdrawals after you "recharge."</p>
<p>Global scam losses run past <strong>$1 trillion a year</strong>. The victims are not stupid. The scripts are professional, patient, and engineered around one moment: the moment of doubt, when something feels off but you act anyway because the pressure is louder than the doubt.</p>
<p>So I built a tool for exactly that moment.</p>
<h2>ScamOrNot</h2>
<p>👉 <strong><a href="https://scamornot-app.netlify.app">https://scamornot-app.netlify.app</a></strong></p>
<p>Paste any suspicious <strong>message, link, or wallet address</strong>. You get back:</p>
<ul>
<li>A <strong>risk score</strong> out of 100</li>
<li>Every <strong>red flag found</strong>, explained in plain English — not "pattern matched," but <em>why</em> it's a fraud signal</li>
<li><strong>What to do next</strong>, specific to the flags found</li>
</ul>
<p>No sign-up. No account. And by design, <strong>the check runs entirely in your browser</strong> — what you paste is never uploaded or stored anywhere. A scam checker that collects your private messages would be a strange kind of irony.</p>
<h2>One job, done well</h2>
<p>I took the narrowest possible scope on purpose: not a security suite, not an AI platform — one job. <em>Tell me if this thing is a scam.</em></p>
<p>Under the hood it's a pattern engine covering 15 fraud families:</p>
<ul>
<li>Seed-phrase and credential theft</li>
<li>Advance-fee "pay to unlock" structures</li>
<li>Crypto doubling giveaways</li>
<li>Pig-butchering scripts (the friendly-stranger-to-trading-platform pipeline)</li>
<li>Task-job scams, fake parcels, authority impersonation, romance-to-money pivots</li>
<li>Plus structural link analysis: brand names on domains the brand doesn't own, punycode look-alikes, IP-address hosts, @-trick URLs, abused TLDs</li>
</ul>
<h2>Calibrated, not vibes</h2>
<p>Before launch I tested it against the cases that matter — real scam scripts and, just as important, things that must <strong>not</strong> be flagged:</p>
<table>
<thead>
<tr>
<th>Case</th>
<th>Score</th>
</tr>
</thead>
<tbody><tr>
<td>Pig-butchering "mentor" pitch</td>
<td>45 — High risk</td>
</tr>
<tr>
<td>Crypto doubling giveaway</td>
<td>64 — High risk</td>
</tr>
<tr>
<td>Seed-phrase "wallet validation"</td>
<td>66 — High risk</td>
</tr>
<tr>
<td>Fake PayPal login link</td>
<td>50 — High risk</td>
</tr>
<tr>
<td>Advance-fee lottery prize</td>
<td>62 — High risk</td>
</tr>
<tr>
<td>Parcel-held customs text</td>
<td>70 — Almost certainly a scam</td>
</tr>
<tr>
<td>A normal team message</td>
<td>0</td>
</tr>
<tr>
<td>The real paypal.com</td>
<td>0</td>
</tr>
<tr>
<td>A genuine bank transaction SMS</td>
<td>0</td>
</tr>
<tr>
<td>A security article saying "never share your seed phrase"</td>
<td>0</td>
</tr>
</tbody></table>
<p>That last one needed a deliberate guard: safety education <em>mentions</em> the dangerous phrases while warning against them. Context matters, so the engine checks for protective framing before it counts a theft pattern.</p>
<h2>Honest limits</h2>
<p>ScamOrNot is a pattern checker, not an oracle. It says so on the page: a clean result means <em>no strong patterns detected</em>, never <em>guaranteed safe</em>. Scammers adapt; the last line of defence is still the pause — verify through the official app or the number on your card, never through the message itself.</p>
<h2>Why free, and what's paid</h2>
<p>The moment of doubt is exactly when help should cost nothing, so checks are free (3 a day). <strong>Pro is $9/month</strong> for unlimited checks — paid in USDC, because the people who need this most are often screening gig offers and deals in crypto-native spaces. Teams is $29 for communities and family groups that forward each other "opportunities."</p>
<p>It joins my other build, <a href="https://proofreceipt.netlify.app">ProofReceipt</a> (SHA-256 delivery receipts for freelancers) — both came out of the same conviction: small, verifiable tools that protect people at the exact moment money is about to move.</p>
<p>Try it on the next "opportunity" that lands in your DMs. And send it to the one person in your family who forwards everything — they're the ones who need it most.</p>
<p>— NenzyBrown, Dubai</p>
]]></content:encoded></item><item><title><![CDATA[Building in Public: What I Shipped This Week — Telegram Bot v3 and ProofReceipt Verification]]></title><description><![CDATA[I am Nenzy Brown, a self-taught founder in Dubai with 5+ years in AI and blockchain. I am founder of Cryptohost USD, Turbo USD, PlateWallet, and…]]></description><link>https://nenzybrown.hashnode.dev/building-in-public-what-i-shipped-this-week-telegram-bot-v3-and-proofreceipt-verification</link><guid isPermaLink="true">https://nenzybrown.hashnode.dev/building-in-public-what-i-shipped-this-week-telegram-bot-v3-and-proofreceipt-verification</guid><category><![CDATA[buildinpublic]]></category><dc:creator><![CDATA[CUSD Deployer]]></dc:creator><pubDate>Thu, 29 Oct 2026 16:44:36 GMT</pubDate><content:encoded><![CDATA[<p>I am Nenzy Brown, a self-taught founder in Dubai with 5+ years in AI and blockchain. I am founder of Cryptohost USD, Turbo USD, PlateWallet, and ProofReceipt. No degree, no invented clients or earnings — this is a plain update on what I shipped this week and what it costs to hire me for similar work.</p>
<h2>What I shipped this week</h2>
<h3>Telegram bot v3: a free crypto front desk</h3>
<p>I shipped v3 of my free Telegram crypto front desk, @NenzyBrownAssistantBot. It gives prices, token safety checks, alerts, and market news. Try it free here: <a href="https://t.me/NenzyBrownAssistantBot">https://t.me/NenzyBrownAssistantBot</a></p>
<p>The token checker and alerts are the parts I focused on this week: a quick check before you interact with an unfamiliar token, and alerts so you do not have to keep refreshing prices yourself. The channel for updates is @nenzybrownbuilds.</p>
<h3>ProofReceipt verification</h3>
<p>I also worked on ProofReceipt verification. ProofReceipt is SHA-256 delivery verification for freelancers, live at <a href="https://proofreceipt.netlify.app">https://proofreceipt.netlify.app</a>. It is pre-revenue, and I am sharing it as a built product, not as a traction claim.</p>
<p>My other product in progress is PlateWallet, a UAE license-plate payment network launching in 2026. It is pre-revenue and pre-pilot.</p>
<h2>What it costs to hire me</h2>
<p>I take direct hires. Here is the current list:</p>
<ul>
<li>AI agent builds — from $150</li>
<li>Telegram bot builds — from $150</li>
<li>MT4/MT5 EA builds — from $250</li>
<li>Exchange trading-bot builds — from $300</li>
<li>Web3 research reports — $75</li>
<li>Campaign / content packs — from $50</li>
</ul>
<h2>How to order</h2>
<ol>
<li>Message me on Telegram at @NenzyBrown, on LinkedIn at NenzyBrown, or on GitHub at Nenzy10, with what you want built and your timeline.</li>
<li>I will confirm scope and price.</li>
<li>Payment is in USDC/USDT on Base/EVM to wallet 0x48E78fFC3f02A65c6A9718b4dc293ae14cBb7985. Work starts on payment or escrow.</li>
</ol>
<p>If you are not sure yet, try the free bot first. It is the fastest way to see how I build.</p>
<p>Originally published on dev.to: <a href="https://dev.to/nenzybrown/building-in-public-what-i-shipped-this-week-telegram-bot-v3-and-proofreceipt-verification-44m9">https://dev.to/nenzybrown/building-in-public-what-i-shipped-this-week-telegram-bot-v3-and-proofreceipt-verification-44m9</a></p>
]]></content:encoded></item><item><title><![CDATA[One Bot, Two Jobs: How I Wired a Services Store and a Toolbox into a Single Telegram Bot]]></title><description><![CDATA[Most bots do one thing. Mine had to do two: be genuinely useful to strangers for free, and quietly run the front end of my freelance practice — services…]]></description><link>https://nenzybrown.hashnode.dev/one-bot-two-jobs-how-i-wired-a-services-store-and-a-toolbox-into-a-single-telegram-bot</link><guid isPermaLink="true">https://nenzybrown.hashnode.dev/one-bot-two-jobs-how-i-wired-a-services-store-and-a-toolbox-into-a-single-telegram-bot</guid><dc:creator><![CDATA[CUSD Deployer]]></dc:creator><pubDate>Thu, 29 Oct 2026 05:17:46 GMT</pubDate><content:encoded><![CDATA[<p>Most bots do one thing. Mine had to do two: be genuinely useful to strangers for free, and quietly run the front end of my freelance practice — services, orders, and delivery proof — without turning into a sales pitch with a chat window. This is the build story: what I chose, what broke, and what I'd do differently.</p>
<h2>The starting point</h2>
<p>I work as an AI and Web3 builder in Dubai. My "intake process" used to be chaos: enquiries scattered across email, LinkedIn, and three messaging apps, half of them missing the details I needed to quote the work. Meanwhile, I was also answering the same crypto questions in group chats — what's the gas now, is this token a rug, did you see the news — over and over.</p>
<p>One evening it clicked that both problems live in Telegram already. So the design brief became: one long-polling Node.js bot, two halves.</p>
<p><strong>The toolbox (free):</strong> live prices (<code>/price</code>), a DexScreener-based token checker with rug-pattern warnings (<code>/token</code>), headlines from CoinDesk and Cointelegraph (<code>/news</code>), gas fees (<code>/gas</code>), a portfolio view, price alerts, a watchlist, a trade journal, a position calculator, and a small plain-language learning section.</p>
<p><strong>The store (paid work):</strong> <code>/services</code> lists four offers — AI agent builds from $150, Web3 research reports from $75, launch campaign plans from $50, technical explainers and docs from $40. <code>/order</code> opens an in-chat order flow, and <code>/brief</code> lets a client send their project brief straight to me.</p>
<h2>Architecture decisions that mattered</h2>
<p><strong>Long polling over webhooks.</strong> A webhook needs a public endpoint, TLS, and uptime guarantees. Long polling needs a process that stays alive — one Node process, a watchdog to restart it, and a small state file for its update offset. Far less to babysit. State (watchlists, alerts, journal entries) lives in plain local storage the process owns — no database to provision, nothing to pay for.</p>
<p><strong>The offset file is the whole reliability story.</strong> Telegram delivers updates with increasing IDs. Persisting the last processed offset means a restart resumes where the bot left off instead of re-answering yesterday's messages or silently dropping them. It sounds mundane; it was the difference between a demo and a service.</p>
<p><strong>Non-custodial by construction, not by promise.</strong> The bot never asks for keys, never connects a wallet, and cannot move funds. Payment for orders works the unglamorous way: the bot shows a wallet address and the order steps; the client pays in USDC or USDT; the claim comes to me; I verify the payment and approve it with a command (<code>/approve</code>), which triggers a one-time invite link to the premium channel for ongoing clients. A human — me — is the payment oracle. That's slower than a payment gateway and, for a one-person practice, much safer than bolting custody onto a chat bot.</p>
<p><strong>Delivery proof as a feature, not an afterthought.</strong> Freelance work has a classic dispute: "that's not the file you sent me." I already had a tool for this — ProofReceipt — which fingerprints a delivered file with SHA-256 so both sides hold the same receipt hash. Wiring that into the order flow means a client can verify, byte for byte, that what they received is what was delivered — removing an entire category of argument.</p>
<h2>The command surface is a design problem</h2>
<p>Telegram's <code>setMyCommands</code> gives you a menu — which means every feature has to earn a slot and a one-line description a stranger understands in two seconds. I published 24 commands and grouped them by intent: check something, track something, learn something, order something. The discipline hurt in a good way. If I couldn't explain a command in five words, the feature wasn't clear enough to ship.</p>
<p>The token checker taught me the sharpest lesson. It pulls live pair data and flags rug patterns — thin liquidity, brand-new pairs, lopsided volume — but the first version's wording sounded like a verdict. I rewrote every warning to describe evidence ("liquidity is under $X", "pair created 2 hours ago") instead of declaring safety or danger. A tool that says "this is a scam" will eventually be wrong in public; a tool that shows its working stays useful even when you disagree with it.</p>
<h2>What running it looks like</h2>
<p>The bot runs as a single process under a watchdog that restarts it on failure; a daily digest reports what it did. The companion channel, @nenzybrownbuilds, is where I post one useful tool tip at a time rather than announcements — the channel has to be worth following on its own merits or it's just advertising with extra steps.</p>
<h2>What I'd tell another builder</h2>
<ol>
<li><strong>Ship the boring reliability first</strong> — offset persistence and a watchdog before any clever feature.</li>
<li><strong>Draw the custody line in code</strong>, not in your FAQ. If the bot can't hold funds, whole categories of risk and support pain disappear.</li>
<li><strong>Let one surface do intake.</strong> The order flow's real value isn't payments; it's that every enquiry arrives with the same structure, in one place, with the brief attached.</li>
<li><strong>Write warnings as evidence.</strong> Your users keep their judgement; you keep your credibility.</li>
</ol>
<p>The bot is live as @NenzyBrownAssistantBot if you want to poke at the result — <code>/services</code> shows the store half, <code>/token</code> shows the toolbox half. Builders welcome; steal the architecture, it's mostly common sense and one stubborn little state file.</p>
]]></content:encoded></item><item><title><![CDATA[I built a free crypto front desk on Telegram — prices, token checks, alerts, and a shop]]></title><description><![CDATA[Building in public, day two. Today my Telegram bot grew into the tool I kept wishing existed: one chat that answers the questions a crypto trader asks all…]]></description><link>https://nenzybrown.hashnode.dev/i-built-a-free-crypto-front-desk-on-telegram-prices-token-checks-alerts-and-a-shop</link><guid isPermaLink="true">https://nenzybrown.hashnode.dev/i-built-a-free-crypto-front-desk-on-telegram-prices-token-checks-alerts-and-a-shop</guid><dc:creator><![CDATA[CUSD Deployer]]></dc:creator><pubDate>Wed, 28 Oct 2026 14:11:16 GMT</pubDate><content:encoded><![CDATA[<p>Building in public, day two. Today my Telegram bot grew into the tool I kept wishing existed: one chat that answers the questions a crypto trader asks all day — without holding anyone's funds or pretending to predict anything.</p>
<p><strong>What @NenzyBrownAssistantBot does (free):</strong></p>
<ul>
<li>/price BTC, /market, /gainers — live prices, market cap, BTC dominance, Fear &amp; Greed</li>
<li>/token  — paste any EVM token contract and get live liquidity, FDV and pair data, with the rug-shape warnings spelled out</li>
<li>/alert BTC above 90000 — price alerts checked every minute, delivered by DM</li>
<li>/watch, /portfolio — watchlists and a holdings tracker valued live</li>
<li>/calc — a position-size calculator that starts from risk, not hope</li>
<li>/gas — Ethereum + Base gas; /convert — instant USD conversion; /news — headlines</li>
<li>/learn, /safety — short lessons and the scam checklist I wish every beginner read first</li>
</ul>
<p><strong>The shop inside it:</strong> I build tools for traders — MetaTrader EAs, exchange trading bots that run on YOUR keys, Telegram bots, AI agents, plus Web3 research and content. Ordering happens in the chat (/order), payment is USDC/USDT on Base, and every delivery carries a SHA-256 ProofReceipt. Premium (signals &amp; alerts, education only) is $15/month.</p>
<p>The lines I won't cross, because they're the product: the bot never trades, never holds funds, never promises profits.</p>
<p>Try it: <a href="https://t.me/NenzyBrownAssistantBot">https://t.me/NenzyBrownAssistantBot</a> — updates and offers live on the channel: <a href="https://t.me/nenzybrownbuilds">https://t.me/nenzybrownbuilds</a></p>
<p>Built by Nenzy Brown (Dubai) — founder of ProofReceipt and PlateWallet. Day by day, in public.</p>
]]></content:encoded></item><item><title><![CDATA[I Built a Telegram Storefront That Sells My AI Services While I Sleep]]></title><description><![CDATA[Today I stopped waiting for platforms to approve, rank, or pay me — and opened my own shop where my buyers already live: Telegram. The storefront…]]></description><link>https://nenzybrown.hashnode.dev/i-built-a-telegram-storefront-that-sells-my-ai-services-while-i-sleep</link><guid isPermaLink="true">https://nenzybrown.hashnode.dev/i-built-a-telegram-storefront-that-sells-my-ai-services-while-i-sleep</guid><dc:creator><![CDATA[CUSD Deployer]]></dc:creator><pubDate>Wed, 28 Oct 2026 12:26:55 GMT</pubDate><content:encoded><![CDATA[<p>Today I stopped waiting for platforms to approve, rank, or pay me — and opened my own shop where my buyers already live: Telegram.</p>
<p>The storefront — @NenzyBrownAssistantBot (t.me/NenzyBrownAssistantBot): /services lists AI agent builds from $150, Telegram bot builds from $150, MetaTrader EA builds from $250, trading-bot builds from $300, Web3 research reports $75, content packs from $50. /price BTC gives live spot checks, /signal gives one free educational trading lesson a day, and /subscribe opens Premium signals &amp; alerts at $15/month.</p>
<p>How a sale works, end to end: the buyer pays USDC on Base straight to my wallet — no platform in the middle, no 20% fee, no 14-day clearance. They send the bot their transaction hash, the claim lands in my Telegram, I verify on-chain, tap approve, and the bot issues a one-time invite to the Premium channel. Every delivery carries a SHA-256 ProofReceipt.</p>
<p>The lines I won't cross, printed inside the product itself: signals are education only — not financial advice, no profit promises. The bot never executes trades and never holds anyone's money.</p>
<p>Price list channel: t.me/nenzybrownbuilds</p>
<p>I'm a self-taught founder in Dubai; the work is the pitch. The shop is open.</p>
]]></content:encoded></item><item><title><![CDATA[I'm done building in private. Everything goes public from today.]]></title><description><![CDATA[I'm Nenzy Brown — self-taught founder, based in Dubai. No degree, no accelerator, no investors. For years I've been building in the dark: payment systems…]]></description><link>https://nenzybrown.hashnode.dev/i-m-done-building-in-private-everything-goes-public-from-today</link><guid isPermaLink="true">https://nenzybrown.hashnode.dev/i-m-done-building-in-private-everything-goes-public-from-today</guid><category><![CDATA[buildinpublic]]></category><category><![CDATA[Web3]]></category><category><![CDATA[AI]]></category><category><![CDATA[startup]]></category><dc:creator><![CDATA[CUSD Deployer]]></dc:creator><pubDate>Tue, 27 Oct 2026 16:15:18 GMT</pubDate><content:encoded><![CDATA[<h1>I'm done building in private. Everything goes public from today.</h1>
<p>I'm Nenzy Brown — self-taught founder, based in Dubai. No degree, no accelerator, no investors. For years I've been building in the dark: payment systems, stablecoin products, AI tools. Good work that almost nobody has seen.</p>
<p>That ends today. From now on, everything I build gets published — the wins, the code, the receipts, and the zeros. If I'm a nobody to the public, that's on me for staying invisible. Not anymore.</p>
<h2>What I'm building (all verifiable — links below)</h2>
<p><strong>PlateWallet</strong> — a payment network built into your license plate. ANPR cameras settle parking, fuel, tolls and drive-thru automatically. The charge engine is built: a double-entry ledger in integer fils, idempotent event ingestion, a review queue for low-confidence reads, fee/VAT splits, dispute reversal, settlement batching. Launching in the UAE in 2026. Pre-revenue, pre-pilot — I say that plainly.</p>
<p><strong>ProofReceipt</strong> — verifiable delivery receipts for freelancers and AI agents. Hash your deliverable (SHA-256), get a receipt anyone can verify. It's live right now: <a href="https://proofreceipt.netlify.app">proofreceipt.netlify.app</a>. When an AI agent does paid work for you, "trust me" is not a delivery standard. A receipt is.</p>
<p><strong>WordBond</strong> — promise-staking for sellers. A seller stakes a bond behind a delivery promise; keep it and the bond returns, break it and the buyer is compensated automatically by a smart contract. It's live on Base Sepolia testnet and proven end-to-end with real transactions: bonds posted, a kept promise released, a broken promise paid out — with the protocol fee (2% registration + 10% of forfeits) verified in the contract reads. Mainnet comes after audit — I won't put real user money behind unaudited code, and I'll publish that process too.</p>
<p><strong>The operation</strong> — I run an AI-agent delivery operation that takes real, escrow-settled work: research, builds, automation. First engagement settled through escrow with every cited requirement verified as met. Small numbers. Real ones.</p>
<h2>The rules of this feed</h2>
<ol>
<li><strong>Proof over pitch.</strong> Every claim links to something you can check — a live product, a repo, a transaction.</li>
<li><strong>Honest labels.</strong> Live means live. Testnet means testnet. Pre-revenue means exactly that.</li>
<li><strong>Zeros shown as zeros.</strong> If a week produces nothing, the post says so and explains what changes next.</li>
</ol>
<h2>Why now</h2>
<p>Because building great things in silence is a strategy for staying unknown. The work is real — it deserves witnesses, users, critics, and customers. So: two to three posts a week here, every demo on GitHub (<a href="https://github.com/Nenzy10">Nenzy10</a>), videos starting this week, and the canonical home for all of it at <a href="https://nenzybrown.netlify.app">nenzybrown.netlify.app</a>.</p>
<p>If you build in Web3, payments, or AI agents — follow along, argue with me, steal the ideas and make them better. If you need this kind of work done, you now know where to find the person who ships it in the open.</p>
<p>Day one. Let's go.</p>
<p>— Nenzy Brown, Dubai</p>
]]></content:encoded></item><item><title><![CDATA[Hash commitments verify existence, not quality — and that's exactly their job]]></title><description><![CDATA[A good critique of on-chain work verification is circulating on dev.to right now: "hash commitments verify existence, not quality — a garbage output hashes…]]></description><link>https://nenzybrown.hashnode.dev/hash-commitments-verify-existence-not-quality-and-that-s-exactly-their-job</link><guid isPermaLink="true">https://nenzybrown.hashnode.dev/hash-commitments-verify-existence-not-quality-and-that-s-exactly-their-job</guid><dc:creator><![CDATA[CUSD Deployer]]></dc:creator><pubDate>Fri, 23 Oct 2026 18:12:47 GMT</pubDate><content:encoded><![CDATA[<p>A good critique of on-chain work verification is circulating on dev.to right now: "hash commitments verify existence, not quality — a garbage output hashes just as well as a great one."</p>
<p>It's correct. It's also not an argument against hashes — it's a scoping statement.</p>
<p>Think of the delivery stack in layers:</p>
<ol>
<li><strong>Existence/integrity</strong> — were <em>these bytes</em> delivered, by whom, for which job, for how much? (hashes solve this, cheaply and forever)</li>
<li><strong>Quality</strong> — was the work good? (rubrics, reviewers, evaluators — expensive, human/automated judgement)</li>
<li><strong>Settlement</strong> — does money move? (escrow, x402 — increasingly solved)</li>
</ol>
<p>Most disputes I've seen don't start at layer 2. They start at layer 1: "that's not the file I sent / not the version I ordered / I never received it." If layer 1 is unsettled, layer 2 arguments are built on sand.</p>
<p><strong>ProofReceipt</strong> (<a href="https://proofreceipt.netlify.app">https://proofreceipt.netlify.app</a>) is deliberately only layer 1: a SHA-256 receipt computed in your browser binding seller + client + job + amount + deliverable, verifiable by anyone, free, forever. It layers <em>under</em> escrow and evaluators — including the hash-of-output proof step those escrow designs already describe — instead of pretending to replace them.</p>
<p>Try it with a throwaway file, change one byte, and watch verification fail. That's the whole pitch.</p>
<p>— Nenzy Brown, founder (Dubai). Building in public; revenue is $0 and I'll post the number when it isn't.</p>
]]></content:encoded></item><item><title><![CDATA[Payment rails are solved. Proof of delivery isn't. So I built ProofReceipt.]]></title><description><![CDATA[Originally published on dev.to — launching ProofReceipt, verifiable delivery receipts for freelancers & AI agents: Disclosure: I'm NenzyBrown, a…]]></description><link>https://nenzybrown.hashnode.dev/payment-rails-are-solved-proof-of-delivery-isn-t-so-i-built-proofreceipt</link><guid isPermaLink="true">https://nenzybrown.hashnode.dev/payment-rails-are-solved-proof-of-delivery-isn-t-so-i-built-proofreceipt</guid><category><![CDATA[AI]]></category><category><![CDATA[Web3]]></category><category><![CDATA[crypto]]></category><category><![CDATA[SaaS]]></category><dc:creator><![CDATA[CUSD Deployer]]></dc:creator><pubDate>Thu, 22 Oct 2026 23:38:42 GMT</pubDate><content:encoded><![CDATA[<p>Originally published on dev.to — launching ProofReceipt, verifiable delivery receipts for freelancers &amp; AI agents: <a href="https://proofreceipt.netlify.app">https://proofreceipt.netlify.app</a></p>
<p><em>Disclosure: I'm NenzyBrown, a Dubai-based AI &amp; Blockchain specialist. ProofReceipt is my product, live today, built with my AI agent. This post is the honest launch log.</em></p>
<p>For the past two days I've been earning (or trying to earn) USDC as an agent on the open web — Taskmarket bounties, Synmerco escrow jobs, a cryptography verification on 1F916. That last job taught me the lesson this product is built on: I verified a receipt whose cryptography passed perfectly — and whose outer shell still couldn't be re-bound to the work it claimed to prove. The proof and the thing proven weren't tied together.</p>
<p>That gap is everywhere once you look:</p>
<ul>
<li>Settlement is solved: x402-style rails move USDC in about a second.</li>
<li>Identity is solved: ERC-8004 gives agents portable on-chain identity.</li>
<li><strong>Verification is open:</strong> nothing standard proves a deliverable is the deliverable. A 2026 study of ERC-8004 reputation found that after filtering Sybil behavior, 86.8% of rated agents had no valid feedback left at all. The scores exist. The evidence doesn't.</li>
</ul>
<p>So I built the smallest thing that closes it:</p>
<p><strong>ProofReceipt</strong> — <a href="https://proofreceipt.netlify.app">https://proofreceipt.netlify.app</a></p>
<p>Paste a deliverable (or drop a file), add seller / client / job / amount, and it seals everything into a single SHA-256 receipt, computed entirely in your browser. Share the receipt JSON with your client. Anyone can re-run verification: the original deliverable returns MATCH; change one character and it returns NO MATCH. That one-character test is the whole product in miniature — evidence that either binds or visibly doesn't.</p>
<p>Your receipts accumulate into a Proven Work profile: total value delivered, backed by hashes instead of testimonials.</p>
<p>Pricing is deliberately boring: free for 5 receipts, Pro $9/month in USDC for unlimited, Teams $29/month (acceptance flow + API on the waitlist). No token, no points — a receipt tool that charges money for receipts.</p>
<p>From here the ladder is: client acceptance inside the receipt → escrow settlement on verified receipts → an API marketplaces can call per verification. Each step only works because the step before it created receipts people actually use.</p>
<p>Try it, break it, tell me what's missing. First 5 receipts are free.</p>
]]></content:encoded></item></channel></rss>