Skip to main content

Developer Guide Overview

TUNA acts as a decentralized News Oracle on the Sui Network, providing a permissionless, free-to-use news feed indexed on-chain with content permanently stored on Walrus.

Integration Architecture

The TUNA system consists of two main components:
1

The Index (Sui Blockchain)

A Shared Object called the NewsRegistry that contains a vector of Blob IDs. This is your on-chain index of all news articles.
2

The Content (Walrus Storage)

Actual article JSON data stored as blobs on the Walrus decentralized storage network. Content is permanent and censorship-resistant.

Data Flow

To fetch news from TUNA, your application follows this path:
Sui Registry → Get Blob IDs → Fetch JSON from Walrus Aggregator

What You Need to Integrate

TL;DR: You only need the Registry Object ID to fetch news. The data is public, permissionless, and free to use.
The addresses below are from the integration example. The TUNA frontend application uses different contract addresses configured in its .env.example file. Make sure to use the correct addresses for your deployment. See the Setup Guide for configuration details.

For Read Operations (Fetching News)

  • Registry Object ID: 0x68c01d2c08923d5257a5a9959d7c9250c4053dbe4641e229ccff2f35e6a3bb6d
  • Sui RPC Endpoint: https://fullnode.testnet.sui.io:443
  • Walrus Aggregator: https://aggregator.walrus-testnet.walrus.space/v1
No wallet, authentication, or SUI tokens required for reading.

For Write Operations (Tips, Comments)

  • Package ID: 0xadf0a6ce11dd75d3d44930ab5bf55781801dea2bfead056eb0bb59c1aa1e9e66
  • Module Name: news_registry
  • Connected Wallet: Required for signing transactions
  • SUI Tokens: Required for gas fees and tips

Use Cases

News Aggregation

Build a custom news reader or dashboard that displays Sui ecosystem updates. Filter by category, search content, or create custom feeds.

Analytics & Research

Analyze trends in the Sui ecosystem. Track which topics receive the most engagement, monitor sentiment, or identify emerging narratives.

Social Features

Integrate TUNA articles into your dApp to allow users to discuss ecosystem news, tip quality content, or share insights with the community.

Content Discovery

Use TUNA as a content source for onboarding new users, recommending relevant articles based on their interests, or powering notifications.

Article Data Structure

Each article returned from TUNA contains:
interface TunaArticle {
  title: string;          // Article headline
  summary: string;        // Brief description
  content: string;        // Full HTML content
  source: string;         // e.g., "Sui Blog", "@SuiNetwork"
  url: string;            // Original article link
  image?: string;         // Cover image URL (optional)
  timestamp: number;      // Unix timestamp
  author?: string;        // Author name (optional)
}

Engagement Data

Articles also include on-chain engagement metrics:
interface ArticleEngagement {
  totalTips: number;      // Total SUI tipped (in MIST)
  tipCount: number;       // Number of tip transactions
  commentCount: number;   // Number of comments
}

Getting Started

Ready to integrate TUNA? Continue to the next sections:

Setup

Install dependencies and configure your client

Fetching News

Learn how to retrieve articles from TUNA

Transactions

Build and execute on-chain transactions

FAQ

No. Reading from the blockchain is public. You do not need to sign any transactions or hold SUI tokens to fetch news.
The Package ID is only required if you invoke a Move function (write operation). Since you’re only reading the state of a Shared Object (the Registry), the Object ID is sufficient.
Yes. Content stored on Walrus is permanent and cannot be deleted or modified. The on-chain index on Sui provides immutable proof of publication.
The public Sui RPC and Walrus aggregators have rate limits. For production applications, consider running your own infrastructure or implementing caching.

Build docs developers (and LLMs) love