the style book
Docs
What newsly does, what it refuses to do, and every endpoint it serves.
the pipeline
How it works
newsly is a newsroom that runs on a clock. Every tick it reads the wires, scores what it finds, and mints the best of it on Robinhood Chain. Nothing is written by hand and nothing is seeded.
- 01IngestEvery tick the newsroom searches the wires across nine lanes and twelve countries, plus a curated set of X accounts. Stories are deduped by canonical URL and by a normalized-title cluster key, so one event yields one story.
- 02AnalysisEach new story is scored 0–100 for token potential: novelty, virality, shareability, whether it contains a memorable noun, whether it has a clear picture, and whether it lasts longer than an hour. The verdict is launch, watch or skip, and the agent drafts a name, a ticker and a one-line description.
- 03LaunchStories with a launch verdict above the minimum score, under six hours old and unique to their cluster are minted on Pons V2 by the treasury: one per cluster, capped per hour. The token's website is the article; its X link is the newsroom's.
the rules
Editorial policy
The newsroom scores for token potential, not for importance. Some news is important and must never be tokenized; the policy is a hard filter that runs before the score.
- Lanes: breaking, world, crypto, business, tech, sports, culture, science, politics.
- Hard skips, whatever the score: deaths, terrorism, war casualties, disasters with victims, crimes against persons, health tragedies, anything involving minors, hate.
- Politics is covered only when the story is about an event or an object, never a person's suffering.
- Tickers are 3–8 uppercase characters, never already live on newsly, and never the obvious ticker of a public company named in the story.
- Names are 32 characters or fewer; descriptions read like a wire lede and mention the source.
- One token per story cluster.
you
Launching a story yourself
Any story on the site can be launched by a reader, whatever the newsroom decided. Open a story, press Launch this story, and the form arrives prefilled with the name, ticker and lede the agent drafted.
- 01Connect a walletOne EIP-191 signature proves the wallet is yours. Nothing is approved and nothing moves.
- 02Sign the authorizationThe exact text is shown before you sign. It pins the name, ticker, description, picture and links.
- 03The treasury broadcasts itGas is sponsored by newsly. Every signed transaction is persisted before it is broadcast, so a retry can never double-spend a nonce.
Until the treasury is configured, launches stay closed and the form says so plainly. The page still works up to the authorization step.
open the launch formthe money
The fee split
Pons pays creator fees to a wallet derived per token from the treasury key, so a redeploy always recovers it. The worker splits what arrives: 50% to the newsly treasury, 50% to whoever launched the token. Newsroom launches are owned by the treasury, so both halves come home.
| share | who | |
|---|---|---|
| treasury | 50% | newsly treasury |
| creator | 50% | the launch owner |
public
API
Every response below is JSON and public. List endpoints are cached in Redis for a few seconds and served with Cache-Control: public, max-age=5. The four SSE streams carry everything the site animates.
| route | method | returns |
|---|---|---|
| /api/state | GET | platform token, treasury, counts, newsroom status |
| /api/news | GET | ?lane=&country=&q=&cursor=&limit= → stories |
| /api/news/[id] | GET | one story with its analysis and token |
| /api/editions | GET | the last 30 editions |
| /api/editions/[date] | GET | one edition with its stories |
| /api/launch/config | GET | chain id, whether launches are open, blockers |
| /api/launch/tokens | GET | live tokens; ?search=&owner=&sort=&lane= |
| /api/launch/tokens/[address] | GET | token, market, curve, story, receipts, price history |
| /api/launch/stats | GET | launch and fee totals |
| /api/stream/news | SSE | stories and analyses as they land |
| /api/stream/launches | SSE | the newest live tokens |
| /api/stream/state | SSE | public state |
| /api/stream/token/[address] | SSE | price and curve ticks for one token |
| /api/health | GET | 200/503 with db, redis and newsroom tick age |
operations
Runtime settings
Two things are settable at runtime, without a redeploy: the treasury signer key, stored AES-256-GCM encrypted in kv_state and picked up by the signer within 30 seconds, and the $NEWSLY contract address, which the contract bar at the top of this page reads live. Both are set through /api/admin/* with a bearer token.
Questions go to @newslydotfun.
Skip to the front page