# Daily Market Update RSS

<figure><img src="https://4099730103-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fypf00vlh3dJz4PJ2Q67s%2Fuploads%2Fn9qaRalCQkqWAkCIzqOC%2FDOC7.png?alt=media&#x26;token=858a617d-17ab-45e7-88da-40340b39ace2" alt=""><figcaption></figcaption></figure>

### 1. Overview

Daily Market Update RSS reconstructs the past 24 hours of important crypto and macro news into a structured narrative briefing across five sections. One briefing covers what happened, why it matters, and what to monitor next.

* **Narrative briefing:** A desk brief structured in five sections.
* **Important news only (Level 1–2)**: Only articles classified as Level 1–2 by the news analysis pipeline are used.
* **Updated every hour**: To keep the briefing current, a new edition is generated on the hour using the most recent 24-hour window of important news.
* **16 languages**: Every briefing is delivered simultaneously in 16 languages.
* **Single-field delivery**: The entire briefing is contained in one `description` field. It can be rendered directly without additional parsing.

Note: News RSS delivers individual articles. Daily Market Update reconstructs the past 24 hours into one briefing.

***

### 2. How the Brief Is Generated

The briefing takes articles that AI has identified as important (Level 1–2) as input, then applies story clustering and structural importance sorting to produce the output.

<figure><img src="https://4099730103-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fypf00vlh3dJz4PJ2Q67s%2Fuploads%2Fs4IfnHhD1CdaYHaQXr9v%2Ftoday.png?alt=media&#x26;token=464ff605-f83e-49ed-8ac8-1ac14384179d" alt=""><figcaption></figcaption></figure>

**Input: Important news only (Level 1–2)**

Only articles that the news analysis pipeline has determined to be important (Level 1–2) are used as the foundation for the briefing.

**Story clustering**

Multiple reports about the same event are merged into a single story. Clustering uses each article's storyKey (entity, action, target, figure) as the primary signal. Articles with 3 or more matching storyKey fields are merged into the same story. If five outlets cover the same event, the briefing delivers it as one consolidated story with no duplication.

**Importance-based sorting**

Sorting uses structural importance (Impact × Actionability × Transmission) as the primary criterion, and coverage volume (how many outlets reported it) as the secondary criterion. When structural importance is equal, stories validated by more outlets rank higher.

**Fact boundary**

Top Stories and category sections use only facts present in the input articles. New facts, causal claims, and predictions are never generated. Editorial judgment (ordering, compression, selection) is allowed. What to Watch is the exception: it provides conditional action guidance based on the analysis, using "If X happens, then Y" reasoning.

