What a blockchain adds to a regular stock ๐
A stock at your broker does the basics: buy, hold, sell during market hours. The same asset as a token does more.
24/7 trading ๐
Top names (NVDAx, AAPLx, SPYx) trade on DEXs around the clock as long as there's liquidity in the pool. US market closed, you still open a position on a Saturday night.
Self-custody ๐
The token sits in your own wallet (Phantom, Solflare, Ledger). No brokerage account needed.
Permissionless transfers
Sending a token to another wallet works like sending USDT. No request forms to a broker.
DeFi ๐ธ
Use the token as collateral (e.g. on Kamino) or LP it into a pool and earn fees.
Fractional and instant settlement
Buy $20 worth, the trade clears in seconds, no T+2.
The caveats: only top names trade 24/7 without friction. Mid-cap tickers follow NASDAQ hours, and thin ones often return "no route" and aren't on DEXs at all. Self-custody comes with an asterisk too - the issuer can technically freeze a token. Separate post on that.
Next: why this beats a foreign broker for a crypto-native audience - US stocks from anywhere in the world.
A tokenized stock is a token backed 1:1 by a real share held at a custodian. The token tracks the share price, dividends pass through (mechanics in a separate post). But you're not in Nvidia's shareholder registry: what you hold is a claim on the token issuer. ๐
Two big issuers right now.
Backed / xStocks. Swiss issuer, fully acquired by Kraken in December 2025. Tickers carry an x: NVDAx, AAPLx, TSLAx, SPYx.
Ondo Global Markets. Part of public Ondo Finance. Tickers carry an ondo suffix: NVDAon, ASMLon.
Both hold real shares at a licensed custodian and mint tokens on public blockchains, mostly Solana.
Regular broker (e.g. Interactive Brokers) vs token, side by side:
- Voting rights: broker yes, via proxy; token no
- Dividends: broker direct to account; token routed through the issuer
- Trading hours: broker exchange hours; token 24/7
- Cash out: broker sell and withdraw; token sell on the market, no direct retail redemption
- Protection: broker regulator and compensation scheme (US SIPC up to $500k); token no insurance, platform and issuer risk
- Access: broker KYC and account approval, geo limits apply; token a crypto wallet, fewer barriers
Next post: what the blockchain under the share actually gives you, and why that's interesting at all.
Crypto spent years on memes and dog coins. Quietly, another segment grew up: real world assets moving on-chain. ๐ฆ
RWA, Real World Assets. Tokenizing things that exist outside crypto:
- US Treasuries
- stocks and ETFs
- real estate
- commodities
The real asset sits with a licensed custodian, and a token representing it is issued on-chain. From there the token acts like any crypto: your own wallet, DEX, 24/7 transfers, DeFi.
Behind the token is a real share or a coupon-bearing bond. Ondo Global Markets, the leader in tokenized stocks, just crossed $1B TVL and holds around 70% of the market, with 260+ US stocks and ETFs covered (figures as of May 2026). ๐
That means exposure to Nvidia, Apple or the S&P 500 straight from your wallet, no brokerage account. For anyone cut off from foreign brokers right now, it's one of the few working ways into US equities.
Now the risk. An RWA token is a claim on the asset, a liability of the issuer. While the issuer and custodian honor their obligations, it works. When they stop, that's where the trouble starts.
First post in a series on tokenized stocks and RWA. Next up: what a tokenized stock actually is, and how it differs from a real share at a broker.
Polymarket weather refund crisis, May 17-20 ๐ก
Timeline
May 17: Jakarta temperature markets manipulated by new accounts (34ยฐC posted at 1:30 AM vs actual 27ยฐC). Traders lost $400 to $30k. Complaints ignored for weeks. Seoul markets lost resolution tabs.
May 18: Oracle broke. Wrong brackets resolved in Miami, Mexico City, Seoul, Hong Kong. London resolved at 15ยฐC, actual high 16ยฐC. All temperature markets archived, positions vanished from UI. Refunds promised in 10 business days.
May 19: 50+ cities archived globally. Refund window cut to 7-10 days.
May 20: First refund batch ran on ~2k archived markets. Botched.
Root cause ๐ง
Polymarket silently changed the batch price request format for UmaCtfAdapter without notifying UMA or third-party tooling. Indexes got mismapped, frontend wired markets to the wrong on-chain contracts, and resolutions went into the wrong brackets. On top of that, Weather Underground dropped data points, and missing data defaulted markets to the minimum temperature bracket. Two independent failures stacked.
Refund reality ๐ธ
Users are getting 2-10% of expected amounts. Some users with confirmed positions got nothing. May 17 markets for Seattle, Los Angeles, Toronto, and NYC are missing from the payout list entirely. No official site-wide statement. CFTC complaints are already being filed over the communication chaos.
What to expect โณ
Official window: 7-10 business days from the May 18 archive, so a second batch should land between May 28 and June 1. No guarantee it closes the gaps from batch one. If your position is missing: save the tx hash and a portfolio screenshot, file a ticket with the exact market id, and log the timestamp.
Collateral damage
NBA and cricket markets briefly disappeared overnight on May 20. Sponsored rewards are not showing. Auto-redeem is broken for winning positions above $1. Jakarta was officially discontinued for manipulation, yet Lagos got pulled and Jakarta is still live. No explanation.
Daily digest of the Polymarket and UMA Discord channels: @predictdigest
Pivoting from crypto to AI stocks ๐ค
Hard to write about Polymarket lately. I'm building my own bot there and don't want to publish the logic. The platform keeps shooting itself in the foot too: API outages, manual market interventions (the recent weather market got resolved, then archived, then nuked). News-cycle coverage isn't my thing either.
So I'm looking elsewhere. The AI boom is obvious. Even crypto influencers have all flipped into vibe-coders. Airdrops gone, NFTs dead, DeFi keeps getting drained. Crypto is mostly grinding sideways.
Tokenized stocks are the convenient angle: you can buy them on-chain, no broker account, no KYC marathon. Started digging in deep and will publish a series on what I find.
The numbers on equities are striking. Companies I've been tracking did at least 2x over five years. Some did 5-6x in the last year alone. After down-only crypto, that looks unreal.
Two non-obvious AI-cycle picks:
GEV - energy equipment, gas turbines. ~10x in five years.
MU - server memory. ~8x in five years.
Catch: not every AI bet is on-chain. US names are mostly available as tokenized; Taiwan, Japan, Korea still need a regular broker.
What is an "agent harness" ๐
In AI talk, the harness is the wrapper around the LLM that turns a chatbot into a working agent.
Agent = Model + Harness
Model: GPT, Claude, Gemini, Llama. Just a text generator.
Harness: code, tools, memory, rules, environment, execution logic.
What harness gives a coding agent ๐งฉ
Claude Code, Cursor, Codex - the model only writes text. The harness lets it:
- read project files
- edit code
- run terminal commands
- run tests
- see errors and retry
- hold task context
- work in a sandbox
- follow safety constraints
- log actions
Harness is everything in an AI agent except the model itself.
Example: my Polymarket bot ๐ฏ
Model: Claude or GPT.
Harness:
- repo access
- log reading
- terminal commands
- Polymarket API
- block on real orders without confirmation
- dry-run mode
- per-trade size limits
- Telegram notifications
- error monitoring
- memory of project structure
What to build around the LLM ๐ก
Harness affects agent quality more than the model. For a developer that means hooking up the GPT API isn't enough. You need to build a real system around it:
LLM + tools + memory + state + permissions + retries + logging + tests + sandbox + human approval + rollback + observability
Harness is what decides whether your agent is a toy or a working tool.
Lost money on the Taipei weather market today, and the actual weather was reported correctly ๐ก๏ธ
Timeline ๐
At 05:30 UTC the Taipei airport METAR (RCSS) printed 25C as the day's high. The reading showed up on Wunderground for a while, several traders saw the flat 25C line at 12:00 and 13:00 local. Then it just disappeared from the chart. WU history page now shows 24C as the daily max. The METAR itself and NOAA aviationweather still have 25C sitting there.
What this meant for Polymarket ๐ธ
Polymarket weather markets resolve from Wunderground. While 25C was visible on WU, the "max 24C" bracket traded at 0.1 cents, the market priced it dead. One trader (MarriedNetbook) loaded up on 24 at 0.1c. Half an hour later WU "lost" the reading, daily max officially became 24C, and the bracket cashed out. Roughly $17,000 on a single market.
Bug or manipulation ๐ค
Discord is split. Bug case: WU does revise historical data, similar things happened in NYC on March 8 around the DST switch. Manipulation case: the METAR didn't drop on any other source, only on the one that resolves the markets. Someone emailed Wunderground support and got a templated reply that their data is "for general informational purposes" and not warranted for any specific use, meaning WU has zero obligation to keep history correct.
What traders are discussing
Move off a single source. Candidates: weather.gov, FAA aviationweather, wethr.net, METAR-taf. Best idea in the thread: a multi-source consensus, like the USGS earthquake markets do. Polymarket hasn't said anything.
Daily digest of the Polymarket and UMA Discord channels: @predictdigest
How I automated my content production with Claude Code ๐ค
Quick disclaimer: I write the Telegram posts myself. The idea, the structure, the meaning - all me. Claude Code only fixes typos, smooths the style, sprinkles emoji and tightens the text so it reads cleanly.
Telegram is my primary channel. I want to grow there and put real thought into it, not turn it into AI slop.
Here is how the pipeline works.
Telegram ๐
I dictate the draft into VSCode through Whispr Flow. Claude Code cleans it up. Codex sits next to it in the same VSCode and generates the image. Control goes back to Claude, which posts everything to the channel via Telethon.
Twitter ๐ฆ
Fully automated. It takes my Telegram post, translates it to English, reformats for X, strips external links (the algorithm hates them) and publishes through the API. I do not touch this step.
YouTube Shorts ๐ฑ
A short version is built from the same Telegram post. Voiceover via ElevenLabs API, video assembly in Remotion. Same image across all three platforms. The Shorts still look pretty rough, but I try to improve something with every iteration.
Twitter and Shorts are more of an experiment for me. I want to see how far modern AI tools can go if you hand them an entire channel.
Prediction Digest ๐ญ
A separate side project. Every morning at 9:00 sharp it pushes a digest from the Polymarket and UMA Discord servers: bugs, fixes, clarifications, contested markets. Fully automatic on both Telegram and X.
I originally built it for myself - I run trading bots on Polymarket and needed to spot bugs and threats early enough to shut the bots down. Then I realized it was useful beyond me and opened it to the public: @predictdigest
The whole content production and publishing system is about 90% written by Claude Code. A few evenings of work, and now it saves me hours every week.
Next experiment is a similar pipeline for my wife. She runs an Instagram blog with 40k followers and needs help with scripts, video production and recurring content series. I want to adapt the system for her workflow and see how it lands.
If this nudges anyone to try vibe coding and build something of their own, useful to themselves or to others, I will be glad.
Questions in replies, happy to discuss. If you have your own automation setups for content production and publishing, share them too.
Three market types on Polymarket every newcomer should know ๐งญ
Binary ๐ช
One question, two outcomes. "Will X happen by Y date?" Yes and No prices always sum to $1. If Yes is at 0.62, No is at 0.38. Most markets on Polymarket look exactly like this.
Negative Risk (categorical) ๐
One question, many candidates, exactly one wins. "Next Pope", "Best Picture winner", "Next UK PM". Inside the market sits a list of 15-40 outcomes, each with its own Yes price. Key property: the sum of all Yes prices equals about $1, because one of them is guaranteed to resolve. Open Next Pope and add up every candidate's Yes price, you'll get something close to $1.00 give or take a few cents on spread. Scalar markets with numeric ranges (BTC price on Dec 31 with bins 90-95k, 95-100k, etc.) fit the same structure, just with intervals as outcomes.
Grouped events ๐
One theme, many independent binary markets under one umbrella. "Which countries will recognize Palestine in 2026?" Each row resolves on its own. Italy recognizes Palestine, that row pays $1. Whatever Germany does has zero impact on Italy's row. Sum of Yes prices here means nothing and can be anywhere: 0.40, 1.50, 3.20.
Daily digest of the Polymarket and UMA Discord channels: @predictdigest
Polymarket V2: what's still broken 24 hours in ๐ฅ
Auto-redeem ๐
Wins land in USDC.e, not pUSD. You can't trade with USDC.e on V2 without a manual wrap through CollateralOnramp. People are pressing "Confirm pending deposit" after every fill or rewriting redeem scripts to go through CtfCollateralAdapter (0xADa10087...). 24 hours later auto-redeem still doesn't fire for many users.
Ghost fills ๐ป
Orders match in CLOB (status MATCHED), then fail on-chain. nett7: "All profits of my bot were ghost filled." pterabaktill: 1 of 9 batch orders made it on-chain. V2 dropped the nonce, and the gap between "matched" and "settled" got more visible.
"Not enough balance" with a balance
Spammed in chat: balance: 0, order amount: ... pUSD on the wallet, allowances set, order rejected anyway. Workaround: pass signature_type=2 and an explicit funder to ClobClient. Not in the migration doc.
order_version_mismatch on the old SDK
If you stayed on py-clob-client (without -v2), every POST /order returns 400. You need py-clob-client-v2 and to rewrite the calls. The "v1 client won't work" warning wasn't anywhere visible.
Redeem via CTF returns 0
Calling the old ConditionalTokens.redeemPositions with pUSD as collateral mines fine but pays out 0. V2 mints positions from USDC.e, so the pUSD positionId doesn't match what's in the wallet. Workaround from daretotry and 830lincoln: redeem through V2 adapters (CtfCollateralAdapter for regular markets, NegRiskCtfCollateralAdapter for neg-risk).
Limit orders losing fees too
Several users see fees on limit orders with the fee adjustment toggle off. The team confirmed the new scheme: fee charged in pUSD on top of the order. But /trades returns an empty fee_rate_bps, so reconstructing fee history right now is painful.
What the team is saying ๐
Stock replies: "fix in progress", "we are aware", "will be fixed shortly". 0xdanzu and chrund1e are in chat almost around the clock. Ghost fills will be fixed "next week" per a mod comment. No public ETA on auto-redeem.
Daily digest of the Polymarket and UMA Discord channels: @predictdigest