> This briefing shares the same input pipeline and story clustering with [Top News RSS](https://docs.ns3.ai/ns3-api/top-news-rss). The difference is the output format: [Top News RSS](https://docs.ns3.ai/ns3-api/top-news-rss) delivers a ranked Top 10, Daily Market Update delivers a narrative briefing.

***

### 3. five-Section Structure

The briefing consists of five fixed sections. Top Stories and What to Watch are always included. The remaining four sections appear only when relevant news exists in that category. If a category has no news, the section is omitted entirely. On weekends and holidays, news volume is lower, so fewer sections may appear.

<figure><img src="https://4099730103-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fypf00vlh3dJz4PJ2Q67s%2Fuploads%2FcR5mJXMoAbN4Bax9eSiZ%2Fdaily%20s.png?alt=media&#x26;token=d10f9267-a658-48a9-9faa-b1dc9d9c116a" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="215.22210693359375">Section</th><th width="339.6666259765625">Core question</th><th>Inclusion</th></tr></thead><tbody><tr><td>① Top Stories</td><td>What are the 2–3 most structurally important events in the past 24 hours?</td><td>Always</td></tr><tr><td>② Market Trends</td><td>What is happening with prices, fund flows, and market conditions?</td><td>When relevant</td></tr><tr><td>③ Regulation &#x26; Policy</td><td>What regulatory, policy, or legal developments occurred?</td><td>When relevant</td></tr><tr><td>④ Institutional Updates</td><td>What actions did institutions and large players take?</td><td>When relevant</td></tr><tr><td>⑤ What to Watch</td><td>What should be monitored next?</td><td>Always</td></tr></tbody></table>

**Top Stories**: The top 2–3 stories selected using structural importance (Impact × Actionability × Transmission) as the primary criterion and coverage volume as the secondary criterion.

**What to Watch**: Conditional action guidance, structured as "If X happens, then Y is a signal to..." Provides readers with concrete criteria for what to monitor and how to respond.

**Evidence Timestamp**: Each story in Top Stories and Market Trends ends with a "(reported N hours ago)" timestamp. This shows the time gap between when the news was reported and when the reader is viewing the briefing, so readers can immediately judge the freshness of the information.

***

### 4. How RSS Fields Map to UI

This section shows how each RSS field is rendered in the actual NS3 app.

<figure><img src="https://4099730103-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fypf00vlh3dJz4PJ2Q67s%2Fuploads%2FKwqKJIlLwU1rM7OD5uF2%2Fdaily%20s1.png?alt=media&#x26;token=53adf68d-f592-4c2d-8be9-98c7e4e8c0e6" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="250.44451904296875">UI Element</th><th>RSS Field</th></tr></thead><tbody><tr><td>① Full briefing body</td><td><code>description</code>  All five sections in one field</td></tr><tr><td>② Section headers and order</td><td><code>###</code> Markdown headings inside <code>description</code></td></tr><tr><td>③ Generation time</td><td><code>pubDate</code></td></tr></tbody></table>

**Design principle**: Daily Market Update is intentionally designed as a single-field (`description`) driven format. It is narrative-first. structure is fixed, but length is flexible. Rendering is identical across app, web, and partner surfaces.

Example feed: <https://ns3.ai/en/top-news>

***

### 5. Validate the Data Yourself

Verify briefing quality directly before integration.

**Validate the briefing**

Ask any AI model to search for recent crypto news first, then compare it against the Daily Market Update briefing.

```
https://api.ns3.ai/feed/today-summary?lang=en
```

**Example prompt:**

{% hint style="success" %}
Search for the most important crypto news from the past 24 hours. Then read the desk briefing at the following URL and evaluate whether it covers the key events accurately.\
<https://api.ns3.ai/feed/today-summary?lang=en>"
{% endhint %}

**Translation quality**

Provide a language-specific Daily Market Update to any AI model and ask whether it reads naturally to local financial news readers.

```
https://api.ns3.ai/feed/today-summary?lang=[code]
```

Replace the language code to test any of the 16 supported languages: \
`en · zh-CN · zh-TW · ko · ja · ru · tr · de · es · fr · vi · th · id · hi · it · pt`

**Example prompt:**&#x20;

{% hint style="success" %}
Read the desk briefing at the following URLs — one in English and one in Korean. Compare the two and evaluate whether a Korean-speaking user would get the same level of information and the same ability to act on the news as an English-speaking user. \
<https://api.ns3.ai/feed/today-summary?lang=en\\>
<https://api.ns3.ai/feed/today-summary?lang=ko>
{% endhint %}

***

<details>

<summary>Technical specification for developers starts below</summary>

Section 6-12 is documentation for developers.

</details>

### 6. RSS URL & Languages

#### Base URL

```
https://api.ns3.ai/feed/today-summary?lang=en
```

#### 16 Language URLs

<table><thead><tr><th width="169.888916015625">Language</th><th width="99.66668701171875">Code</th><th>URL</th></tr></thead><tbody><tr><td>English</td><td>en</td><td><code>https://api.ns3.ai/feed/today-summary?lang=en</code></td></tr><tr><td>简体中文</td><td>zh-CN</td><td><code>https://api.ns3.ai/feed/today-summary?lang=zh-CN</code></td></tr><tr><td>繁體中文</td><td>zh-TW</td><td><code>https://api.ns3.ai/feed/today-summary?lang=zh-TW</code></td></tr><tr><td>한국어</td><td>ko</td><td><code>https://api.ns3.ai/feed/today-summary?lang=ko</code></td></tr><tr><td>日本語</td><td>ja</td><td><code>https://api.ns3.ai/feed/today-summary?lang=ja</code></td></tr><tr><td>Русский</td><td>ru</td><td><code>https://api.ns3.ai/feed/today-summary?lang=ru</code></td></tr><tr><td>Türkçe</td><td>tr</td><td><code>https://api.ns3.ai/feed/today-summary?lang=tr</code></td></tr><tr><td>Deutsch</td><td>de</td><td><code>https://api.ns3.ai/feed/today-summary?lang=de</code></td></tr><tr><td>Español</td><td>es</td><td><code>https://api.ns3.ai/feed/today-summary?lang=es</code></td></tr><tr><td>Français</td><td>fr</td><td><code>https://api.ns3.ai/feed/today-summary?lang=fr</code></td></tr><tr><td>Tiếng Việt</td><td>vi</td><td><code>https://api.ns3.ai/feed/today-summary?lang=vi</code></td></tr><tr><td>ไทย</td><td>th</td><td><code>https://api.ns3.ai/feed/today-summary?lang=th</code></td></tr><tr><td>Bahasa Indonesia</td><td>id</td><td><code>https://api.ns3.ai/feed/today-summary?lang=id</code></td></tr><tr><td>हिन्दी</td><td>hi</td><td><code>https://api.ns3.ai/feed/today-summary?lang=hi</code></td></tr><tr><td>Italiano</td><td>it</td><td><code>https://api.ns3.ai/feed/today-summary?lang=it</code></td></tr><tr><td>Português</td><td>pt</td><td><code>https://api.ns3.ai/feed/today-summary?lang=pt</code></td></tr></tbody></table>

`lang` is a required parameter. This feed has no other filter parameters.

***

### 7. Item Field Specification

This feed always returns only the latest single briefing.

```xml
<item>
    <title><![CDATA[NS3 Daily Market Update]]></title>
    <description><![CDATA[### Top Stories

U.S. nonfarm payrolls fell by 92,000 in February, missing forecasts for a 59,000 job gain. The weaker data has sharpened focus on macro risk transmission (reported 6 hours ago).

BlackRock's $26 billion private credit fund has begun limiting investor withdrawals after redemption requests increased (reported 2 hours ago).

### Market Trends

Bitcoin fell about 4% to around $68,000 and the total crypto market capitalization declined about 3% to $2.4 trillion (reported 0 min ago).

### Regulation & Policy

Senator Elizabeth Warren criticized President Donald Trump after the SEC dropped its lawsuit against Justin Sun in a settlement that includes a $10 million payment.

### What to Watch

If future U.S. labor and inflation data confirm a softer economy with contained price pressures, then easier policy expectations are taking hold. In that case, this is a potential signal to add or rebuild exposure to Bitcoin and other risk assets.]]></description>
    <link>https://ns3.ai/en/top-news</link>
    <guid isPermaLink="true">https://ns3.ai/en/top-news</guid>
    <pubDate>Sat, 07 Mar 2026 16:02:12 GMT</pubDate>
</item>
```

**`title`**

* Value: `NS3 Daily Market Update` (fixed)
* Type: `string` (CDATA-wrapped)

**`description`**

* Meaning: Full desk brief body
* Type: `string` (CDATA-wrapped)
* Structure: Sections delimited by `###` markdown headings. Up to 5 sections included (empty sections are omitted).

```xml
<description><![CDATA[### Top Stories

Top 2–3 stories by structural importance. (reported N hours ago)

### Market Trends

Prices, fund flows, market conditions. (reported N hours ago)

### Regulation & Policy

Regulatory, policy, and legal developments.

### Institutional Updates

Institutional actions, ETFs, market structure changes.

### What to Watch

Conditional action guidance: If X, then Y.]]></description>
```

**`link`**

* Value: `https://ns3.ai/en/top-news` (fixed)
* Note: All items use the same URL.

**`guid`**

* Value: `https://ns3.ai/en/top-news` (fixed, `isPermaLink="true"`)
* Note: Same as `link`. All items share the same value. Standard RSS guid-based deduplication does not work. See Section 8.

**`pubDate`**

* Meaning: Briefing generation time
* Type: RFC 822/1123 format
* Use: "Generated at" display, freshness indicator

***

### 8. Deduplication & Update Tracking

`guid` is identical across all items, so standard RSS guid-based deduplication does not work.

**Recommended approach**: Use `pubDate` as the primary deduplication key.

Recommended composite key:

```
dailyMarketUpdate::<lang>::<pubDate>
```

If the same `pubDate` is fetched again, treat it as a re-delivery/update and overwrite safely.

***

### 9. Polling & Caching

**Generation cycle**: A new briefing is generated every hour on the hour.

**Recommended polling window**: Between minute 15 and minute 20 of each hour. Generation may be delayed when important news volume is high, so polling 15–20 minutes after the hour is more reliable than polling immediately.

```
Poll between minute 15–20 of each hour
(e.g., 01:15, 02:15, 03:15 ...)
```

**Feed scope**: Only the latest single briefing is returned.

**Translation delay**: Translated briefings may arrive approximately 5–10 minutes after the English briefing is generated. When using non-English languages, adjust the polling window to minute 25–30.

**HTTP error handling**

<table><thead><tr><th width="150.33331298828125">Status</th><th>Meaning</th><th>Recommended action</th></tr></thead><tbody><tr><td>200</td><td>Success</td><td>Process feed normally</td></tr><tr><td>304</td><td>Not Modified</td><td>Use cached version (when conditional request headers are supported)</td></tr><tr><td>400</td><td>Bad Request (e.g., invalid <code>lang</code> code)</td><td>Check parameter values</td></tr><tr><td>500, 502, 503</td><td>Server error</td><td>Retry after 30–60 seconds. Do not retry immediately in a tight loop.</td></tr></tbody></table>

> If the server is unreachable or returns a non-200 response, continue serving the last successfully fetched briefing until the next successful poll.

***

### 10. Timezone & Display

* `pubDate` is provided in GMT (RFC 822/1123).
* Convert to local time for UI display, but keep sorting, deduplication, and freshness checks anchored to the original `pubDate` (UTC).
* When displaying "past 24 hours," anchor the window to the briefing's `pubDate` to avoid reader confusion.

***

### 11. Implementation Checklist

* [x] Deduplicate using `pubDate` (`guid` is fixed and cannot be used)
* [x] Render `description` as a single field (full briefing)
* [x] Split on `###` markdown headings for selective section parsing
* [x] Account for empty sections being omitted
* [x] Set polling window to minute 15–20 of each hour
* [x] Adjust to minute 25–30 when using translated briefings
* [x] Convert `pubDate` GMT to local time
* [x] Support 16 languages via `lang` parameter
* [x] Account for the feed returning only the latest single briefing

***

### 12. FAQ

**Q: How is this different from News RSS?**

News RSS delivers individual articles in real time. Daily Market Update reconstructs the past 24 hours of important news (Level 1–2) into one structured narrative briefing. The use cases are different: News RSS is a news feed, Daily Market Update is a daily briefing or newsletter body.

**Q: Why does the feed return only one item?**

This feed is designed to deliver the latest briefing. A new briefing is generated every hour on the hour, and the feed always returns only the most recent one.

**Q: How do I deduplicate when guid is the same for every item?**

Use `pubDate` as the primary deduplication key. Recommended composite key: `dailyMarketUpdate::<lang>::<pubDate>`. If the same `pubDate` is fetched again, overwrite it.

**Q: Can certain sections be missing?**

Yes. Top Stories and What to Watch are always included, but Market Trends, Regulation & Policy, and Institutional Updates are omitted when no relevant news exists. This is more likely on weekends and holidays when news volume is lower.

**Q: Do I need to parse the description?**

Not necessarily. Rendering `description` as-is displays the full briefing. To extract individual sections, split on `###` markdown headings.

**Q: Can translations be delayed?**

Translated briefings may arrive approximately 5–10 minutes after the English briefing is generated. When using non-English languages, poll at minute 25–30 of each hour.

**Q: What is the relationship with Top News RSS?**

They share the same input pipeline (Level 1–2 articles) and story clustering. The difference is the output format: [Top News RSS](https://docs.ns3.ai/ns3-api/top-news-rss) delivers a ranked Top 10 list, Daily Market Update delivers a five-section narrative briefing.

**Q: What is "(reported N hours ago)"?**

An Evidence Timestamp included at the end of each story in Top Stories and Market Trends. It shows the time gap between when the news was reported and when the briefing is being read, so readers can immediately judge the freshness of the information.
