# Welcome to Datagram

<figure><img src="/files/80djXdqbss8XFATyNoT1" alt=""><figcaption></figcaption></figure>

Datagram is a **Global Hyper-Fabric Network** designed to power the next generation of real-time connectivity applications and **Decentralized Physical Infrastructure Networks (DePIN)**. These applications rely on real-world resources like compute, bandwidth, and storage. Datagram makes it easy to launch and scale such applications and networks without the need to build complex infrastructure.

The platform rewards **Datagram Node Operators** in two primary ways:

1. **Uptime & Availability:** Operators who keep their nodes online and responsive earn rewards. This ensures the network remains stable and reliable.
2. **Actual Usage:** Nodes that actively contribute resources (compute, bandwidth, etc.) to support real-time applications are rewarded based on their level of contribution.

Datagram is designed to serve three core user segments:

* **Web2 & Web3 Businesses:** Traditional enterprises and blockchain-based projects can access Datagram’s decentralized services through simple APIs or SDKs - no deep blockchain knowledge required.
* **Existing DePIN Networks:** Projects with established node infrastructure can integrate with Datagram via the **Datagram Core Substrate (DCS)** to expand their access to more bandwidth, computing, and storage capacity.
* **New DePIN Projects:** Startups or developers can launch decentralized networks rapidly using Datagram’s turnkey, ready-to-use infrastructure.<br>

{% hint style="warning" %}
**Join Datagram**

If you’re not already using Datagram, download the desktop app and[ start earning rewards today](https://demo.datagram.network/).
{% endhint %}


# What is Datagram?

**Datagram** is a **Global Hyper Fabric Network** designed to provide the essential infrastructure for real-time connectivity applications, as well as launching and scaling **Decentralized Physical Infrastructure Networks (DePIN)**. By removing the complexity and inefficiencies that hinder decentralized adoption, Datagram delivers a **blockchain-agnostic**, **AI-driven**, and fully distributed networking layer.

### Core Purpose and Vision

Datagram aims to **democratize access to decentralized infrastructure** by abstracting away technical complexities. By unlocking underutilized bandwidth, compute, and storage across a globally distributed network, Datagram powers real-time connectivity applications and streamlines the deployment of decentralized infrastructure networks.

Whether you're an enterprise, developer, or DePIN startup, Datagram enables you to deploy **secure**, **scalable**, and **cost-efficient** decentralized networks in just a few steps.

**Imagine AWS-like scalability but decentralized.**

Unlike traditional cloud platforms, Datagram distributes compute, bandwidth, and storage across a global network of independently operated nodes, delivering greater **security**, **transparency**, and **resilience** at significantly lower cost.

### Key Components and Architecture

#### 1. Hyper Network Layer

* AI-driven coordination system that enables adaptive traffic routing, real-time load balancing, and intelligent resource allocation across the Datagram network.
* Continuously analyzes network conditions to reroute traffic, prevent congestion, and ensure maximum uptime through automated fault tolerance.
* Parallel processing at scale, making it uniquely capable of handling real-time applications like video, gaming, and AI workloads.
* Supports multi-chain deployment across prominent blockchains like Ethereum, Avalanche, Solana, and more, enabling cross-chain interoperability.

#### 2. Datagram Core Substrate (DCS)

* Acts as the connectivity layer, enabling existing DePIN projects to integrate with Datagram’s network.
* Provides enhanced compute, storage, and bandwidth capabilities without requiring projects to rebuild infrastructure.
* Ensures seamless upgradeability and extensibility through a pluggable architecture.
* Integrates with the Network Operations Center (NOC) to track node performance, uptime, and enable automated reward distribution.

#### 3. Node Operator Incentive Model

* Node operators are rewarded based on:
  * **Uptime and Availability:** Ensuring stable and reliable network performance.
  * **Actual Usage:** Measured by real-world contributions of bandwidth, compute, and storage.
* Incentivizes high-performance behavior to strengthen overall network robustness and reliability.

### Who Benefits from Datagram?

#### 1. Web2 and Web3 Businesses

Traditional enterprises and emerging Web3 projects can tap into decentralized networking, computing, and storage through Datagram’s developer-friendly APIs and SDKs. This enables them to access the benefits of decentralization, such as improved resilience, cost efficiency, and security, without needing to manage or understand the underlying blockchain infrastructure.

#### 2. Existing DePIN Projects

Projects with live node networks can integrate with Datagram via the Core Substrate to augment their capabilities and improve overall efficiency. By leveraging Datagram’s AI-driven optimization and dynamic routing, these projects can increase utilization rates of their deployed resources, reduce idle capacity, and enhance service quality without needing to rebuild or re-architect their infrastructure.

#### 3. New DePIN Initiatives

Startups and developers can instantly launch decentralized infrastructure using Datagram’s ready-to-deploy Hyper Fabric Network. By removing technical and operational barriers, Datagram shortens time-to-market and simplifies the process of building and scaling DePIN applications from the ground up.

### Distinctive Advantages

* **Blockchain-Agnostic:** Supports deployment across multiple blockchain ecosystems, facilitating seamless cross-chain interoperability and broader adoption.
* **AI-Powered Optimization:** Utilizes intelligent traffic routing, load balancing, and predictive resource allocation to maximize performance and reduce latency for real-time applications.
* **Security and Privacy:** Data sovereignty through decentralized architecture and leverages end-to-end encryption to mitigate vulnerabilities common in centralized cloud infrastructure.
* **Cost Efficiency:** Aggregates underutilized compute, bandwidth, and storage from a global network of nodes, significantly lowering infrastructure costs for both operators and end users.
* **User-Friendly:** Abstracts blockchain complexity through APIs and SDKs, enabling businesses to integrate decentralized infrastructure while maintaining Web2-like UX and supporting fiat or crypto payments.

### Impact and Use Cases

Datagram has powered over **200 enterprises** and served more than **1 million users** worldwide, supporting mission-critical applications such as:

* Real-time video conferencing at a massive scale with thousands of concurrent participants with minimal latency and high reliability.
* Decentralized AI compute networks offer elastic, distributed compute networks for inference and training workloads.
* Scalable content delivery and storage, facilitating efficient distribution and hosting for Web3-native and traditional platforms.

By bridging the gap between Web2 ease-of-use and Web3 decentralization, Datagram is laying the foundation for the next-generation internet infrastructure—fast, secure, scalable, and universally accessible.


# What Is Alpha Testnet?

The Alpha Testnet is the early testing phase of the Datagram Network. It provides a controlled, real-world environment where the infrastructure can be evaluated before the official mainnet launch. During this phase, developers, node operators, and early contributors participate in stress-testing the platform to ensure stability, scalability, and accurate reward tracking.

The goal is to validate all core components—including the Datagram Core Substrate (DCS), Hyper Network Layer, and the Network Operations Center (NOC)—under real usage conditions. Contributors in this phase earn **non-transferable points**, which serve as proof of participation and will later influence token allocation ($DGRAM) and reward tiers on the mainnet.

## Why the Alpha Testnet Matters

This phase plays a critical role in shaping the reliability, security, and performance of the network. It allows the development team to observe how Datagram performs when used by a distributed group of participants across different regions and environments. By involving real users, the Alpha Testnet helps identify technical issues, uncover optimization opportunities, and ensure that all major components—like routing, node coordination, and reward tracking—function correctly.

## Who Can Participate

The Alpha Testnet is open to anyone who wants to contribute to Datagram's early development. This includes independent node operators, DePIN projects interested in testing integration with the Datagram Core Substrate, and developers building decentralized applications that rely on bandwidth, compute, or storage.

There are no special requirements. You can run a node on a personal computer, cloud server, or even low-power devices like a Raspberry Pi. The system supports Docker on **Linux**, **Windows**, and **macOS**.

**KYC:** No KYC is required to join. Contributions are tracked via **wallet address**. However, identity verification may be needed later to claim mainnet rewards.

**Nodes per Device:** There’s no strict limit on the number of nodes per device, as each node is individually measured by the NOC for uptime, traffic, and performance. However, for regular full core testnet participation, only one node is allowed per email, account, or wallet.

## How It Works

When someone joins the Alpha Testnet, they run a Datagram node that connects to the testnet network. This node contributes resources like compute power, bandwidth, and uptime. The network tracks these contributions through the Network Operations Center (NOC), which monitors the performance of each node in real time.

The node’s performance is measured across several key metrics, including availability, actual traffic handled, and responsiveness. Based on these metrics, participants earn points that reflect their level of contribution to the testnet.

These points are not tradable or usable as tokens but will be recorded and associated with each participant's identity. When the mainnet launches, these points will be converted or honored in the form of $DGRAM tokens or other early-access benefits.


# Getting Started with the Alpha Testnet

The Alpha Testnet is the first stage where anyone can join the Datagram Network, run a node, and start helping to test the system. By taking part, you’ll earn points based on how long your node stays online and how much it helps the network. It’s a chance to get early access, contribute resources, and be a part of building Datagram before the official launch.

#### Step 1: Download & Install

Visit the [Datagram website](https://demo.datagram.network/#nodeOperator) and download the **Datagram desktop application**. It’s available for Mac, Windows, and Linux.

#### Step 2: Register Your Node

Follow the registration guide to create your operator profile and generate your node key. The application will connect to the testnet once set up.

{% hint style="warning" %}
For the partner core testnet, you can apply for multiple partner core licenses—each node will require a separate API key.
{% endhint %}

#### Step 3: Select Node Type

For the Alpha Testnet, users will only be allowed to choose and operate a Full Core node. Each node will generate one key. Full Cores are eligible to earn maximum amount of points available during the Alpha Testnet.

#### Step 4: Stay Online

Keep your node active and connected. Uptime tracking begins as soon as your node syncs with the network. The longer you stay connected, the more you earn.

#### Step 5: Monitor Progress

The dashboard in the Datagram application lets you see uptime and total points earned.


# Introduction

In this section, you will find information to help you understand and participate in the Datagram Node Sale.

Welcome to the Datagram Full Core Node Sale — your opportunity to help power a decentralized, high-performance infrastructure network designed for real-time connectivity, AI, and next-generation DePIN applications.

By operating a Full Core node, you’re not just supporting the network — you’re becoming part of its foundation.

### What's inside this guide?

This documentation will walk you through everything you need to understand, participate in, and operate a Full Core Node.

Learn more about:

* **What is a Full Core Node?**\
  Discover the role, benefits, and responsibilities of running a node in the Datagram network.
* **What is the Datagram Node Sale?**\
  Understand the structure, purpose, and phases of the node license sale.
* **How Can I Participate?**\
  Explore step-by-step instructions to purchase a node, get whitelisted, and join the network.

{% hint style="warning" %}
**Please review the applicable terms and conditions** including the [Full Core Node Agreement](https://datagram.network/full-core-node-agreement), [Referral Policy](https://datagram.network/referral-policy), and any related policies before participating in the sale or operating a node. Participation in the Datagram network constitutes acceptance of these terms.
{% endhint %}


# What is a Full Core Node?

Full Core nodes are the most advanced type of Datagram Core node and form a critical part of the Datagram Fabric Network. They handle key functions like routing, validating, and optimizing data, which keeps the network fast, secure, and reliable.

By operating a Full Core node, you help build the decentralized infrastructure that allows Datagram to scale and support a wide range of services. These nodes also verify that Partner Core nodes connected to the Datagram Core Substrate are properly authorized to access the network and earn rewards, helping ensure transparency and trust across the ecosystem.

Full Core nodes are the backbone of Datagram’s performance. They create strong, fault-tolerant data pathways and offer rewards to operators who contribute resources. For anyone committed to supporting and shaping the future of decentralized connectivity, running a Full Core node is the most impactful way to get involved.

{% hint style="warning" %}
[Learn more about Datagram's Node Network](/datagram-architecture/node-network)
{% endhint %}


# Why Run a Full Core Node?

Operating a Full Core node in the Datagram network gives you a front-row seat to the evolution of decentralized infrastructure. Full Cores are not just nodes - they are the backbone of Datagram’s performance, resilience, and scalability.

By running a Full Core node, you enable:

* **Decentralization That Matters**: Help keep the network distributed, trustless, and resistant to centralized control.
* **Verified Integrity**: Contribute by verifying that Partner Core nodes are authorized to access the network and earn rewards through the Datagram Core Substrate.
* **Infrastructure Contribution**: Host and route essential data while maintaining high uptime and throughput.
* **Token Rewards**: Earn $DGRAM tokens for your contributions and unlock deeper participation in Datagram’s growth.

Running a Full Core node is more than supporting the network - it means becoming a critical part of it.


# Full Core Node Rewards

As a Full Core node operator in the Datagram network, you will earn token rewards for delivering uptime, performance, and decentralized services across the ecosystem.

Each day, the protocol allocates 0.125% of the latent $DGRAM token supply as rewards, with 50% of this daily emission distributed to Full Core node operators. The “Latent Supply” is defined as the difference between the maxSupply of 10 billion tokens and the totalSupply at the time rewards are distributed. Rewards may be dynamically determined based on the throughput, reliability, and verified activity your node contributes.

In addition to earning rewards, operators will play a vital role in maintaining trust across the network by verifying third-party DePIN activity through the Datagram Core Substrate. This verification ensures the integrity of operations and provides the foundation for external integrations.

Running a Full Core node is about more than rewards - it is about driving the future of decentralized infrastructure and holding a critical role in the Datagram ecosystem.

{% hint style="warning" %}
[Learn more about Datagram's Mainnet Rewards.](/rewards/dgram-token-mainnet-rewards)
{% endhint %}


# Node Sale Overview

### When will the node sale take place?

* Preferred whitelist node sale launch: Sunday, August 10, 2025 1:00 PM UTC, only for preferred whitelisted users to purchase.
* Whitelist node sale launch: Monday, August 11, 2025 1:00 PM UTC, only for whitelisted users to purchase.
* Public node sale launch: Tuesday, August 12, 2025 1:00 PM UTC, for all users to purchase.

### Where will the node sale take place?

The Datagram Node Sale will be conducted on the official website:

<https://www.datagram.network/node-sale>

### Will the sale be accessible from other platforms?

Both the whitelist and public sales will be available directly through Datagram’s official website. However, selected partnered launchpads may host the sale on their own websites. If you participate through a partner’s launchpad, the front-end and purchase process will be managed on the partner’s platform.

### How many Full Core node licenses are available?

The initial number of Full Core node licenses available for purchase is capped at 25,000. There are no plans to expand beyond this allocation for at least 12 months following the launch of the node sale. This cap is designed to preserve scarcity, promote a healthy ecosystem, and maximize reward potential for early participants.

If network demand significantly exceeds current capacity, additional infrastructure may be introduced through a temporary staking mechanism. This mechanism would allow for the creation of new nodes by locking tokens, enhancing network performance without permanently increasing the supply. This approach ensures that network growth remains responsive and sustainable, while protecting the long-term value and utility of the initial node licenses.

### How do I know which tier is currently ongoing during the node sale?​

The node sale is conducted on a first come, first served basis. On the node sale page, you will be able to see all tiers and their respective tranches.

Each tranche is clearly labeled. As long as a tranche is not marked as “Sold Out”, it is available for purchase regardless of whether it is in the current or a higher tier.

### How many nodes can I purchase?

To ensure fairness, participants will be subject to a maximum number of Full Core nodes they can purchase during the whitelist phases:

#### Tier 1: Standard

* Tranche 1: Up to 2 nodes
* Tranche 2: Up to 2 nodes
* Tranche 3: Up to 4 nodes
* Tranche 4: Up to 4 nodes

#### Tier 2: Enhanced

* Tranche 1: Up to 5 nodes
* Tranche 2: Up to 5 nodes
* Tranche 3: Up to 10 nodes
* Tranche 4: Up to 10 nodes

#### Tier 3: Prime

* No purchase limit

Once the whitelist phases end, both existing and new participants will be free to purchase nodes from any available tier or tranche during the public sale phase, subject to availability at that time.


# Node Sale Tiers

<figure><img src="/files/LQKDr2JZerpgBjULHp41" alt=""><figcaption></figcaption></figure>

### What are the sales types available within each tier?

Each tier offers tranche-based Full Core nodes through Datagram’s official website on a first-come, first-served basis at a fixed price.

Sales types by tier:

* Tier 1 (Standard): Full Core nodes without Capsules or Datagram Prime Membership benefits.
* Tier 2 (Enhanced): Full Core nodes that include Capsules which enhance reward output over time.
* Tier 3 (Prime): Full Core nodes that include both Capsules and Datagram Prime Membership for one year.

### What are the purchase limits?

| Node Sale Type                                                            | Tiers (T)  \|  Tranches (tr)   | Purchase Limits \* |     |                                   |     |     |                                   |     |     |         |                                                           |   |   |        |   |    |                          |
| ------------------------------------------------------------------------- | ------------------------------ | ------------------ | --- | --------------------------------- | --- | --- | --------------------------------- | --- | --- | ------- | --------------------------------------------------------- | - | - | ------ | - | -- | ------------------------ |
| <p><strong>Preferred Whitelist</strong><br>Aug 10, 2025 at 1:00PM UTC</p> | <p> <strong>T1:</strong>   tr1 | tr2                | tr3 | tr4<br><strong>T2:</strong>   tr1 | tr2 | tr3 | tr4<br><strong>T3:</strong>   tr1 | tr2 | tr3 | tr4</p> | <p>2                                                      | 2 | 4 | 4<br>5 | 5 | 10 | 10<br>unlimited \*\*</p> |
| <p><strong>Pre-sale Whitelist</strong><br>Aug 11, 2025 at 1:00PM UTC</p>  | <p> <strong>T1:</strong>  tr1  | tr2                | tr3 | tr4<br><strong>T2:</strong>   tr1 | tr2 | tr3 | tr4<br><strong>T3:</strong>   tr1 | tr2 | tr3 | tr4</p> | <p>2                                                      | 2 | 4 | 4<br>5 | 5 | 10 | 10<br>unlimited \*\*</p> |
| <p><strong>Public Sale</strong><br>Aug 12, 2025 at 1:00PM UTC</p>         | <p> <strong>T1:</strong>   tr1 | tr2                | tr3 | tr4<br><strong>T2:</strong>   tr1 | tr2 | tr3 | tr4<br><strong>T3:</strong>   tr1 | tr2 | tr3 | tr4</p> | <p>unlimited \*\*<br>unlimited \*\*<br>unlimited \*\*</p> |   |   |        |   |    |                          |

*\*Purchase limits are per eligible wallet*\
*\*\*Unlimited limits are based on actual available supply at time of purchase*

All purchases are subject to eligibility verification and governed by the [Full Core Node Agreement](https://www.datagram.network/full-core-node-agreement).

{% hint style="warning" %}
**Disclaimer**: The information herein by Datagram Group Ltd. (“Datagram”) is for general information only and does not constitute an offer to sell or a solicitation to purchase nodes, licenses, tokens, or any assets in any jurisdiction where such activity is unlawful. Participation is subject to eligibility requirements, including KYC, AML, and other compliance checks, and is governed solely by the Datagram Node and License Agreement, which must be reviewed and accepted before any purchase. Acquiring nodes or licenses does not grant rights to profits, equity, or ownership in Datagram or its affiliates and should not be regarded as an investment. References to boosters or benefits are illustrative only, may change or be withdrawn without notice, and do not guarantee any future allocation or value. Purchasers should have no expectation of profit. This material may include forward-looking statements about Datagram’s plans, which involve risks and uncertainties that could lead to materially different outcomes. Participation may be restricted in some jurisdictions, and this material is not directed where its distribution is unlawful. Purchasing nodes carries significant risk and may result in total loss. Prospective participants should seek independent legal, financial, and tax advice.
{% endhint %}


# Datagram Capsule

### What is a Capsule?

A Capsule is an NFT that represents ownership rights to a specific allocation of locked $DGRAM tokens. Unlike traditional vesting schedules that are tied solely to a wallet or smart contract, the Capsule is designed for flexibility, allowing you to hold, transfer, or burn it to claim vested $DGRAM tokens.

<figure><img src="/files/L6sBAISnKzeUIfk1ftmx" alt=""><figcaption></figcaption></figure>

### How do Capsules work?

* **Issuance and Allocation**: Each Capsule is linked to a specific token allocation and a 12-month vesting schedule. 10% of the allocated $DGRAM tokens unlock at mainnet launch and become immediately available for claim. The remaining 90% of $DGRAM tokens vest on a daily, linear basis over the subsequent 12 months. All nodes within a tier designated to receive a Capsule will be issued the corresponding Capsule for their respective tier and tranche.
* **Eligibility and Node Operation**: To redeem and burn a Capsule, the wallet holding the Capsule must be operating a qualifying Full Core node license for a minimum of 100 hours. The claim option will only become available once this operational threshold is met. If the Capsule is transferred to a non-eligible wallet or the node becomes inactive, the requirement must still be fulfilled before redemption can occur.
* **Claiming**: Holders may claim unlocked and vested $DGRAM tokens at any time. If a Capsule is redeemed (burned) before the completion of the 12-month vesting schedule, any unlocked and vested $DGRAM tokens up to the date of redemption will be claimable by the wallet holding the capsule. Any unvested $DGRAM tokens at the time of redemption are not claimable and are subject to redistribution and burn mechanisms described below.
* **Redistribution and Burn Mechanism**: Upon early redemption, 50% of any unvested $DGRAM tokens are permanently removed from the allocation pool (burned) and the remaining 50% are proportionally redistributed to other active Capsules. This mechanism is intended to encourage longer-term participation and support ecosystem sustainability.
* **Transferability**: Capsules may be transferred to third parties, subject to applicable terms and conditions. Any recipient of a transferred Capsule assumes full ownership of its value including both vested and unvested tokens as well as the remaining vesting schedule and all associated eligibility requirements.

### Why Capsules offer a better alternative?

* **Combats Airdrop Farming & Dumping**: Traditional upfront token distributions often encourage exploitative behavior and rapid selling. Capsules embed value into an NFT-based structure, discouraging immediate sell-offs and fostering longer-term alignment among holders.
* **Enhanced Flexibility Compared to Rigid Vesting**: Conventional long-lock vesting schedules can be inflexible. Capsules provide the option to claim unlocked and vested tokens incrementally or to exit entirely through a single redemption event, balancing autonomy with liquidity.
* **Protects Network Integrity**: The early redemption mechanism—burning and redistributing unvested tokens—acts as a deterrent to opportunistic exits. This ensures value flows back to committed participants and reinforces the stability of the network.
* **Conditional Transferability**: Transferability enables secondary market participation while maintaining vesting discipline. Any new holder must meet the operational requirements, such as running a qualifying node, before claiming tokens.

### Capsule expiration timeline

Capsules will remain valid for 18 months after the Token Generation Event. During this period, holders can claim their vested tokens, transfer their Capsules, or redeem them early if they choose. Once the 18-month window closes, any remaining unclaimed tokens inside the Capsule will be forfeited and the Capsule itself will expire. This ensures that allocations are either used or returned to the ecosystem in a timely manner, preventing dormant supply from lingering indefinitely.

{% hint style="warning" %}
**Disclaimer**: The information herein by Datagram Group Ltd. (“Datagram”) is for general information only and does not constitute an offer to sell or a solicitation to purchase nodes, licenses, tokens, or any assets in any jurisdiction where such activity is unlawful. Participation is subject to eligibility requirements, including KYC, AML, and other compliance checks, and is governed solely by the Datagram Node and License Agreement, which must be reviewed and accepted before any purchase. Acquiring nodes or licenses does not grant rights to profits, equity, or ownership in Datagram or its affiliates and should not be regarded as an investment. References to boosters or benefits are illustrative only, may change or be withdrawn without notice, and do not guarantee any future allocation or value. Purchasers should have no expectation of profit. This material may include forward-looking statements about Datagram’s plans, which involve risks and uncertainties that could lead to materially different outcomes. Participation may be restricted in some jurisdictions, and this material is not directed where its distribution is unlawful. Purchasing nodes carries significant risk and may result in total loss. Prospective participants should seek independent legal, financial, and tax advice.
{% endhint %}


# Datagram Prime Membership

### What do I get with a Datagram Prime Membership?

With a Datagram Prime Membership, you receive a range of exclusive benefits designed to enhance your participation in the ecosystem. These include direct access to core team members, early access to test new technologies and features before public release, limited-edition Datagram Prime merchandise, and priority registration for in-person events such as meetups, summits, and private gatherings. Prime Membership is intended to recognize and reward individuals who are actively contributing to the community or have acquired Prime Tier Full Core nodes.


# Whitelist

### What is a whitelist?

A whitelist is a pre-approved list of participants who receive exclusive access to certain privileges during a sale event. It is typically used to reward and incentivize key contributors, partners, and early supporters of the project.

Whitelisted participants are granted priority to purchase nodes or access limited allocations before the sale opens to the general public.

### Does entering the whitelist guarantee that I can purchase a node?​

Joining the whitelist grants you early access to the whitelist sales phases, but does not guarantee a node allocation as all purchases are on a first come, first served basis. If you do not secure a node during the whitelist phases, you may still have an opportunity to purchase during the public sale phase, subject to availability at that time.

### How to join the whitelist?

To secure a whitelist spot for the Datagram Full Core node sale, community members and ecosystem participants are eligible for allocations.

You can:

* Visit Datagram’s [X](https://x.com/dgramnetwork?mx=2), [Discord](https://discord.com/invite/datagramnetwork), and [Telegram](https://t.me/datagramnetwork) channels for details on how to qualify.
* Apply directly by completing the whitelist form.

Be sure to follow all instructions carefully to ensure your application is submitted successfully.

<br>


# Node Payment & Licenses

### What payment methods will be accepted for purchasing a Full Core node?​&#xD;

The Datagram Full Core Node Sale will accept USDT and USDC payments on the Ethereum network (ERC-20).

### What will I receive from participating in the node sale?​&#xD;

You will receive a NFT (ERC-721) that represents your Full Core node license. This NFT grants you lifetime rights to operate a node and participate in the Datagram network. The NFT will be locked for one year and must be operated using the wallet it was purchased with.

### How will the Full Core node licenses be distributed?​

After the node sale period is completed, you will be able to claim (mint) your Full Core node license NFT to your wallet prior to mainnet launch. Only the wallet holding the node license will be able to operate the node and earn rewards, unless the license has been delegated through the [delegation process](/datagram-node-sale/getting-started/node-operations#can-i-delegate-my-full-core-node).


# Full Core Node Agreement

Please review the full details and terms of the Datagram Node Sale by visiting our [Full Core Node Agreement](https://www.datagram.network/full-core-node-agreement).


# Getting Started

This section is designed to guide you through three key steps:

1. **How to Purchase a Full Core Node**\
   Understand the sale process, available tiers, and how to secure your license through the official platform or partner launchpads.
2. **After Purchasing a Full Core Node**\
   Learn what happens after you complete your purchase, including how node licenses are distributed, when you can activate your node, and how to prepare for testnet and mainnet participation.
3. **Node Operations**\
   Discover how to install, run, and monitor your Full Core Node to earn rewards and contribute to the Datagram Hyper-Fabric Network. Includes system requirements and best practices for uptime and performance.


# How to Check Your Node Sale Whitelist Status

To check the status of your whitelist for Datagram's node sale, follow the steps below:

### Confirm your wallet has been added to the whitelist

**Step 1:** In *Dashboard > Wallet*, click on "Whitelist status", enter a wallet address and click "Submit" to check if it has been added to the node sale whitelist.

<figure><img src="/files/KCESDQcO1jQuwvQsmGOw" alt="" width="338"><figcaption></figcaption></figure>

**Step 2:** After submitting a wallet address, you will receive 2 possible results:

* **Success:** "Congratuations, your wallet has been added to the following whitelist" as well as the type, date and time when that sale will take place
* **Error:** "The wallet address that you inputted has not been added to any whitelists. Please check and try again."

<div><figure><img src="/files/7mBuWdMVKAd8bbrJKe5c" alt="" width="270"><figcaption></figcaption></figure> <figure><img src="/files/WcMUpJTcIwwqM91L0pGY" alt="" width="270"><figcaption></figcaption></figure></div>

{% hint style="warning" %}
**Reminder:**

* Only (1) wallet can be connected to Datagram to be added to any whitelist. Once a wallet has been successfully connected, it cannot be changed or removed.
* Only EVM supported wallets successfully connected to be added to Whitelists will be accepted for access and purchase of nodes.
* Whitelisting is NOT required for the Public node sale, any EVM supported wallet(s) can be used to purchase Datagram Full Core Node Licenses based on availability.
  {% endhint %}

{% hint style="info" %}
The node sale is conducted on the Ethereum network (ERC-20). You will need:

* USDT or USDC to purchase nodes
* ETH to cover gas fees.

If your tokens are on a different network, please use MetaMask or a bridging service to convert them to the Ethereum network prior to the node sale.
{% endhint %}


# How to Purchase a Full Core Node

To participate in the Datagram Full Core Node Sale, follow the steps below:

### Step 1: Visit the node sale page

Go to <https://www.datagram.network/node-sale> and connect your ERC-20 wallet.

### Step 2: Prepare your tokens

The node sale is conducted on the Ethereum network (ERC-20). You will need:

* USDT or USDC for the purchase.
* ETH to cover gas fees.

If your tokens are on a different network, use MetaMask or a bridging service to transfer them to the Ethereum network.

### Step 3: Choose your Tier and Tranche

There are three (3) tiers available, each containing four (4) tranches. When you increase the quantity, it will automatically select from the lowest tranches within a tier. Select your desired tranche(s) within a tier.

### Step 4: Select payment method

Choose to pay with USDT or USDC.

### Step 5: Set the quantity

Enter the number of nodes you wish to purchase within the tier.

### Step 6: Apply referral code (optional)

If you have a referral code, enter it before completing your purchase. If you have already purchased a node, you may share your unique referral code with others to earn a 7.5% commission on qualifying purchases.

### Step 7: Agree to all the terms and conditions

Carefully review and accept all applicable terms before proceeding.

### Step 8: Complete your purchase

Click the “Purchase” button and confirm the transaction in your connected wallet.&#x20;

### Step 9: Confirmation

Once the transaction is successful, a confirmation will appear.

<br>


# How to Purchase Datagram Nodes

To participate in the Datagram Full Core Node Sale, follow the steps below:

### Step 1: Ensure you have the correct funds available to purchase nodes

The node sale is conducted on the Ethereum network (ERC-20). You will need:

* USDT or USDC for the purchase of nodes.
* ETH to cover gas fees.

If your tokens are on a different network, please use a bridging service to transfer them to the Ethereum network before trying to purchase any Datagram nodes.

{% hint style="info" %}
To determine how much funds you will need to prepare before the node sale, please refer to [Node Sale Tiers](/datagram-node-sale/node-sale-overview/node-sale-tiers) for details on the different types of nodes available, purchase limits, pricing and any additional benefits (if any).
{% endhint %}

### Step 2: Go to the node sale page

Go to Datagram's [Official Node Sale Page](https://nodesale.datagram.network/) and connect an ERC-20 wallet(s) that you would like to use to purchase nodes.

{% hint style="warning" %}
If the url of the page that you are trying to purchase Datagram nodes is not <https://nodesale.datagram.network>:

* DO NOT connect your wallet or make any purchases and leave that website immediately
* If you have already connected a wallet, disconnect it and leave that website immediately
  {% endhint %}

<figure><img src="/files/IHITIPxXQHCYb59RlJj0" alt="" width="563"><figcaption></figcaption></figure>

### Step 3: Select nodes to purchase

After successfully connecting a whitelisted wallet, you will arrive at the main Datagram nodes sales page.

{% hint style="info" %}
The Public Sale is open to all participants of approved regions who successfully connects any ERC-20 supported wallet and does not require any pre-approved whitelisting.
{% endhint %}

<figure><img src="/files/emgy4el3oLaVkChqpJfh" alt="" width="563"><figcaption></figcaption></figure>

There are three (3) tiers available, each containing four (4) tranches, and each tranche has limited quantities and purchase limits. There for 3 methods available to select nodes for purchase:&#x20;

1. **Tiers:** Choose the amount of nodes you would like to purchase from each Tier and it will automatically add nodes to your Cart starting from the lowest Tranche available for you to purchase up to the maximum available for you to purchase for that Tier.
2. **Quick Select:** If you already have a budget or total amount of nodes you would like to purchase, Quick Select makes adding nodes to your Cart quick and easy.
   * **Budget:** Entering a Budget will automatically add nodes to your Cart up to that budget amount starting from the lowest Tranche available for you to purchase up to the maximum available for you to purchase for each Tier.
   * **Node Amount:** Entering a Node Amount will automatically add that exact number of nodes to your Cart starting from the lowest Tranche available for you to purchase up to the maximum available for you to purchase for each Tier.
3. **Manually:** If you have specific nodes based on Tiers and Tranches you would like to purchase, you can manually add them to your Cart using the -/+ buttons at any time.

After selecting the nodes for purchase, click on "Checkout" to continue to the last step.

{% hint style="info" %}
**Note:** Regardless of which method you use to select nodes to be added to your Cart, you can always use the -/+ quantity buttons to customize your cart up until you're ready to complete your purchase.
{% endhint %}

### Step 4: Review your Cart and process payment to confirm purchase

<figure><img src="/files/P7kFQ52lDKAZpQLO1C7p" alt="" width="563"><figcaption></figcaption></figure>

The Checkout page is the final step before completing the purchase of Datagram nodes. Before clicking on "Buy now" to submit your purchase, please review and complete the following items:

1. **Cart summary (optional):** This shows how many nodes from each Tier and Tranche you are trying to purchase, the overall Benefits included and also the Total payment required to complete the purchase. If you would like to make any changes, you can click on the Total to open a detailed view and customize your cart using the -/+ buttons.
2. **Accepted payment:** Only USDC or USDT on Ethereum (ERC-20) is accepted for purchasing Datagram nodes at this time. Please use this dropdown to select your preferred payment method. If the payment method you have selected is not enough to cover the required Total, you can click on "Top up" to add more funds to your wallet to complete this purchase.
3. **Referral code (optional):** If you used a referral link, a referral code will automatically be filled in. If the referral code is empty, you can always manually input the code. After clicking "Buy now", it will check the validity of the referral code.
   * If the referral code is valid, the transaction will be sent to your connected wallet for  authorization to complete the purchase.
   * If the referral code is invalid, you will be asked to either update the referral code or remove it and try again to submit "Buy now" again.
4. **Terms for purchase:** Before you can submit your order for purchase, you MUST check and agree to ALL of the terms required to participate in the Datagram node sale.
5. **Buy now:** Once you have confirmed and completed all the required steps, click on "Buy now". This will request permission from your connected wallet to authorize the funds required to complete this purchase.
   * If the purchase is successful, you will receive a successful confirmation from Datagram.
   * If the purchase has failed, you will receive a notice from your connected wallet. A purchase can fail due to the following reasons:
     * **Insufficient funds:** If you do not have enough USDC/USDT or ETH for the gas fee, you will not be able to complete the transaction.
     * **Sold out quantities:** If specific Tiers and Tranches you have selected are no longer available, the transaction cannot be completed. You will have to go back to the Node Sales page and try again.
     * **Failed authorization:** You must authorize your connected wallet to access the required funds to complete the checkout process. If proper authorization is not given, the transaction will fail.

{% hint style="danger" %}
If many users are trying to purchase nodes at the same time, this may lead to changes in availability of nodes. The only way to confirm availability is to submit your transactions for purchase.

Please note that if your submitted transaction fails due to unavailable nodes in specific Tiers and Tranches, it will still collect the gas fee (non-refundable) to process that transaction and you will have to update your Cart and try again.

We strongly recommend knowing exactly which nodes you want to buy and having the required funds and gas fees ready prior to the node sale to ensure the smoothest node purchasing experience.
{% endhint %}

{% hint style="success" %}
Supply is limited so don't miss out and purchase your Datagram Nodes before they are sold out!

Buy Datagram nodes here: [Official Node Sale Page](https://nodesale.datagram.network/)
{% endhint %}


# After Purchasing a Full Core Node

### What's next?

After you purchase a Datagram Full Core node, Datagram will record a receipt of your purchase so that you can claim the ERC-721 NFT Node License before Datagram's Mainnet is launched. You will need to use the same wallet address used during the sale to access claiming of your NFT Node License(s), but will be able to assign receipt of that NFT Node License to any wallet address. This NFT contains your license and the terms of ownership for the node, as well as proof of your eligible participation in the Datagram Network.

You may purchase multiple nodes, subject to availability and any cap limitations. Each Full Core node license provides lifetime access. The NFTs will be non-transferable for one year from the date they are claimed (minted) to your wallet prior to mainnet launch. After the one year period, it will become fully transferrable.


# Node Operations

### What are the hardware requirements?​&#xD;

Datagram Full Core nodes are designed for broad adoption and can be operated on laptops, desktops, or cloud instances.

The minimum recommended configuration to support UDP are:

* **CPU**: 2 cores (modern chipsets)
* **RAM**: 2 GB (16 GB recommended)
* **SSD**: 2 GB SSD
* **Internet Connection**: at least 10 mbps upload and download speeds

{% hint style="info" %}
Minimum hardware requirements are subject to the services the user agrees to support on the Datagram Network.

For example, node operators who only support UDP have lower hardware requirements than node operators who support AI or other services.
{% endhint %}

### When can I begin operating my node?​&#xD;

Mainnet is now live and you can begin operating your Full Core nodes immediately.

### &#xD;How do I run a Full Core node? Is it complicated?​

Running a Full Core node is straightforward and typically involves just a few steps. You can find detailed instructions on how to set up and operate a Full Core node in the [user guide](/datagram-desktop-application-guide/datagram-desktop-application-user-guide).

### Can I run multiple nodes?​

Yes, participants are able to run one node per license owned, subject to network guidelines and any capacity limits that may apply.

### Can I delegate my Full Core node?&#xD;

If you prefer not to manage the Full Core node yourself, you have the option to delegate it to other node operators. Delegation helps strengthen the network by allowing your Full Core node license NFT to be operated by Nodes-as-a-Service (“**NaaS**”) providers.

This delegation does not involve transferring the NFT. It is a temporary, at-will permission granted by the owner to a third party for the purpose of node operation. Specific instructions for how to delegate your node will be published at a later date. Delegation does not impact a user’s eventual ability to transfer a Full Core node license after the one-year lock period. However, you will need to un-delegate (revoke) the node before it can be transferred.

Datagram has established partnerships with leading NaaS providers so that you can delegate your license key for them to manage on your behalf. Each NaaS provider sets their own NaaS Provider Commission Rate (“**NPCR**”), which is the percentage of rewards they retain for operating the node. After deducting the NPCR from the total rewards, the remaining rewards are distributed to you as the delegator. A lower NPCR means the NaaS provider will share a larger portion of the rewards with you.

You can delegate your Full Core node license NFT to any of our approved NaaS partners. For the full list of providers, please visit [this page](/datagram-node-sale/getting-started/node-operations/virtual-private-servers-and-nodes-as-a-service-providers).


# Virtual Private Servers and Nodes-as-a-Service Providers

If you prefer not to run your Full Core node on your personal machine, you have two options: Virtual Private Servers (“**VPS**”) or Nodes-as-a-Service (“**NaaS**”).

The key difference is:

* With a VPS, you are responsible for setting up, deploying, and managing your node.
* With a NaaS, the entire process is managed for you. You simply “delegate” your Full Core node license NFT to a NaaS provider and automatically earn rewards without needing to operate the infrastructure yourself.

Recommended VPS Providers:

* AWS
* Google Cloud

Make sure to select a package that meets the minimum hardware requirements. The server’s physical location does not affect your eligibility for KYC or rewards.

Official Datagram NaaS Partners:

* [InfStones](https://infstones.com/)
* [NerdNode](https://nerdnode.io/)
* [NodeOps](https://nodeops.network/)
* [Node Terminal](https://www.nodeterminal.com/)


# User Referrals

## Individual user referral codes

### How do Full Core node buyers create their own referral code?

Every buyer automatically receives a personal referral code when they complete a successful purchase of a Full Core node. To refer others, simply share your referral code with them. When they enter your code during their purchase, the referral will be attributed to you.

### How does it work?

When someone makes a Full Core node purchase using your referral code, you will earn commissions across two levels:

1. **Direct Referral (Level 1)**: You will receive a 7.5% commission on purchases made directly using your referral code.
2. **Indirect Referral (Level 2)**: You will receive a 5.0% commission on purchases made by users who were referred by your direct referrals.

To participate, simply share your referral code with potential buyers. Commissions can be claimed through the referral rewards page as a one-time payment after each qualifying purchase is processed and confirmed.

Note: Full technical implementation details for referral codes will be released closer to the node sale. The referral system may be subject to updates based on platform requirements and integration timelines.

### When will users receive the referral commission?

Referral commissions become available in USDT on the Ethereum network (ERC-20) once a qualifying purchase is processed and confirmed. Afterwards, you may request and claim your commission from Rewards (*Dashboard > Rewards > Node Sale*.)

Note: Full technical implementation details for referral claims will be released closer to the node sale. The referral system may be subject to updates based on platform requirements and integration timelines.

{% hint style="warning" %}
**Please review the applicable terms and conditions** including the [Full Core Node Agreement](https://datagram.network/full-core-node-agreement), [Referral Policy](https://datagram.network/referral-policy), and any related policies before participating in the sale or operating a node. Participation in the Datagram network constitutes acceptance of these terms.
{% endhint %}

<br>


# Datagram Rewards System

The Datagram rewards system is designed to incentivize and fairly compensate those who contribute infrastructure and support to the network, whether during the early testnet phase or the full-scale mainnet launch. It creates a dual-layered model that supports the growth, performance, and sustainability of the ecosystem by rewarding measurable contributions in real time.

Unlike traditional systems that rely on fixed infrastructure, Datagram dynamically scales with user demand and compensates participants based on their availability, activity, and reliability. This is achieved through a hybrid model of point-based incentives during the Alpha Testnet and token-based rewards post-mainnet using the $DGRAM token.

### Phased Reward Lifecycle

The rewards lifecycle is split into two distinct operational phases:

**1. Alpha Testnet Phase (Points-Based):**\
Participants receive non-transferable performance points (DPTS) for uptime, bandwidth, and compute contributions. These points serve as early contribution records and will be used to claim rewards upon mainnet launch. The rewards are distributed based on tracked uptime, actual usage, and number of confirmed referrals.

**2. Mainnet Phase (Token-Based):**\
Once the network is live, operators begin earning $DGRAM tokens. These tokens are distributed daily through a dynamic emissions model. Token rewards scale with contribution and demand, ensuring infrastructure providers are compensated proportionally to their performance and value to the ecosystem.

### Who Can Earn Rewards

Datagram’s reward system is inclusive and designed to support multiple contributor types:

* **Full Core Operators:** Backbone node operators that provide high-availability infrastructure, process critical traffic, and are eligible for the highest rewards.
* **Partner Core Operators:** Nodes that handle load balancing and overflow traffic.
* **Testnet Participants:** Early supporters who contribute during the Alpha phase and earn points for future conversion.
* **Referrers:** Community members who bring new users or operators into the ecosystem.
* **Stakers and Validators:** After the mainnet, those who lock tokens or participate in governance and validation.

### How Rewards Are Measured

Rewards are calculated through the **Checkpoints System**, a three-part measurement model introduced in the [whitepaper](/documentation/whitepaper):

* **Checkpoint 1: Uptime and Availability**\
  Verifies that nodes remain online and are actively contributing compute, bandwidth, or storage. This includes proof-of-compute, proof-of-bandwidth, and proof-of-storage.\
  \
  While no fixed uptime percentage is specified, nodes must maintain consistent availability to qualify for rewards. The Network Operations Center (NOC) continuously monitors uptime and resource contributions to determine eligibility.
* **Checkpoint 2: Latency and Performance**\
  Rewards nodes that provide low-latency responses and high reliability, crucial for supporting real-time applications like video conferencing or AI inference.
* **Checkpoint 3:** Actual Usage (Mainnet only)\
  Focuses on traffic volume and resource consumption. Nodes that carry more real-world workload receive proportionally higher rewards.

During the Alpha Testnet, only Checkpoints 1 and 2 are active. After the mainnet, all three are fully implemented.

#### Conversion from Points to Tokens

During the Alpha Testnet, users will only earn DPTS (Datagram Points). While the full token system—$DGRAM > DATA > UDP / AI > $DGRAM—is active in the background, it does not affect rewards during this phase.

Only your total DPTS—earned through verified uptime and confirmed referrals—will determine how many DGRAM tokens you can claim at the end of the testnet.\
\
&#x20;The conversion rate is influenced by:

* Your total accumulated points
* The 7-day average market price of $DGRAM
* The emissions cap and current token supply.

{% hint style="warning" %}
Protocol labels like $UDP, $AI, and $TCP may appear in the UI, but they are not used in the reward calculation during the Alpha Testnet.
{% endhint %}


# Datagram Points (Alpha Testnet Rewards)

The Alpha Testnet serves as a critical phase to test, refine, and stabilize the Datagram Network before full-scale launch. Participation is free and open to anyone, offering opportunities to earn Datagram Points as part of the rewards system.

### Free Node License

Every registered user receives one free Alpha Testnet Node License linked to their email. This license grants access to connect to the Datagram testnet and participate in earning Reward Points. However, this license is only valid during the Alpha phase and will expire once the testnet concludes.

{% hint style="warning" %}
Alpha Testnet Node Licenses are only intended to operate one active Datagram testnet node. If the Datagram Team detects any suspicious or malicious activities that violates any of the [Alpha Testnet Terms](https://www.datagram.network/alpha-testnet-terms), that account and any rewards earned may be subject to suspencion and/or deletion.
{% endhint %}

### Referrals

Each participant is automatically assigned a referral code when their account is created. This code can be found in several places:

* On the **dashboard main page**, under the Referrals section
* On the **dedicated Referrals page**
* On the **Rewards page**
* On the **desktop app main screen**

Participants can share their referral code with others to earn additional rewards. When someone registers using a referral code, they are initially marked as “**pending**.” Once the referred user contributes at least **100 verified uptime hours** (just over 4 full days), they are upgraded to “**confirmed.**”

At that point, the referrer:

* Unlocks one-time bonus **referral rewards**
* Is eligible for uptime earnings beyond the 1,440 points/day limit from **ongoing bonus percentages**

This system helps prevent abuse (e.g. fake accounts), while still allowing users to **track pending referrals** and encourage them to reach the required uptime requirements.

**Referral rewards include:**

* A one-time bonus (e.g., **1000 / 500 / 250 points** depending on the tier)
* Ongoing bonus percentages (**10% / 5% / 3%**) on the referred user’s earned uptime points

<figure><img src="/files/oZlyApUf3fH05qBJF4p2" alt=""><figcaption></figcaption></figure>

### What Participants Can Earn

Participants in the Alpha Testnet can earn:

* Guaranteed early access (Node Sale Whitelist) to purchase mainnet Full Core Node Licenses
* Reward Points, which determine future token allocations
* Free Full Core Node Licenses (for top contributors)

### Earning Reward Points

Reward Points act as a measure of quality of participation. A global leaderboard will track node operators and their contributions. At the end of the Alpha Testnet, these points can be exchanged for mainnet rewards during or after the Token Generation Event (TGE).

Participants can earn points in the following ways:

1. **Referring Friends:**

* **Tier 1:** 1,000 points
* **Tier 2:** 500 points
* **Tier 3:** 250 points<br>

2. **Node Availability (Uptime):**

* Earn 1 point per minute of verified uptime
* Points will be rounded up to the nearest minute (e.g. 59 min 01 sec = 60 points)
* Earn a maximum of 60 uptime points per hour (see example below for more details)
* Each points distribution is also equal to verified uptime for that same time period (e.g. Receiving 45 points from a points distribution represents 45 minutes of verified uptime)
* Points distributed each hour for a maximum of 24 distributions per day
* Maximum of 1,440 uptime points available to earn per day

{% hint style="info" %}
If a Datagram node is connected right before a scheduled points distribution, this uptime will be added to the final uptime points distribution the next time the node is disconnected for a possible maximum of 70 points.\
\
**Example:**

* User A connects their Datagram node at 09:50:30
* User A stays connected until the next scheduled points distribution at 10:00:00, but User A will not receive an uptime points distribution
* User A stays connected until the next scheduled points distribution at 11:00:00 and receives the full 60 uptime points distribution
* User A disconnects their Datagram node at 11:59:10
* At the next scheduled points distribution at 12:00:00, User A will receive 70 uptime points (60 points for being connected from 11:00:00 until 11:59:10 and 10 points for being connected from 09:50:30 until 10:00:00)
  {% endhint %}

3. **Referral Bonuses:**

* **Tier 1:** 10% extra points
* **Tier 2:** 5% extra points
* **Tier 3:** 3% extra points

For instance, if a Tier 1 referral earns the maximum 1,440 uptime points per day, their referrer would earn 144 bonus points (1,440 x 10% = 144).

### Earn 5x Verified Uptime Rewards (discontinued)

By default, Alpha Testnet participants will earn 1 points per minute of verified node uptime. To boost verified uptime earnings, Alpha Testnet participants can connect a wallet used to purchase Datagram Full Core Node License(s) to their Datagram account. This will **increase verified node uptime rewards from 1 points per minute to 5 points per minute**.

#### Step 1: Navigate to *Dashboard > Wallet* to connect a wallet

To get started with connecting a wallet for 5x verified uptime points, users can:

* Navigate to *Dashboard > Wallet* and click on "Connect wallet"
* Click on "Get 5x points" from the main navigation menu or the dashboard banner

<figure><img src="/files/mIy353u4yVNX0FkmTiUW" alt=""><figcaption><p>Datagram dashboard</p></figcaption></figure>

1. Dashboard banner button: Click to setup 5x verified uptime points.
2. Main navigation menu button: Status of 5x verified uptime points. Click to setup 5x verified uptime points
3. Popup to [purchase nodes](/datagram-node-sale/getting-started/how-to-purchase-datagram-nodes) to qualify for 5x verified uptime points.

#### Step 2: Connect a wallet used to purchase Datagram Full Core Node License(s)

By default, an instructional popup will appear for any accounts without an eligible confirmed connected wallet. This popup may be closed at any time. Click on "Connect wallet", select the account used to purchase a Datagram Full Core Node License, and click on "Connect" to confirm.

<figure><img src="/files/qj5tnsGc4cQYMsn92ABz" alt=""><figcaption><p>Popup instructions on how to connect a wallet for 5x verified uptime points</p></figcaption></figure>

There are 3 possible outcomes when trying to connect a wallet to qualify for 5x verified uptime points:

1. Connecting a qualified wallet (verified node purchase) not yet linked to a Datagram account
   * Begin earning 5x verified uptime points starting the next points distribution cycle
2. Connecting a qualified wallet (verified node purchase) already linked to a Datagram account
   * Please disconnect the current wallet and try connecting another qualified wallet
3. Connecting an unqualified wallet (no verified node purchase)
   * Please [purchase a node](/datagram-node-sale/getting-started/how-to-purchase-datagram-nodes) and then try again to connect the wallet used to purchase a node(s)

<div><figure><img src="/files/2MTLIKL7dQ9TNIRb1xJ7" alt=""><figcaption><p>Successful</p></figcaption></figure> <figure><img src="/files/HxQveJH4iXlsNPwVQx5w" alt=""><figcaption><p>Wallet already in use</p></figcaption></figure> <figure><img src="/files/93YQKpTh8RU1ThqEzBVR" alt=""><figcaption><p>Try again or buy nodes</p></figcaption></figure></div>

#### Step 3: Begin earning 5x verified uptime points after your next scheduled points distribution

After connecting an eligible wallet, the 5x verified uptime points will not take effect immediately. It will be applied after the current uptime cycle has been completed.&#x20;

{% hint style="info" %}
**Example:**

* User A connects an eligible wallet qualifying for 5x verified uptime points at 1:30PM
* User A will continue to earn 1 points per minute for verified uptime until the next scheduled points distribution cycle at 2:00PM
* Starting from 2:00PM, User A will earn 5 points per minute for verified uptime
  {% endhint %}

<figure><img src="/files/EfbGoRaOdGtSRpXSzsRd" alt=""><figcaption><p>Dashboard > Rewards before 5x verified uptime points is activated</p></figcaption></figure>

Accounts that successfully activates 5x verified uptime points can be identified in 2 ways:

1. 5x points badge on the main navigation menu

<div><figure><img src="/files/r2Z3oaOWrgQ9w444gbBB" alt="" width="280"><figcaption><p>5x verified uptime points NOT activated</p></figcaption></figure> <figure><img src="/files/w9PL8uT4ZYKuP1dua3wS" alt="" width="280"><figcaption><p>5x verified uptime points activated</p></figcaption></figure></div>

2. Under "Total Uptime Earnings", points earned per minute will be updated from 1 to 5

<div><figure><img src="/files/vVYMDs4fNRQIlwgTiUqA" alt=""><figcaption><p>5x verified uptime points NOT activated</p></figcaption></figure> <figure><img src="/files/NKmcfmSI19mpFffTTvID" alt=""><figcaption><p>5x verified uptime points activated</p></figcaption></figure></div>

{% hint style="success" %}
**Rules for 5x verified uptime points:**

* Wallets with confirmed Datagram Full Core Node License purchases can only linked to (1) Alpha Testnet account.
* After successfully connecting and linking a wallet, this address will be bound to the Alpha Testnet account and cannot be removed or changed.
* Wallets that are already bound to a Alpha Testnet account earning 5x uptime points are ineligible to earn 5x uptime points for any other Alpha Testnet account.
* Regardless of how many Datagram Full Core Node License(s) were purchased by a wallet address, each unique wallet address is only eligible to be bound to (1) unique Alpha Testnet account.
* 5x uptime points only applies to uptime points rewards and NOT referral rewards.
  {% endhint %}

### Phase 1 Rewards

Phase 1 of the Alpha Testnet occured between 11 June 2025 and 7 July 2025. During that time, the Datagram team was able to identify key areas of the rewards system to optimize for Phase 2 (beginning 7 July 2025).&#x20;

Because Phase 1 participants were not only patient, but also provided valuable contributions to help improve the Datagram Network, the maximum possible points that could be earned from Phase 1 was calculated for each participant and made claimable in Phase 2.

<figure><img src="/files/hRLD5NDJzNBqX05FJ1Qp" alt=""><figcaption></figcaption></figure>

### 1. Phase 1 Rewards Widget

Visible for all users who created a Datagram account prior to Phase 2 of the Alpha Testnet and qualified for at least one of the following Phase 1 reward types:

* Uptime snapshot
* One-time referral reward (Tiers 1, 2, 3)
* Referral uptime bonuses (Tiers 1, 2, 3)

### 2. Maximum possible Phase 1 Rewards

Based on the following variables:

* Account creation date & time
* Referrals account creation date & time (Tiers 1, 2, 3)

Using the above variables, Phase 1 Rewards were calculated to include the maximum possible values for:

* Daily uptime (4 uptime snapshots per day)
* One-time referral rewards (Tiers 1, 2, 3)
* Referral uptime bonuses (Tiers 1, 2, 3)

### 3. Claim Button

In order to claim Phase 1 Rewards, participants must accumulate at least 100 Phase 2 uptime hours (beginning 7 July 2025). After 100 uptime hours, the Claim button will be updated from pending status (gray color) to active status (orange color).

<figure><img src="/files/z0ngS8A0FggAffF9C58F" alt="" width="326"><figcaption></figcaption></figure>

When Phase 1 rewards are claimed, the Phase 1 Rewards widget will disappear from the dashboard and the total points balance will be added to Total Alpha Testnet Earnings.

{% hint style="info" %}
If Total Alpha Testnet Earnings does not update with Phase 1 points after claiming, it may be due to a high volume of claim transactions being processed. Don't worry, your points are safe and will be reflected in to your balance soon. Please wait a few minutes and continue to refresh until you see your Phase 1 points credited to your points total.
{% endhint %}

### Important Note

Alpha participants should note that tokens such as $UDP, $AI, and $TCP, although visible during this phase, are not tied to reward calculations. Points are earned strictly via verified uptime and confirmed referrals. Additional earning opportunities may be introduced later. Participants are encouraged to follow Datagram's social channels for updates.


# DGRAM Token (Mainnet Rewards)

Once the network transitions to mainnet, participants will begin earning $DGRAM tokens, which serve as the core incentive for contributing compute, storage, and bandwidth resources to the Datagram ecosystem.

### Conversion of Rewards into Tokens

Operators of Full Core nodes are rewarded with $UDP, $TCP, and $AI non-transferrable rewards based on their performance. These points correspond to the types of traffic or workloads processed by the node:

* **$UDP (User Datagram Protocol):** Represents low-latency, connectionless data traffic used in real-time applications like video, voice, and streaming.
* **$TCP (Transmission Control Protocol):** Represents reliable, connection-oriented traffic such as file transfers, browsing, and transactions.
* **$VPN (Virtual Private Network):** Represents secure and private connections routed through available countries.
* **$AI:** Represents compute-intensive workloads related to AI inference and training.

These are then converted into $DGRAM tokens at a fixed exchange rate.

### Reward Distribution Model

Rewards are emitted daily through a controlled emissions schedule across three key checkpoints:

#### Checkpoint 1 – Uptime & Availability

Rewards in this category are distributed based on:

* **Compute Contribution (Proof of Work)**
* **Data Storage Accessibility (Proof of Availability)**
* **Bandwidth Usage (Proof of Bandwidth)**

Each of these factors initially receives one-third of the daily reward pool. In the future, allocations may dynamically adjust to meet evolving network needs. For example, if the network requires more storage capacity, a higher portion of rewards will be shifted toward storage contribution.

#### Checkpoint 2 – Latency & Response Times

Nodes with faster response times and consistent availability are rewarded for improving the overall responsiveness and quality of the Datagram network. These nodes also receive routing preference, increasing their chance to earn more.

#### Checkpoint 3 – Actual Resource Usage

Full Core nodes that actively contribute bandwidth, computation, and storage in real-world usage scenarios are rewarded based on the amount of traffic and work they handle.

During the early mainnet phase, rewards will be based exclusively on Checkpoints 1 and 2. As real usage increases, Checkpoint 3 will be introduced to reflect actual network load.

### Reward Allocation in Year One

In the first year:

* **80%** of daily $DGRAM emissions will go to uptime and availability
* **20%** will go to usage-based metrics

Over time, these percentages will evolve to prioritize real-time utility and resource contribution.

### Deflationary Emissions Formula

$DGRAM uses a deflationary emissions schedule. Daily token release is based on the latent supply (locked tokens not yet in circulation):

**Emissions Formula:**

* **Latent Supply** = Maximum Supply - Current Circulating Supply
* **Daily Emission** = Latent Supply × 0.125%<br>

**Example:**\
\
If the maximum supply is 10,000,000,000 $DGRAM and the current supply is 5,750,000,000 $DGRAM:

* **Latent Supply** = 4,250,000,000 $DGRAM
* **Daily Emission** = 4,250,000,000 $DGRAM × 0.125% = 5,312,500 $DGRAM/day

This formula ensures that emissions decline as more tokens are released, preserving long-term value and avoiding inflationary pressure.


# How to Bridge DGRAM Token

By default, rewards earned by users on Datagram is $DGRAM on Datagram Chain. In order for this $DGRAM token to be compatible for use on eligible exchanges (e.g. Binance Alpha, Bitget, Gate, MEXC, Pancakeswap, etc), it will need to be bridged to $DGRAM on BNB Smart Chain (BSC). To access this bridge tool, sign in to the Datagram Dashboard and navigate to *Dashboard > Wallet > Bridge*.&#x20;

{% hint style="warning" %}
Only Verified Datagram Accounts are able to claim or receive rewards. If you have not yet verified your account, please see [Account Verification Guide (KYC)](/account-verification-kyc/account-verification-guide-kyc) for details.
{% endhint %}

### Step 1: Connect a Wallet

<figure><img src="/files/RYWCn89EIlK0NFxdfo7R" alt=""><figcaption></figcaption></figure>

To access the Datagram Bridge tool, start by connecting a wallet that supports the BNB Smart Chain (BSC). All bridged $DGRAM tokens will be transferred to this connected wallet address by default.

### Step 2: Select Chain to Bridge $DGRAM Tokens From/To

<figure><img src="/files/9nD5G7Mu48gh7iKr6qwG" alt=""><figcaption></figcaption></figure>

After successfully connecting a wallet that supports the BNB Smart Chain (BSC), choose a network to bridge $DGRAM from/to. The current bridge tool only supports two networks, Datagram and BNB Smart Chain (BSC). By default, the bridge is configured to transfer $DGRAM on Datagram Chain to $DGRAM on BNB Smart Chain (BSC).

* **DGRAM on Datagram:** This is $DGRAM on Datagram Chain. It is the default token and chain that $DGRAM tokens are earned and issued to eligible participants on the Datagram Network.
* **DGRAM on BNB Smart Chain:** This is $DGRAM on BNB Smart Chain. It is currently the only chain of $DGRAM tokens that are supported by exchanges such as Binance Alpha, Bitget, and Pancakeswap. For a list of all exchanges that supports $DGRAM on BNB Smart Chain (BSC), please see [Coinmarketcap](https://coinmarketcap.com/currencies/datagram-network/).

{% hint style="info" %}
What are the different bridge options?

1. **DGRAM on Datagram to DGRAM on BNB Smart Chain:** Choose this option if you want to transfer $DGRAM from a Datagram Account to an exchange to be deposited or sold.
2. **DGRAM on BNB Smart Chain to DGRAM on Datagram:** Choose this option if you want to transfer $DGRAM from an exchange or BNB Smart Chain (BSC) support wallet to be deposited to a Datagram Account.
   {% endhint %}

### Step 3: Choose Amount of $DGRAM Tokens to Bridge

<figure><img src="/files/IktqrvsUy2XK3iVzLv9k" alt=""><figcaption></figcaption></figure>

Input the amount of $DGRAM tokens to be bridged. This amount can be up to the current available balance, but cannot exceed it. After inputting the amount to be bridged, please not that there are (2) fees that will need to be accounted for in order for the transaction to be submitted and processed.

1. **Estimated bridge fee:** This fee is to support and maintain the bridge tool.
   1. When bridging $DGRAM on Datagram Chain to $DGRAM on BNB Smart Chain (BSC), the fee is a fixed 0.01% of the amount of $DGRAM to be bridged and is collected in $DGRAM on Datagram Chain.
   2. When bridging $DGRAM on BNB Smart Chain (BSC) to $DGRAM on Datagram Chain, the fee is a fixed 0.001 $BNB will be collected in $BNB on BNB Smart Chain (BSC).
2. **Transaction fee:** This is a dynamic fee required to submit and process transactions on the selected blockchain network and is determined by the current demand of the selected network. When the network is slow, this fee will be lower. When the network is busy, this fee will be higher.
   1. When bridging $DGRAM on Datagram Chain to $DGRAM on BNB Smart Chain (BSC), the fee is collected in $DGRAM on Datagram Chain.
   2. When bridging $DGRAM on BNB Smart Chain (BSC) to $DGRAM on Datagram Chain, the fee is collected in $BNB on BNB Smart Chain (BSC).

### Step 4: Confirm & Submit Bridge Transaction

After selecting the network to transfer $DGRAM tokens from/to and inputting the amount of $DGRAM to be bridged, click "**Bridge**" to submit the transaction to be processed. This will activate a request from the connected wallet to confirm transaction details and transaction fee. Please ensure that there is enough $DGRAM or $BNB to cover the transaction fee and click "Confirm" to submit the transaction. It may take a few minutes to complete the transaction depending on how busy the network is. Once the transaction is completed, you can verify receipt of $DGRAM on the selected network.

* When bridging $DGRAM on Datagram Chain to $DGRAM on BNB Smart Chain (BSC), make sure to set the wallet network to BNB Smart Chain (BSC) to view the $DGRAM token balance.
* When bridging $DGRAM on BNB Smart Chain (BSC) to $DGRAM on Datagram Chain, make sure to set the wallet network to Datagram Chain to view the $DGRAM token balance.


# How to Claim Rewards

## Types of Rewards

### Node Sale Referral

Node sale referral rewards are earned when someone purchases a Full Core License (FCL) using a Datagram user's unique referral code.&#x20;

Please see [User referrals](/datagram-node-sale/user-referrals) for more details.

### Full Core License (FCL) and Tier 2 & 3 Capsules

Full Core nodes are the most advanced type of Datagram Core node and form a critical part of the Datagram Fabric Network.

1. **Direct Referral (Level 1)**: You will receive a 7.5% commission on purchases made directly using your referral code.
2. **Indirect Referral (Level 2)**: You will receive a 5.0% commission on purchases made by users who were referred by your direct referrals.

To participate, simply share your referral code with potential buyers. Commissions can be claimed through the referral rewards page as a one-time payment after each qualifying purchase is processed and confirmed.

Note: Full technical implementation details for referral codes will be released closer to the node sale. The referral system may be subject to updates based on platform requirements and integration timelines.

### When will users receive the referral commission?

Referral commissions become available in USDT on the Ethereum network (ERC-20) once a qualifying purchase is processed and confirmed. Afterwards, you may request and claim your commission from Rewards (*Dashboard > Rewards > Node Sale*.)

Note: Full technical implementation details for referral claims will be released closer to the node sale. The referral system may be subject to updates based on platform requirements and integration timelines.

{% hint style="warning" %}
**Please review the applicable terms and conditions** including the [Full Core Node Agreement](https://datagram.network/full-core-node-agreement), [Referral Policy](https://datagram.network/referral-policy), and any related policies before participating in the sale or operating a node. Participation in the Datagram network constitutes acceptance of these terms.
{% endhint %}

<br>


# Account Verification Guide (KYC)

{% hint style="danger" %}
**KYC NOT REQUIRED**

* Claiming Alpha Testnet airdrop capsule

**KYC REQUIRED**

* Claiming purchased Full Core Node License
* Claiming Node Sale referral rewards

*\*\* \*Only proceed if you have purchased a node or if you are trying to claim your node sale referral rewards.*
{% endhint %}

The Datagram Network requires users to complete a Know Your Customer (KYC) verification process to ensure secure and compliant participation. This guide will walk you through each step of the verification process using our trusted KYC provider Blockpass.

***

### Eligibility Requirements

Before starting the KYC verification process, please ensure you meet the following requirements:

1. **Age Requirement:** You must be at least 18 years old to participate in the Datagram Network.
2. **Geographic Restrictions:** Due to regulatory requirements, users from the following countries are not eligible to participate:

   Afghanistan, Belarus, Cuba, Iran, North Korea, Russia, South Sudan, Sudan, Syria, Ukraine,  Venezuela, Yemen, Zimbabwe.

{% hint style="warning" %}
If you reside in any of these restricted locations, you will not be able to complete the KYC process. This restriction is in place to comply with international regulations and sanctions.
{% endhint %}

{% hint style="info" %}
**What to prepare before starting KYC Verification:**

* Valid government-issued ID (passport, national ID, driving license)
* Recent proof of address document (utility bill, bank statement, other supported documents)
* Good lighting for selfie verification
* Stable internet connection (disable VPN)
* Desktop/laptop for wallet signing
* Compatible browser (Chrome/Firefox recommended)
* 15-20 minutes of uninterrupted time
  {% endhint %}

***

### Getting Started

To get started with verifying your Account (KYC), sign in to Datagram and navigate to *Dashboard > Account*.&#x20;

<figure><img src="/files/vfkKP4xfBBBaSqP6Nac5" alt=""><figcaption></figcaption></figure>

1. **Account status:** Unverified accounts will be labeled with an "Unverified" tag. Verified accounts will replace this "Unverified" tag with a green checkmark.&#x20;
2. **Connect wallet:** To begin the verification process, users will need to connect a wallet and verify their ownership of that wallet.

***

### Step 1: Connect your wallet

Click on "**Connect wallet**" to begin the Blockpass verification process. Choose your preferred compatible wallet and follow the instructions. After successfully connecting a wallet, the "**Start KYC**" button will become available. Click on it to proceed to the next step to create a Blockpass Identity.

<figure><img src="/files/SIeWRk1jFtz881FhrxpK" alt=""><figcaption></figcaption></figure>

1. **Connected wallet:** Once your wallet has been successfully connected, you will see it registered here on the Dashboard. At any time, you may click on your connected wallet to disconnect it and connect another wallet.
2. **Start KYC:** After successfully connecting a wallet, the "**Start KYC**" button will become available. Click on it to create a Blockpass Identity.

***

### Step 2: Create a Blockpass Identity

<figure><img src="/files/zC7JWe8YU6RX7ME2SOEv" alt="" width="563"><figcaption></figcaption></figure>

After successfully connecting a wallet, the next step in the verification process is to create a Blockpass Identity by registering an email address. Click on the "START" button to proceed to the next step.

{% hint style="info" %}
Blockpass will ask you to provide one of the following documents to verify your account, but only after you have successfully input and confirmed an email address:

* Passport
* National ID
* Driving License
* Recent proof of address document
  {% endhint %}

<div><figure><img src="/files/rSDjOocnW0BxmfiVYqAD" alt="" width="563"><figcaption></figcaption></figure> <figure><img src="/files/YXhFT2rEYddpVggEY70d" alt="" width="563"><figcaption></figcaption></figure></div>

How to register an email address with Blockpass:

1. Input an email address and click "**CONTINUE**". \
   (New users can input any preferred email address, but if you have already created a Blockpass Identity, please input that email address.)
2. Blockpass will send a 6-digit code to your email address. Check your inbox for an email with this code, enter the code and click on "**LOGIN**" to continue.&#x20;

{% hint style="info" %}
If you do not see an email from Blockpass, please check your spam/bulk folders. If you cannot find or did not receive an email with the 6-digit code, please go back to the Blockpass Identity creation popup, click on "**Resend**," and repeat the process to receive the email and input the code.
{% endhint %}

***

### Step 3: Upload Documents

<figure><img src="/files/6LAX7cCHqzShcMK8jAEV" alt="" width="563"><figcaption></figcaption></figure>

After registering an email address with Blockpass, the next steps are to build your identity profile by submitting:

* Identity document
* Selfie picture
* Proof of address

{% hint style="info" %}
**ID Document Upload Guidelines**

* Preparation:
  * Open your document to the data page
  * Find good lighting conditions
  * Clean your camera lens
* Capture Requirements:
  * All four corners must be visible
  * Avoid glare and shadows
  * Ensure text is clear and readable
  * Document should fill most of the frame
    {% endhint %}

#### Uploading Identity Documents <a href="#for-selfie-verification" id="for-selfie-verification"></a>

<div><figure><img src="/files/igTDWZyQdjFIHlEoLgrE" alt="" width="563"><figcaption></figcaption></figure> <figure><img src="/files/8vF5kyj8BAHQQRWFXXEK" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="danger" %}
Automatic Data Extraction Accuracy

Even if the automatic data extraction shows incorrect information, proceed with the submission. The verification team will handle corrections during the manual review process.
{% endhint %}

Some identity documents like National ID requires uploading both the front and back side of the document.

<div><figure><img src="/files/sBotrxaIVSttFdLltIdc" alt=""><figcaption></figcaption></figure> <figure><img src="/files/wtctVveSG2qtNMjnAY5I" alt=""><figcaption></figcaption></figure> <figure><img src="/files/AxpCE2ZwZSMfjtNPSz4s" alt=""><figcaption></figcaption></figure></div>

#### For Selfie Verification: <a href="#for-selfie-verification" id="for-selfie-verification"></a>

1. **Setup:**
   * Find a well-lit room
   * Remove glasses if they cause glare
   * Position yourself at arm's length from camera
2. **Process:**
   * The system will auto-capture your face
   * Follow on-screen prompts:
     * Look straight ahead
     * Turn your head left when prompted
     * Turn your head right when prompted
   * Complete all requested movements

<div><figure><img src="/files/7svxLV1oEWI0gDYEIK2w" alt="" width="563"><figcaption></figcaption></figure> <figure><img src="/files/Gw0pKOIxUOKeT9aDvj4r" alt="" width="563"><figcaption></figcaption></figure> <figure><img src="/files/rcQsXexVB2yw5dXlfgp6" alt="" width="563"><figcaption></figcaption></figure></div>

#### For Address Proof: <a href="#for-address-proof" id="for-address-proof"></a>

* Upload a document from the supported list
* Ensure your current residential address is clearly visible
* Document should be recent (typically within 3 months)

***

### Step 4: Wallet Verification <a href="#wallet-verification-critical-step" id="wallet-verification-critical-step"></a>

<div><figure><img src="/files/0Gr7sBcHHQzoNaCJwdV9" alt="" width="563"><figcaption></figcaption></figure> <figure><img src="/files/CPljwx9yjQUuxHUtuwlg" alt="" width="563"><figcaption></figcaption></figure> <figure><img src="/files/n1PKLeRjfJodfRKImzab" alt="" width="563"><figcaption></figcaption></figure></div>

#### For Wallet Verification <a href="#benefits-of-desktop-verification" id="benefits-of-desktop-verification"></a>

* Connect your wallet (WalletConnect, MetaMask or Coinbase)
* Make sure wallet is set to Ethereum Network
* Sign the verification message when prompted
* Confirm the signature in your wallet app

{% hint style="danger" %}
Wallet Signing is Mandatory

The wallet signing step is mandatory. Submissions without proper signing will NOT be approved due to KYC compliance requirements.
{% endhint %}

***

### Step 5: Submit for Verification <a href="#final-submission" id="final-submission"></a>

<div><figure><img src="/files/Fr8qLP4awgoNZTw0Jlag" alt="" width="563"><figcaption></figcaption></figure> <figure><img src="/files/aMxFVXxOOk6zMU9sAJYu" alt="" width="563"><figcaption></figcaption></figure> <figure><img src="/files/f3TSYH3TUjJ4h0vvVpPi" alt="" width="563"><figcaption></figcaption></figure></div>

#### Before Submitting: <a href="#before-submitting" id="before-submitting"></a>

* Review all uploaded documents
* Ensure wallet is properly connected and verified
* Check that all sections show "completed" status

#### To Submit: <a href="#to-submit" id="to-submit"></a>

1. Once all steps Completed
2. The **"Register"** button will become active
3. Click **"Register"** to submit for KYC verification
4. You'll see a confirmation screen, You can set password on this screen for future changes

***

### Verification Timeline <a href="#verification-timeline" id="verification-timeline"></a>

| Stage                         | Timeframe          |
| ----------------------------- | ------------------ |
| Initial Review                | 24-36 hours        |
| Additional Checks (if needed) | 12-24 hours        |
| Final Approval                | Email notification |

#### What to Expect: <a href="#what-to-expect" id="what-to-expect"></a>

* Email notifications at each stage
* Clear feedback if any issues arise
* Direct communication for any clarifications needed

***

### Handling Rejections <a href="#handling-rejections" id="handling-rejections"></a>

If your KYC application is rejected, don't worry! Here's what to do:

#### Steps to Resubmit: <a href="#steps-to-resubmit" id="steps-to-resubmit"></a>

1. **Check your email** for specific rejection reasons
2. **Log back in** using the same email address
3. **Navigate** to the rejected document section
4. **Update** only the required documents or information
5. **Resubmit** for re-verification


# Node Sale Referral Rewards

To view or claim node sale referral rewards, sign in to the Datagram Dashboard and navigate to *Dashboard > Rewards > Node Sale*. Here you will find all of the details related to Rewards earned from the Datagram Node Sale. For more information on how these rewards are earned, please see [User Referrals](/datagram-node-sale/user-referrals).

{% hint style="warning" %}
Only Verified Datagram Accounts are able to claim rewards. If you have not yet verified your account, please see [Account Verification Guide (KYC)](/account-verification-kyc/account-verification-guide-kyc) for details.
{% endhint %}

### Node Sale Referral Rewards

<figure><img src="/files/HDPZuDzlPKnZVd46IlXr" alt=""><figcaption></figcaption></figure>

1. **Connect wallet:** A wallet must to be connected in order to receive USDT from claimed Node Sale Rewards.
2. **Verified account:** Only verified accounts are able to claim rewards. If you have not yet verified your account, please see [Account Verification Guide (KYC)](/account-verification-kyc/account-verification-guide-kyc) for details.
3. **Node sale referral earnings:** Displays total node sale referral earnings available to be claimed. For details on how this is calculated, please see [User Referrals](/datagram-node-sale/user-referrals).
4. **Request:** Available earnings must be requested before they may be claimed. After a request has been submitted, there is a 24 hour delay before another request may be submitted. This ensures that all requests submitted are valid.
5. **Claimed earnings:** Displays total node sale rewards already claimed.
6. **Requested/Ready to claim:** After a request has been submitted and pending verification, it will show up as "Requested." Once verified, it will be updated to "Ready to claim" status, the "Claim" button will be activated. Click on it to complete claiming node sale referral USDT rewards.
7. **Details:** Displays details of all Node Sale Referral transactions associated with the users unique Datagram referral code.
   1. **Type:** Tier and Tranche of nodes purchased.
   2. **Nodes:** Total number of nodes purchased for this Type.
   3. **Level:** Percentage of rewards received. For details on how this is calculated, please see [User Referrals](/datagram-node-sale/user-referrals).
   4. **Price:** Value of nodes at the time of purchase.
   5. **Earned:** Total referral earnings from each Type.

### Claiming Node Sale Referrals Rewards

#### Step 1: Verify Account and Connect Wallet

Only verified accounts are able to claim rewards. If you have not yet verified your account, please see [Account Verification Guide (KYC)](/account-verification-kyc/account-verification-guide-kyc) for details.

After completing account verification, connect a wallet to request and claim node sale rewards (USDT).

{% hint style="info" %}
**Connecting Wallets**

Please note that:

1. Only wallets that support the Ethereum Network (ERC-20) may be connected to claim USDT rewards
2. Some ethereum (ETH) is required to cover the transaction fee to claim USDT rewards
   {% endhint %}

#### Step 2: Request to claim

<figure><img src="/files/ONoXMXuPN8EiX2OBI7Mw" alt="" width="375"><figcaption></figcaption></figure>

If there is an available balance in Node Sale Referral Earnings, click on the "**Request**" button. This will submit your claim to the blockchain.

{% hint style="info" %}
**After submitting a request for claim:**

* Please wait for up to 5 minutes for your request to be processed
* You may refresh the page to update the claim status
* Click “Claim” when available to claim your USDT rewards to the connected wallet
* Ethereum (ETH) is required to cover the transaction fee to complete a claim
* Only (1) claim may requested every 24 hours
  {% endhint %}

#### Step 3: Ready to Claim

When a request for claim has been successfully confirmed on the blockchain, the status will be updated to "Ready to claim" and the "**Claim**" button will be activated.

#### Step 4: Claim Node Sale Rewards (USDT)

Click on "**Claim**" and follow the instructions of your wallet. Remember you need to have ethereum (ETH)  to pay the transaction fee to complete claiming.

After claiming is successful, you can click on the "**Claimed**" tab in transaction history to view all claimed transactions.


# Full Core License (FCL) and Tier 2 & 3 Capsules

To claim a purchased Datagram Full Core Node License and Tier 2 & 3 capsules, follow the steps below:

### Account Verification (KYC) is Required to Claim a Datagram Full Core Node License

Datagram Full Core Node Licenses can only be claimed by Datagram Accounts that have completed and passed KYC Account Verification. If you have not yet completed this step, please refer to [Account Verification Guide (KYC)](/account-verification-kyc/account-verification-guide-kyc).

<figure><img src="/files/TGsNbkbEY2Kqb9uIlxXT" alt=""><figcaption></figcaption></figure>

1. **Verify to claim:** Only verified accounts are able to claim a Full Core Node License.
2. **Buy nodes:** If a user does not own or would like to have more Full Core Node Licenses, they can click "**Buy nodes**" to navigate to the official Datagram node sale website.

### Step 1: Access Full Core License Claiming

<figure><img src="/files/uHlpZ9ECTVN4WBoWDaML" alt=""><figcaption></figcaption></figure>

* **Verified account:** After a Datagram account has been verified, the "**Verify to claim**" button will update to "**Claim nodes**".
* **Claim nodes:** Clicking on "**Claim nodes**" will open a modal to start the process for claiming purchased Full Core Node Licenses.

### Step 2: Select Wallet Address to Claim From and Claim To

<figure><img src="/files/8mIxpoGRUWMv3Ie2So3v" alt="" width="304"><figcaption></figcaption></figure>

After completing account verification (KYC), click on "Claim nodes" and a popup  check the connected wallet to confirm if any nodes were purchased with that wallet.

1. **Claim from:** Connect any wallet used to purchase Datagram Full Core Node Licenses. If multiple wallets were used to purchase Datagram Full Core Node Licenses, you can repeat this process after each completed claim.
2. **Claim to:** By default, this will be set to the current Datagram account wallet address. But the **CLAIM TO** address can be updated to any Datagram wallet address.

{% hint style="info" %}
**Rules for claiming Datagram Full Core Node Licenses**

1. Licenses can only be claimed to Datagram account wallet addresses (external addresses such as MetaMask or Trust Wallet will not be accepted)
2. After successful claim, the license will be locked and non-transferable for 1 full year.
   {% endhint %}

### Step 3: Select Nodes to Claim

<figure><img src="/files/NjgcA6DpgbVM1zYfqtuL" alt="" width="304"><figcaption></figcaption></figure>

After connecting a wallet to claim nodes from and confirming the Datagram wallet address to claim nodes to, the next step is to select from your available node licenses to claim. After selecting nodes to claim, click "**Continue**" for the claiming summary before submitting and completing the claim transaction.

1. **Group interactions:**
   1. **Select all:** Click on this to automatically select all available nodes to claim.
   2. **Clear:** Click this to automatically unselect all previously selected nodes.
2. **Subtotals:** Displays the subtotals for each Tier of nodes currently selected for claiming.
3. **Available nodes:** Custom select nodes from each available Tiers and Tranches. Any nodes not selected for claim can be claimed at another time to the same Datagram wallet address or to another Datagram wallet address.
4. **Total:** Displays the total amount of nodes currently selected for claiming. Quantity of nodes available to claim per transaction may be limited, see below for details.

{% hint style="warning" %}
**Full Core Node License Claiming Limitations**

The quantity of nodes available to claim per transaction has limitations due to:

* the number of claims being submitted to the Datagram blockchain
* resources required to claim Tier 2 & Tier 3 nodes with capsules
* Datagram sponsored gas fees

Please claim any remaining nodes in another transaction.
{% endhint %}

### Step 4: Review Claim Details & Submit Claim

<figure><img src="/files/uAPhQHBicVp4XDxD2gIy" alt="" width="304"><figcaption></figcaption></figure>

After connecting a wallet to claim nodes from and confirming the Datagram wallet address to claim nodes to, the next step is to select from your available node licenses to claim. After selecting nodes to claim, click "**Continue**" for the claiming summary before submitting and completing the claim transaction.

1. **Back:** Click "**Back**" to update nodes selected for claiming.
2. **Transaction details:** Displays the subtotals for each Tier and Tranche of nodes currently selected for claiming and also total amount of nodes to be claimed.
3. **Transaction fee:** Fee that is required (in DGRAM) to submit the transaction to claim the selected nodes. If the Datagram account wallet does not have enough DGRAM for for the Transaction fee, the claim cannot be processed.
4. **Claim nodes:** Click to submit the transaction to claim the selected nodes.

### Step 5: View Claimed Node Licenses

After successfully claiming nodes, navigate to *dashboard > nodes* to view nodes claimed.

<figure><img src="/files/gzFIXCoadKSIVrz6yJJ6" alt=""><figcaption></figcaption></figure>

1. **Total full core nodes:** Total number of Full Core Node Licenses claimed to this Datagram account.
2. **Active nodes:** Total number of nodes currently connected to the Datagram Network.
3. **My nodes:** List of details and status of nodes owned.
   * **Node ID:** Unique identifier for each Full Core Node License.
   * **License key:** Unique identifier for each Full Core Node License used to setup a Datagram node on a VPS.
   * **Node name:** Custom editable name used to identify and differentiate nodes.
   * **Total uptime:** Total confirmed uptime of each node.
   * **Uptime % (coming soon):** Daily uptime % calculated as:
     * &#x20;Actual node daily uptime / Possible node daily uptime
   * **Earnings:** Total DGRAM earned by each node.
   * **Status:** Connection status of each node:
     * **Connected:** Connected, earning uptime, and eligible to earn for sharing resources.
     * **Disconnected:** Disconnected, no sharing, not earning.
   * **Action:** Manage Full Core Node License connections.

### Step 6: View Claimed Capsules

Successfully claiming a Tier 2 or 3 Full Core Node License will also automatically airdrop a corresponding capsule, navigate to *dashboard > rewards > capsules* to view capsules claimed.

<figure><img src="/files/B2RjROQfv3aHIeHTwxjV" alt=""><figcaption></figcaption></figure>

1. **Capsule rewards:** To view all available capsules claimed to an account, navigate to *dashboard > rewards > capsules*.
2. **My capsules:** Lists the details of all available capsules.


# Alpha Airdrop Capsules

To claim a purchased Datagram Full Core Node License, follow the steps below:

### Account Verification (KYC) is Required to Claim a Datagram Full Core Node License

Datagram Full Core Node Licenses can only be claimed by Datagram Accounts that have completed and passed KYC Account Verification. If you have not yet completed this step, please refer to [Account Verification Guide (KYC)](/account-verification-kyc/account-verification-guide-kyc).

<figure><img src="/files/TGsNbkbEY2Kqb9uIlxXT" alt=""><figcaption></figcaption></figure>

1. **Verify to claim:** Only verified accounts are able to claim a Full Core Node License.
2. **Buy nodes:** If a user does not own or would like to have more Full Core Node Licenses, they can click "**Buy nodes**" to navigate to the official Datagram node sale website.

### Step 1: Access Full Core License Claiming

<figure><img src="/files/uHlpZ9ECTVN4WBoWDaML" alt=""><figcaption></figcaption></figure>

* **Verified account:** After a Datagram account has been verified, the "**Verify to claim**" button will update to "**Claim nodes**".
* **Claim nodes:** Clicking on "**Claim nodes**" will open a modal to start the process for claiming purchased Full Core Node Licenses.

### Step 2: Select Wallet Address to Claim From and Claim To

<figure><img src="/files/8mIxpoGRUWMv3Ie2So3v" alt="" width="304"><figcaption></figcaption></figure>

After completing account verification (KYC), click on "Claim nodes" and a popup  check the connected wallet to confirm if any nodes were purchased with that wallet.

1. **Claim from:** Connect any wallet used to purchase Datagram Full Core Node Licenses. If multiple wallets were used to purchase Datagram Full Core Node Licenses, you can repeat this process after each completed claim.
2. **Claim to:** By default, this will be set to the current Datagram account wallet address. But the **CLAIM TO** address can be updated to any Datagram wallet address.

{% hint style="info" %}
**Rules for claiming Datagram Full Core Node Licenses**

1. Licenses can only be claimed to Datagram account wallet addresses (external addresses such as MetaMask or Trust Wallet will not be accepted)
2. After successful claim, the license will be locked and non-transferable for 1 full year.
   {% endhint %}

### Step 3: Select Nodes to Claim

<figure><img src="/files/NjgcA6DpgbVM1zYfqtuL" alt="" width="304"><figcaption></figcaption></figure>

After connecting a wallet to claim nodes from and confirming the Datagram wallet address to claim nodes to, the next step is to select from your available node licenses to claim. After selecting nodes to claim, click "**Continue**" for the claiming summary before submitting and completing the claim transaction.

1. **Group interactions:**
   1. **Select all:** Click on this to automatically select all available nodes to claim.
   2. **Clear:** Click this to automatically unselect all previously selected nodes.
2. **Subtotals:** Displays the subtotals for each Tier of nodes currently selected for claiming.
3. **Available nodes:** Custom select nodes from each available Tiers and Tranches. Any nodes not selected for claim can be claimed at another time to the same Datagram wallet address or to another Datagram wallet address.
4. **Total:** Displays the total amount of nodes currently selected for claiming. Quantity of nodes available to claim per transaction may be limited, see below for details.

{% hint style="warning" %}
**Full Core Node License Claiming Limitations**

The quantity of nodes available to claim per transaction has limitations due to:

* the number of claims being submitted to the Datagram blockchain
* resources required to claim Tier 2 & Tier 3 nodes with capsules
* Datagram sponsored gas fees

Please claim any remaining nodes in another transaction.
{% endhint %}

### Step 4: Review Claim Details & Submit for Claim

<figure><img src="/files/uAPhQHBicVp4XDxD2gIy" alt="" width="304"><figcaption></figcaption></figure>

After connecting a wallet to claim nodes from and confirming the Datagram wallet address to claim nodes to, the next step is to select from your available node licenses to claim. After selecting nodes to claim, click "**Continue**" for the claiming summary before submitting and completing the claim transaction.

1. **Back:** Click "**Back**" to update nodes selected for claiming.
2. **Transaction details:** Displays the subtotals for each Tier and Tranche of nodes currently selected for claiming and also total amount of nodes to be claimed.
3. **Transaction fee:** Fee that is required (in DGRAM) to submit the transaction to claim the selected nodes. If the Datagram account wallet does not have enough DGRAM for for the Transaction fee, the claim cannot be processed.
4. **Claim nodes:** Click to submit the transaction to claim the selected nodes.

### Step 5: View Claimed Nodes

After successfully claiming nodes, navigate to *dashboard > nodes* to view nodes claimed.

<figure><img src="/files/gzFIXCoadKSIVrz6yJJ6" alt=""><figcaption></figcaption></figure>

* **Total full core nodes:** Total number of Full Core Node Licenses claimed to this Datagram account.
* **Active nodes:** Total number of nodes currently connected to the Datagram Network.
* **My nodes:** List of details and status of nodes owned.
  * **Node ID:** Unique identifier for each Full Core Node License.
  * **License key:** Unique identifier for each Full Core Node License used to setup a Datagram node on a VPS.
  * **Node name:** Custom editable name used to identify and differentiate nodes.
  * **Total uptime:** Total confirmed uptime of each node.
  * **Uptime % (coming soon):** Daily uptime % calculated as:
    * &#x20;Actual node daily uptime / Possible node daily uptime
  * **Earnings:** Total DGRAM earned by each node.
  * **Status:** Connection status of each node:
    * **Connected:** Connected, earning uptime, and eligible to earn for sharing resources.
    * **Disconnected:** Disconnected, no sharing, not earning.
  * **Action:** Manage Full Core Node License connections.


# Datagram Architecture Overview

Datagram is a Layer 1 network built on Avalanche, designed to power real-time applications by providing scalable, decentralized, and cost-efficient access to compute, bandwidth, and storage. Its architecture abstracts the complexity of decentralized systems, delivering a Web2-like experience while preserving the benefits of blockchain—security, interoperability, and efficiency.

Datagram also supports Decentralized Physical Infrastructure Networks (DePIN) through its connectivity layer via the Datagram Core Substrate, its core mission is to make decentralized infrastructure easily accessible to applications that require high-performance connectivity. It currently supports EVM-based networks, with non-EVM compatibility planned for future releases.

The architecture is composed of four key components, each playing a vital role in enabling low-latency, secure, and high-throughput decentralized infrastructure:

1. **Datagram Node Network:** The backbone of Datagram, consisting of distributed nodes (Datagram Cores) that handle routing, validation, and data transmission. It supports both native and external DePIN projects, providing decentralized compute, bandwidth, and storage resources.
2. **Fabric Networks:** Independent DePIN networks that integrate with Datagram’s infrastructure. These networks leverage shared resources while maintaining specialized operations for both scalability and interoperability.
3. **Datagram Core Substrate (DCS):** The connectivity layer that enables seamless coordination of compute, bandwidth, and storage across the network. It is integrated with the Network Operations Center (NOC) for real-time performance monitoring and reward distribution.
4. **Hyper Network Layer:** An AI-driven coordination system that intelligently manages traffic routing, load balancing, and resource allocation in real-time, ensuring low-latency, fault-tolerant performance.

Each component works in concert to provide a robust foundation for enterprises, developers, and service providers to deploy DePIN solutions with ease. The following documents offer deeper insight into each layer of the architecture.


# Node Network

The Datagram Node Network is the foundational infrastructure of the Datagram ecosystem, providing a globally distributed network of nodes that support decentralized compute, bandwidth, and storage. It serves as the backbone for both native and external DePIN projects, enabling seamless access to resources without the need to build custom infrastructure.

### Key Features

* **Distributed Nodes (Datagram Cores):** The network comprises various types of nodes, including Full Cores, Partner Cores, Device Cores, Hardened Cores, and Consumer Cores. Each type serves specific functions, such as handling high-priority traffic, load balancing, or secure communications.
* **Scalability and Flexibility:** The network supports instant deployment for new DePIN projects and integration for existing ones, enhancing resource efficiency without requiring blockchain expertise.
* **Blockchain-Agnostic Integration:** Built as a Layer 1 on the Avalanche blockchain, it currently supports EVM networks, with non-EVM compatibility coming soon. The architecture abstracts the complexities of decentralized systems, delivering a Web2-like experience while maintaining the benefits of blockchain, such as security, scalability, and cost efficiency.
* **High-Performance Data Transmission:** Nodes operate as decentralized Beowulf clusters (a group of computers working together as a high-performance parallel computing system), ensuring fault-tolerant and low-latency data pathways for applications like video conferencing and AI computing.\
  \
  Nodes form a decentralized group that shares processing power to ensure reliable and fast data transfer for tasks like video calls and AI processing.

### Node Types

The Datagram network is made up of several different types of nodes, each with a distinct role and level of responsibility in maintaining and operating the decentralized infrastructure. Understanding these node types helps clarify how the network balances performance, security, and flexibility

#### Full Cores

Full Cores are the primary and most critical nodes within the Datagram network. They handle essential tasks such as routing network traffic and optimizing the flow of data across the system. Operating a Full Core requires owning a Core Token, which represents a stake in the network and a commitment to maintaining its integrity.

While Full Cores do not inherently validate blockchain transactions, they contribute significantly to network stability by managing data transmission, compute workloads, and traffic optimization. Transaction validation and participation in consensus are reserved for designated validators who stake $DGRAM tokens under the network’s Proof-of-Stake mechanism.

Full Cores also play a key role in scaling the network by supporting high volumes of traffic and compute operations. Operators are rewarded based on uptime, resource contributions, and overall performance.

#### Partner Cores

Partner Cores act as supportive nodes that increase the network’s capacity during high-demand periods. When traffic or computational load rises, Partner Cores assist Full Cores by sharing processing tasks and balancing the workload.&#x20;

This collaboration prevents bottlenecks and keeps network performance smooth and stable. Although Partner Cores do not have the same authority as Full Cores, their role is vital for handling traffic spikes without service degradation.

#### Device Cores

Device Cores leverage idle processing power from everyday Internet of Things (IoT) devices such as routers, smart sensors, and other connected appliances. They operate through the Datagram Core Substrate, allowing them to contribute spare compute resources when these devices are not fully engaged in their primary tasks.&#x20;

While individual Device Cores provide less processing power compared to Full or Partner Cores, their large numbers help significantly increase the network’s overall efficiency without requiring dedicated hardware investments.

#### Hardened Cores

Hardened Cores are specialized nodes designed for handling high-security traffic, such as government or business communications. These nodes incorporate enhanced encryption and stringent data protection measures to safeguard sensitive information passing through the network.&#x20;

Hardened Cores ensure that confidential or priority data is isolated and managed securely, minimizing risks of interception or unauthorized access.

#### Consumer Cores

Consumer Cores offer users the ability to contribute to the network temporarily or on a localized scale. Typically run on personal hardware, these nodes host services or applications for limited periods. This flexibility allows individuals or small organizations to participate in Datagram without maintaining permanent, high-availability infrastructure.&#x20;

Consumer Cores support localized management of services, enabling scaling according to immediate needs or specific geographic areas.

The Datagram Node Network ensures that businesses and developers can scale their operations efficiently, leveraging a decentralized infrastructure that eliminates single points of failure and reduces operational costs.


# Fabric Networks

Fabric Networks are independent DePIN networks that integrate with Datagram’s infrastructure to leverage its compute, bandwidth, and storage resources. These networks maintain their own specialized operations while benefiting from Datagram’s scalable and interoperable architecture.

### Key Features

* **Interoperability:** Fabric Networks connect seamlessly with Datagram’s infrastructure via the Datagram Core Substrate (DCS), enabling cross-network communication and resource sharing.
* **Customizability:** Each Fabric Network can tailor its operations to specific use cases, such as decentralized AI compute or real-time communications, while leveraging Datagram’s global infrastructure.
* **Independent Execution:** Fabric Networks operate with independent execution environments, preventing resource competition and ensuring high performance without congestion.
* **Scalability:** By integrating with Datagram, Fabric Networks can scale instantly, accessing distributed resources without building infrastructure from scratch.

### Role in the Ecosystem

Fabric Networks enable DePIN projects to focus on their core applications while relying on Datagram for underlying infrastructure.\
\
For example, a decentralized video streaming service could operate as a Fabric Network, using Datagram’s resources for data transmission and storage while maintaining its own branding and user experience. This modular approach ensures that projects can deploy quickly and efficiently, inheriting the benefits of decentralization without managing complex backend logistics.


# Datagram Core Substrate (DCS)

The Datagram Core Substrate DCS is the foundational layer that powers Datagram’s Connectivity Layer, enabling seamless, decentralized coordination of compute, bandwidth, and storage resources. By functioning as a network of networks, DCS provides the infrastructure for any DePIN project to launch and scale without the need to build a custom network from scratch.&#x20;

### Key Features

* **Resource Coordination:** DCS dynamically distributes workloads and routes traffic based on real-time demand, ensuring optimal performance while maintaining interoperability with the broader network.
* **Network Operations Center (NOC):** Integrated with DCS, the NOC monitors node uptime, performance, and resource utilization, enabling automated reward distribution for node operators.
* **Modular Architecture:** DCS uses a containerized, dockerized environment, allowing developers to deploy workloads in parallel with core network operations.
* **Blockchain-Agnostic Deployment:** Supports deployment across EVM and non-EVM networks (e.g., Avalanche, Solana, Ethereum L2s), ensuring interoperability and flexibility.
* **Simplified Integration:** Abstracts blockchain complexities, allowing developers to focus on application development rather than managing backend logistics.

### Functionality

At its core, DCS acts as a coordinated service mesh for decentralized infrastructure, allowing projects, businesses, or developers to deploy their own custom node networks while benefiting from Datagram’s global backbone.

For example, a company building a decentralized AI training platform can use DCS to intelligently distribute workloads across geographically distributed nodes. Meanwhile, the NOC continuously verifies uptime and performance, automating rewards and ensuring reliability.

By combining real-time orchestration, automated performance tracking, and cross-chain compatibility, DCS transforms the way decentralized infrastructure is deployed and scaled—offering developers an experience on par with cloud platforms like AWS, but decentralized by design.


# The Hyper Network Layer

The Hyper Network Layer is Datagram’s AI-driven coordination system, responsible for intelligent routing, real-time network optimization, and parallel processing across the entire infrastructure. Unlike traditional DePIN networks that rely on static node assignments and predefined traffic rules, Datagram’s Hyper Network Layer actively manages data flow, resource allocation, and load balancing in real time—ensuring superior performance, scalability, and fault tolerance.

#### Key Features

* **Adaptive Traffic Routing:** Continuously monitors network conditions and automatically redirects traffic to the most efficient nodes, preventing congestion and minimizing latency.
* **Real-Time Load Balancing:** Dynamically distributes workloads across available resources based on real-time conditions, rather than relying on static configurations.
* **Intelligent Resource Allocation:** Predicts usage patterns and proactively assigns compute, storage, and bandwidth to where they’re needed most, preventing bottlenecks before they occur.
* **Automated Network Healing:** Instantly reroutes traffic in the event of node or subnet downtime, maintaining uninterrupted service and enhancing resilience.
* **UDP Optimization at Scale:** Unlike most decentralized networks optimized for TCP, Datagram supports large-scale UDP traffic, making it uniquely capable of handling real-time use cases such as video streaming, multiplayer gaming, and AI processing without performance degradation.

#### Role in the Ecosystem

The Hyper Network Layer enables Datagram to outperform traditional DePIN architectures by acting as a dynamic AI controller for real-time infrastructure orchestration. Its ability to create dedicated subnetworks allows enterprises and DePIN projects to launch custom node networks within Datagram’s global infrastructure—benefiting from built-in security, scalability, and integration.

For example:

* A decentralized video conferencing platform can leverage the layer to maintain low-latency communication for thousands of simultaneous participants
* An AI compute provider can optimize training model execution by routing workloads to the most cost-efficient, high-performance nodes—minimizing latency and compute costs.


# Dashboard (Overview)

The **Dashboard** gives you a complete picture of your progress, activity, and rewards during the Alpha Testnet phase. Whether you’re checking how many points you’ve earned, how your referrals are doing, or your place on the leaderboard.

Let’s get started. 🚀

### 🏅 Total Alpha Testnet Earnings

At the top left of your dashboard, you’ll see a large **black box** that highlights your total earnings from the Alpha Testnet.

Here’s what you’ll find inside:

* **Points:** This shows the total number of points you've earned so far. These points can come from different activities like uptime (keeping your node online) and referrals (inviting others to join).
* **Earned Today:** This tells you how many points you have earned today only. It resets every day and updates as you keep contributing.
* **Rewards Button:** Click the orange "**Rewards**" button to go to the full breakdown of your rewards, where they came from, and how much you earned from each activity.

<figure><img src="/files/8dlWBSn0ecVIOA4ApK0V" alt=""><figcaption></figcaption></figure>

### 👥 Confirmed Referrals

Right next to the earnings panel, you'll see the **Referrals** section. This helps you keep track of how many people you've invited and how they’re contributing.

What you'll see here:

* **Confirmed Referrals:** The total number of users who have signed up using your referral link and are actively participating in the testnet.
* **Copy Referral Link:** Click this button to copy your unique referral link. You can share this link with friends, communities, or on social media to invite others.
* **Referrals Button:** Clicking this takes you to a detailed view where you can see the performance of your referrals across different levels.
  * **Level 1:** People you directly invited
  * **Level 2:** People invited by your referrals
  * **Level 3:** Referrals of your Level 2 users

{% hint style="warning" %}
💡 The more active referrals you have, the more points you can earn!
{% endhint %}

<figure><img src="/files/Eb3MNtSXG5LWWfnVW7qZ" alt=""><figcaption></figcaption></figure>

### 📈 Alpha Testnet Statistics

This section shows your **activity over time** in a simple and visual format. It helps you understand how consistent your contributions have been.

Here’s what you’ll see:

* **Timeline Graph:** The horizontal axis (x-axis) shows the dates, and the vertical bars represent your activity or points earned on those days.
* **Filters:** You can switch between different types of activity:
  * **All:** See the combined data from uptime and referrals.
  * **Referrals:** See points earned only from referrals.
  * **Uptime:** See points earned from running your node.
* **Refresh Button:** Click this to update your graph manually and see the most recent data.

<figure><img src="/files/SNC3fW34N4jig7aedq3Z" alt=""><figcaption></figcaption></figure>


# Referrals

The **Referrals** is where you can invite others to join the Datagram platform and track your referral activity. It’s designed to help you grow the community while earning rewards whenever someone signs up using your referral link.

Let’s get started. 🚀

### Referral Program&#x20;

At the top, you’ll see a large section titled **Referral program** with an image and a short message. This is your invite center.

Here, you’ll find your **unique referral link**—a special link that’s just for you. When someone clicks this link and signs up, they become your referral.

<figure><img src="/files/tGUrQzOHqKxM0oozbjk4" alt=""><figcaption></figcaption></figure>

Click on the '**Copy link**' button to copy your referral link. You can then paste it anywhere, like WhatsApp, Telegram, Twitter, or email, to share it with others.

### Confirmed Referrals

On the left side, just below the banner, there’s a card showing the **total number of confirmed referrals**. A confirmed referral means someone clicked your link, signed up, and started participating in the network.

You’ll also see three levels of referrals:

* **Level 1:** People you directly referred.
* **Level 2:** People referred by your Level 1 users.
* **Level 3:** People referred by your Level 2 users.

<figure><img src="/files/oaBAJk0Qo6Mdn0qQhjOt" alt=""><figcaption></figcaption></figure>

This is a multi-level system—the more people your referrals bring in, the more rewards you earn through their network activity.

For now, if you’re seeing “**0 Users**” under each level, it means no one has signed up yet through your link—but that will change once you start sharing.

### Pending Referrals

On the right side, there’s another card for **pending referrals**. These are users who clicked your referral link but haven’t completed the full signup or haven’t started participating yet.

Just like confirmed referrals, pending referrals are also shown by level (Level 1, Level 2, Level 3), so you can see where potential activity is building up.

There’s also a “**Details**” button. Clicking this will open up a more detailed view where you can see more stats about who signed up, what level they’re in, and what activity they’ve completed.

<figure><img src="/files/e9bsMvoqYPJc2YdALCsP" alt=""><figcaption></figcaption></figure>

### Referral Statistics Graph

This graph shows how your referral numbers are changing day by day:

* The **horizontal axis (bottom)** shows the dates.
* The **vertical axis (side)** shows the number of users or activity points.
* You can **filter the graph** using the buttons just above it:
  * **All:** Shows total referral activity across all levels.
  * **Level 1 / Level 2 / Level 3:** Filters the graph to show only that level’s data.

There’s also a “**Refresh”** button in the top right of the graph section. If you’ve recently shared your link and are expecting new data, click this to update the stats manually.

<figure><img src="/files/nin3fnb44SKyLwgLRZB5" alt=""><figcaption></figcaption></figure>


# How to Request a Partner License

The **Partner License** allows you to run multiple nodes under a single license and ensures all rewards are distributed directly to the license owner. This is ideal for users managing several nodes or operating as a validator partner in the Datagram ecosystem.

Let’s get started. 🚀

**Step 1:** Navigate to the [Datagram website](https://demo.datagram.network/) and log in to your account.

**Step 2:** Navigate to the “**Wallet**” section from the left sidebar, then click on the “**Licenses**” tab at the top of the screen.

<figure><img src="/files/l2QKAo8sWlbqicn7DYBt" alt=""><figcaption></figcaption></figure>

**Step 3:** Click the **Request partner license** button located in the upper-right corner of the screen.

<figure><img src="/files/RO6yk3a8geIFTF2ByxWw" alt=""><figcaption></figcaption></figure>

**Step 4:** In the pop-up window titled **Request Partner Core License**, enter the **Project Name** (e.g., NodeSync) and click the **Confirm** button.

<figure><img src="/files/gwpGSIgDMaNaE70hTX6O" alt=""><figcaption></figcaption></figure>

**Step 6:** Once submitted, your license request will appear in the Licenses table with the status marked as "**Requested"**.

<figure><img src="/files/jd2tQRTV5BeZH1HY5HlM" alt=""><figcaption></figcaption></figure>

Once your license is reviewed and approved by the Datagram team, its status will update to “**Approved**”, and you'll be able to start using it with your nodes.<br>


# Datagram Desktop Application User Guide

The Datagram desktop application allows you to connect your computer to the Datagram Network and earn rewards in return for sharing unused computing resources. Once installed and active, the app runs silently in the background, using the system bandwidth and processing power that you aren’t using. It’s designed to operate with minimal effort from you while keeping your privacy fully protected.

### What the Application Does

The purpose of the application is to help route internet traffic through your machine by using underutilized computing power and your internet connection. This is done securely and without interfering with your normal activities. You remain in full control of what you share, and the application only uses the resources you allow.

When active, your device becomes part of the decentralized Datagram network. The more stable your internet connection and the longer your system stays online, the more rewards you can earn.

### Privacy and Data Protection

{% hint style="warning" %}
The Datagram desktop application does not monitor your personal activity or have access to any of your private data.
{% endhint %}

It only manages the bandwidth and compute resources that you explicitly authorize. Routing internet traffic through your IP address is completely separate from your personal internet use. No files, history, or system data are collected. Your privacy remains intact at all times.

### Getting Started

To begin using the Datagram application, download the latest version from the official release page. The application is available for **Windows**, **macOS**, and **Linux** systems.

After downloading and installing the application, open it and sign in with your existing Datagram account or create a new one.

The app may request permissions such as access to network interfaces or system-level resource settings. These are required for the application to run properly. Once setup is complete, the app runs in the background using only the resources you’ve authorized.

#### Supported Platforms and Setup Instructions

| Operating System | Setup Instuctions                                                                                                                                            | Download Link                                                                                                           |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| **Windows**      | Follow the [Windows setup guide](/setup-datagram/desktop-application-setup-full-core-only/windows) to run the installer and sign in.                         | Download for [Windows](https://demo.datagram.network/#nodeOperator)                                                     |
| **macOS**        | Follow the [macOS setup guide](/setup-datagram/desktop-application-setup-full-core-only/mac-silicon-intel). Choose the correct version based on your system: | Download for [M-Chip](https://demo.datagram.network/#nodeOperator) / [x64](https://demo.datagram.network/#nodeOperator) |
| **Linux**        | Follow the [Linux setup guide](/setup-datagram/desktop-application-setup-full-core-only/ubuntu-linux) to set permissions and run the CLI.                    | Download for [Linux](https://demo.datagram.network/#nodeOperator)                                                       |

### Using the Application

After installation and sign-in, the application will begin contributing to the network using the resources you’ve allowed. You don’t need to configure anything manually. However, if needed, you can always pause or stop the application from within the interface.

To improve your contribution and earn more, ensure that:

* Your internet connection remains stable.
* Your system stays powered on for longer durations.
* You avoid interfering with the Datagram process when possible.

You can monitor your system’s contribution and view your earned rewards directly from the app dashboard.


# Create a Datagram Account

the Datagram Desktop Application, you must first create an account or sign in. The platform supports two simple sign-in methods designed for quick and secure access. Whether you're using a Google account for one-click login or prefer email-based verification.

* [Sign In with Google](#sign-in-with-google)
* [Sign In with Email](#sign-in-with-email)

Let’s get started. 🚀

### Sign In with Google

Once you have installed the Datagram application version. You can use your existing Google account to sign in instantly. This is the fastest method and does not require any additional verification steps.

<figure><img src="/files/P10fSnseDE3AG4wbGtmu" alt=""><figcaption></figcaption></figure>

### Sign In with Email&#x20;

If you prefer not to use a third-party login method, you can easily sign in using your email address. Once you have installed the Datagram application version, you can sign in using your email address by following these steps:

**Step 1:** Open the app, select the **Email Sign-In** option, enter your email address, and click the **Sign In with Email** button.

<figure><img src="/files/yEGAnKq3O2S11NznMccx" alt=""><figcaption></figcaption></figure>

A confirmation code will be sent to your email inbox. Check your email, copy the confirmation code, and return to the app.

{% hint style="warning" %}
**Note:** If you don’t see the email with the confirmation code, check your spam or promotions folder.
{% endhint %}

**Step 2:** Enter the confirmation code in the app to complete the sign-in process.

<figure><img src="/files/Pc8GHbmiYLDOWGiWHfa4" alt="" width="287"><figcaption></figcaption></figure>

Once signed in, you’ll have full access to the Datagram desktop app and can start contributing your system’s compute resources to the network.

{% hint style="warning" %}
**Join Datagram**<br>

If you’re not already using Datagram, download the desktop app for rewards and [start earning today.](https://demo.datagram.network/)
{% endhint %}


# Home Screen Guide

The **Home screen** is the main dashboard of the Datagram Desktop App. It gives you a quick overview of your account, earnings, and connection status. From here, you can see how many points you’ve earned, check which services are running, connect to the network, and manage your account settings.

It also lets you copy your referral code to invite friends, reconnect to the Datagram Network if needed, and track how long each service has been active. Everything you need to start earning and stay connected is available on this screen in one place.

Let’s get started. 🚀

### Feature Overview

<figure><img src="/files/IQ7XG3KfBtaJUzo7CWOI" alt="" width="375"><figcaption></figcaption></figure>

#### 1. Menu Button (☰)

Located in the top-right corner, the **Menu button** opens a sidebar with additional options. These let you manage your account, adjust settings, and learn more about Datagram.\
\
For more information regarding the menu, navigate to the [Menu Button](https://docs.google.com/document/d/1KskHaikLct368V0gmXPVBfnlGsvztiXLaJlp5DnPlWk/edit?tab=t.0#heading=h.yhy7dcbe7hxo) Section.

#### 2. Tasks, Status, and Score

Just below your earnings, you’ll see a section that lists the active **Datagram services** on your device—currently **UDP**.

For each service:

* **Task** shows the name of the service (e.g., UDP with AI coming soon).
* **Status** displays its current state. If it says "**IDLE,"** that means it’s connected but not actively sharing resources at the moment. In this state your node is eligible to earn uptime rewards. If it says "**EARNING**," that means it's not only connected but also actively sharing resources to support Datagram services.
* **Score** show the strength of the node operator's network connection.

This section helps you understand which services are live and the performance of the node operator's network.

#### 3. Network Connection

At the bottom left of the services section, you’ll see your **network status**. If it shows “Connected” with a green icon, your app is linked to the Datagram Network and ready to earn rewards. If disconnected, the app will try to reconnect, or you can manually reconnect from the account menu.

#### 4. Go to Dashboard

Below Network Connection, you’ll find a “**Go to Dashboard**” button. Clicking this will open the full web-based Datagram Dashboard in your browser, where you can explore advanced analytics, manage your profile, and track detailed referral and earnings stats.

#### 5. Refer a Friend and Get Rewarded

At the bottom of the Home screen, you’ll see the **referral section**. Here you can:

* View your number of **Confirmed Referrals**
* Click the “**Copy link**” button to copy your referral code

Share this code with friends to invite them to the Datagram Network. As they become active users, you’ll start earning extra rewards based on their participation.

<figure><img src="/files/lOXHq9UCqIwBLyONQhbu" alt="" width="375"><figcaption></figcaption></figure>

#### 6. Network score details

How well the Datagram Node performs depends on the quality of the network that it is connected to. Each node operator's network score is determined by testing 3 primary factors with each factor having 3 possible ratings (status). Clicking on "Score" will reveal details for the Network Score test results.

Tests

* **Firewall:** Confirms whether or not the ISP or network settings are configured to support connecting to the Datagram Network.
* **Bandwidth:** Measures upload and download speed.
* **Response:** Measures the network latency.

Status/Score

* **Good:** Optimal performance to operate node.
* **Okay:** Stable performance to operate node, but either bandwidth or response time could be improved.
* **Low:** Decent performance required to operate a node, but both bandwidth and response time could be improved.
* **Poor:** Bare minimum performance required to operate a node. May be able to operate a node, but with the risk of possible connectivity and/or experience issues.

{% hint style="info" %}
**Note:** A connected node with a Score of **Poor** is still eligible to earn uptime and rewards, but it is recommended that node operators optimize their Score to at least **Okay** or ideally **Good** for the best experience and to maximize rewards.
{% endhint %}

Recommendations

* Based on the results of each status, a recommendation will be given on how to improve connectivity and/or the performance of the Node Application.

### Menu Button (☰)

<figure><img src="/files/lhId51ToW8YWqEtfKiFS" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
You can close the menu at any time by clicking the **"X"** in the top-right corner of the sidebar.
{% endhint %}

When you click the menu button, the following options appear—here’s what each one does:

**1. Refresh**

This let's you refresh your connection for the latest in points earnings and uptime.

**2. Account**

This opens your account section, where you can view details like your profile information and connected license, confirming that your device is properly linked to the Datagram Network.

You can also update your username here. Usernames are a secure way to publicly display node operators, such as on the Leaderboard.

**3. App Settings**

This section lets you adjust how the app behaves. You can:

* Choose whether the app starts automatically when your computer turns on
* Manage permissions related to your network usage
* Change other basic preferences depending on your setup\
  These settings help you personalize the app to suit your system and usage style.

If you want more information regarding the App settings, refer to the “[App Settings](https://docs.google.com/document/d/1KskHaikLct368V0gmXPVBfnlGsvztiXLaJlp5DnPlWk/edit?tab=t.0#heading=h.ws6uz1s0humg)” section

**4. FAQ**

If you have any questions or run into something you don’t understand, this section provides quick answers. It opens a help page (or a browser link) with commonly asked questions and simple explanations.

**5. About Datagram**

This section gives you an overview of what Datagram is, why it exists, and how it works. You can also find:

* Version number of the app you're using
* Legal information or terms of use
* Background about the project

### App Settings

<figure><img src="/files/xn8qjX1TGw5ZCnR11Ci3" alt=""><figcaption></figcaption></figure>

The **App Settings** section allows you to manage how the Datagram Desktop App behaves on your device. It helps you customize how and when the app runs, check your current connection status, and manage software updates.

**1. Enable Auto Start**

This setting allows the app to start automatically every time you turn on your computer. When **enabled**, the Datagram app will run in the background without needing to be launched manually. This is useful if you want to stay consistently connected and keep earning without extra steps.

**2. Enable Auto Update**

With this option **enabled**, the app will automatically check for new versions and install them in the background. This ensures that you’re always using the latest and most secure version of the application without needing to update manually.

**3. Node Connection Status**

This section displays whether your node is currently connected to the Datagram Network. If the status shows “**Node connected**” with a **green** check mark, your system is online and ready to earn rewards. If needed, you can disconnect manually by clicking the “Disconnect” button.

**4. Software Version**

Here you’ll see the current version of the app you’re using. If a newer version is available, you’ll receive a notification in this section.&#x20;

You can update the app by clicking the “**Update Datagram**” button. Staying updated ensures you get the latest features, performance improvements, and security fixes.

**5. Legal Links**

At the bottom of the screen, you’ll find links to the [Privacy Policy](https://www.datagram.network/privacy-policy) and [Terms and Conditions](https://www.datagram.network/terms-and-conditions). These documents explain how your data is handled and the rules for using the platform.

{% hint style="warning" %}
**Join Datagram**<br>

If you’re not already using Datagram, download the desktop app for rewards and [start earning today.](https://demo.datagram.network/)
{% endhint %}


# Desktop Application Setup (Full Core Only)


# Mac (Silicon, Intel)

The Datagram desktop application connects your Mac computer to the Datagram Network, allowing you to contribute unused computing resources and earn rewards. This application does not monitor your activity—it only manages the resources you authorize for routing network traffic, completely separate from your data.

{% hint style="warning" %}
The Datagram Desktop Application does not monitor your activity while in use. It only manages authorized compute resources to route internet traffic through your IP address, ensuring zero access to your data.
{% endhint %}

Let’s get started. 🚀\
\
**Step 1:** Visit the [Datagram website](https://demo.datagram.network/) and register for an account using your email or Google sign-in.\
\
**Step 2:** Scroll down and click on the macOS installer compatible with your Mac’s architecture (Intel or Apple Silicon).

<figure><img src="/files/oDQ4pTh4F18PE99U8WUP" alt=""><figcaption></figcaption></figure>

**Step 3:** Open the downloaded **.dmg** file and drag the Datagram application to your Applications folder to complete the installation.

<figure><img src="/files/T46pJ6tatloqiE1hYoJm" alt=""><figcaption></figcaption></figure>

**Step 4:** Launch the Datagram application, sign in using your account credentials, and connect to the Datagram Network.

<figure><img src="/files/9UFUOK0KYXdtHOZtIGX6" alt=""><figcaption></figcaption></figure>

**Step 5:** Once connected, the application will begin routing authorized underutilized compute resources through your IP address, allowing you to earn points and rewards.

<figure><img src="/files/QbtWZcWv5lDIb2BeZp1q" alt="" width="375"><figcaption></figcaption></figure>

Your Mac is now set up to contribute to the Datagram Network, and you can track your rewards in real time.


# Windows

The Datagram desktop application for Windows enables your PC to participate in the Datagram Network. It uses your idle computing resources to route internet traffic, allowing you to earn rewards without compromising your privacy or monitoring your activity.

{% hint style="warning" %}
The Datagram Desktop Application does not monitor your activity while it is in use. All the application can do is manage your underutilized compute resources that you authorize to route internet traffic through your IP address, which is completely separate from your activity. This means zero access to your data.
{% endhint %}

Let’s get started. 🚀

**Step 1:** Visit the [Datagram website](https://demo.datagram.network/) and register for an account using your email or Google sign-in.

**Step 2:** Scroll down and click on the Windows installer to download the version compatible with your system.

<figure><img src="/files/7B5M4ROydQESxIK0nzfG" alt=""><figcaption></figcaption></figure>

Run the downloaded installer file and follow the standard Windows installation prompts.

**Step 3:** Launch the Datagram application, sign in using your account credentials, and connect to the Datagram Network.

<figure><img src="/files/eO29pExbHHBi059drFzG" alt=""><figcaption></figcaption></figure>

**Step 4:** Once connected, the application will begin routing authorized underutilized compute resources through your IP address, allowing you to earn points and rewards.

<figure><img src="/files/QbtWZcWv5lDIb2BeZp1q" alt="" width="375"><figcaption></figcaption></figure>

Your Windows PC is now set up to contribute to the Datagram Network, and you can track your rewards in real time.


# Ubuntu/Linux

The Datagram desktop application allows your Ubuntu or Linux computer to join the Datagram Network, a decentralized system where participants share their unused computing resources. By connecting your device, you help support the network’s operations, such as routing data and providing compute power. In return, you earn rewards based on how much of your available resources you contribute.

{% hint style="warning" %}
The Datagram Desktop Application does not monitor your activity while in use. It only manages authorized compute resources to route internet traffic through your IP address, ensuring zero access to your data.
{% endhint %}

Let’s get started. 🚀

**Step 1:** Visit the [Datagram website](https://demo.datagram.network/) and register for an account using your email or Google sign-in.

**Step 2:** Scroll down and click on the Linux button to download the installer compatible with your Linux system.

<figure><img src="/files/zqUbGxt3KDW8gExS88Op" alt=""><figcaption></figcaption></figure>

**Step 3:** Open the Terminal on your Ubuntu or Linux-based system. You’ll need administrative access to proceed with the installation. To make the file executable, run the following command.

```
chmod +x datagram-cli
```

**Step 4:** During the installation, you’ll be prompted to enter a License Key. Enter Your License Key.\
\
For more information on how to get your license key, refer to the section “[Obtain your License Key.](/setup-datagram/desktop-application-setup-full-core-only/ubuntu-linux#how-to-obtain-your-license-key)”&#x20;

**Step 5:** After the installation completes, check the status of your Datagram node by running.

```
status-datagram
```

This will show whether your node is currently online or offline.

### Restart the Datagram Service (If Needed)

**Step 1:** If the node appears to be offline, restart the service using.

```
restart-datagram
```

**Step 2:** Then, check the status again:

```
status-datagram
```

Repeat this process if the node doesn’t come online immediately.

**Step 3:** Lastly, go back to the[ Dashboard ](https://dashboard.datagram.network/overview)and confirm that your node is showing as connected. Once connected, it will begin earning points automatically.

<figure><img src="/files/5SjWYscdHlyAIf6Pxd6S" alt=""><figcaption></figcaption></figure>

### How to Obtain Your License Key

**Step 1:** Open your browser and [log in/sign](https://staging.datagram.network/wallet?tab=licenses) up for a Datagram account if you haven’t already.\
\
**Step 2:** Navigate to the **“Wallet”** section from the left sidebar, then click on the **“Licenses”** tab at the top to manage your license settings.

<figure><img src="/files/pdfGMtyvPNMGXNJuOCdW" alt=""><figcaption></figcaption></figure>

**Step 3:** Here, you can copy the License Key displayed on the page. Paste the License Key when prompted to enter a License Key, and press **Enter** to continue.

<figure><img src="/files/FgnSKZ1q7gc9g7Dywl6Z" alt=""><figcaption></figcaption></figure>

\ <br>


# Local Machine Setup (Ubuntu/Linux)


# Full Core Setup

The Datagram desktop application connects your Ubuntu or Linux machine to the Datagram Network, enabling you to earn rewards by sharing unused computing resources. Follow these steps to set up the application.

{% hint style="warning" %}
Note: The Datagram Desktop Application does not monitor your activity while in use. It only manages authorized compute resources to route internet traffic through your IP address, ensuring zero access to your personal data.
{% endhint %}

Let’s get started. 🚀

### Setup Instructions

**Step 1:** Open the Terminal on your Ubuntu or Linux-based system. You’ll need administrative access to proceed with the installation.

**Step 2:** Run the following command in the Terminal to download and execute the Datagram installer script:

```
wget -O datagram-installer.sh https://gist.githubusercontent.com/datagram-dev/8ef3d7678dc828e45a65a3e955327736/raw/datagram-installer.sh && chmod +x datagram-installer.sh && sudo bash datagram-installer.sh
```

This command:

* Downloads the installer script
* Grants it execution permissions
* Executes it with superuser privileges

**Step 3:** During the installation, you’ll be prompted to enter a **License Key**. Enter Your License Key.\
\
For more information on how to get your license key, refer to the section “[Obtain your License Key.](#how-to-obtain-your-license-key)”&#x20;

**Step 4:** After the installation completes, check the status of your Datagram node by running:

```
status-datagram
```

This will show whether your node is currently online or offline.

### Restart the Datagram Service (If Needed)

**Step 1:** If the node appears to be **offline**, restart the service using:

```
restart-datagram
```

**Step 2:** Then, check the status again:

```
status-datagram
```

Repeat this process if the node doesn’t come online immediately.

**Step 3:** Lastly, go back to the[ Dashboard ](https://dashboard.datagram.network/overview)and confirm that your node is showing as connected. Once connected, it will begin earning points automatically.

<figure><img src="/files/5SjWYscdHlyAIf6Pxd6S" alt=""><figcaption></figcaption></figure>

Your Ubuntu/Linux machine is now configured as a **Partner Substrate** on the Datagram Network. It will contribute computing resources and earn rewards based on its performance and uptime.

### How to Obtain Your License Key

**Step 1:** Open your browser and [log in/sign](https://demo.datagram.network/) up for a Datagram account if you haven’t already.\
\
**Step 2:** Navigate to the “**Wallet**” section from the left sidebar, then click on the “**Licenses**” tab at the top to manage your license settings.

<figure><img src="/files/ZTDrkgu0veWKn04KAfcY" alt=""><figcaption></figcaption></figure>

**Step 3:** Here, you can copy the required License Key.&#x20;

* To setup a Full Core License, copy the License Key for License ID FCORE.
* To setup a Partner Core License, copy the License Key for License ID FCORE.

Once you have copied the correct License Key, paste it to the terminal when prompted to enter a License Key, and press Enter to continue.

<figure><img src="/files/xpJEJPkcMINYBaZZGYTv" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:** Partner Core Licenses (PCORE) are currently only available to pre-approved partners.
{% endhint %}


# Partner Core Setup

The Datagram desktop application connects your Ubuntu or Linux machine to the Datagram Network, enabling you to earn rewards by sharing unused computing resources. Follow these steps to set up the application.

{% hint style="warning" %}
Note: The Datagram Desktop Application does not monitor your activity while in use. It only manages authorized compute resources to route internet traffic through your IP address, ensuring zero access to your personal data.
{% endhint %}

Let’s get started. 🚀

### Setup Instructions

**Step 1:** Before installation, you’ll need to request a Partner License Key. To request, refer to the section “[Obtain your License Key.](/dashboard/how-to-request-a-partner-license)”&#x20;

**Step 2:** Register your Node ID. To register, refer to the section "[Register Node ID](/additional-tools/register-node-id)."

**Step 3:** Setup Partner Key Format. For setup, refer to the section "[Partner Key Format](https://doc.datagram.network/setup-datagram/local-machine-setup-ubuntu-linux/pages/ZZQOoS4Ir1ck6TKeAxZy#id-2.-partner-key-format)."

**Step 4:** Open the Terminal on your Ubuntu or Linux-based system. You’ll need administrative access to proceed with the installation.

**Step 5:** Run the following command in the Terminal to download and execute the Datagram installer script:

```
wget -O datagram-installer.sh https://gist.githubusercontent.com/datagram-dev/8ef3d7678dc828e45a65a3e955327736/raw/datagram-installer.sh && chmod +x datagram-installer.sh && sudo bash datagram-installer.sh
```

This command:

* Downloads the installer script
* Grants it execution permissions
* Executes it with superuser privileges

**Step 6:** Enter formatted partner key created in Step 3 (Partner Key Format).

**Step 7:** After the installation completes, check the status of your Datagram node by running:

```
status-datagram
```

This will show whether your node is currently online or offline.

### Restart the Datagram Service (If Needed)

**Step 1:** If the node appears to be **offline**, restart the service using:

```
restart-datagram
```

**Step 2:** Then, check the status again:

```
status-datagram
```

Repeat this process if the node doesn’t come online immediately.

**Step 3:** Lastly, go back to the[ Dashboard ](https://dashboard.datagram.network/overview)and confirm that your node is showing as connected. Once connected, it will begin earning points automatically.

<figure><img src="/files/5SjWYscdHlyAIf6Pxd6S" alt=""><figcaption></figcaption></figure>

Your Ubuntu/Linux machine is now configured as a **Partner Substrate** on the Datagram Network. It will contribute computing resources and earn rewards based on its performance and uptime.

### How to Obtain Your License Key

**Step 1:** Open your browser and [log in/sign](https://demo.datagram.network/) up for a Datagram account if you haven’t already.\
\
**Step 2:** Navigate to the “**Wallet**” section from the left sidebar, then click on the “**Licenses**” tab at the top to manage your license settings.

<figure><img src="/files/ZTDrkgu0veWKn04KAfcY" alt=""><figcaption></figcaption></figure>

**Step 3:** Here, you can copy the required License Key.&#x20;

* To setup a Full Core License, copy the License Key for License ID FCORE.
* To setup a Partner Core License, copy the License Key for License ID FCORE.

Once you have copied the correct License Key, paste it to the terminal when prompted to enter a License Key, and press Enter to continue.

<figure><img src="/files/xpJEJPkcMINYBaZZGYTv" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:** Partner Core Licenses (PCORE) are currently only available to pre-approved partners.
{% endhint %}


# VPS Setup


# Full Core Setup

Setting up a Datagram node on a VPS is quick and straightforward. Follow the steps below to install, configure, and verify your node as a **Partner Substrate**, allowing you to contribute compute resources and earn rewards.

### Prerequisites

* A VPS server (Ubuntu or compatible Linux distribution)
* Root access or a user with **sudo** privileges
* Your VPS IP address
* A Datagram account

Let’s get started. 🚀

### Setup Instructions

**Step 1:** Open Your Local Terminal (macOS/Linux) or an SSH client like PuTTY (Windows) to begin the setup process.

**Step 2:** Run the following command in your terminal to connect to your VPS:

```
ssh root@<your-server-ip>
```

***Note:** Replace **\<your-server-ip>** with your actual VPS IP address. When prompted, enter your VPS root password.*

**Step 3:** Once you're logged into your VPS, run the command below to download and run the Datagram installer script:

```
wget -O datagram-installer.sh https://gist.githubusercontent.com/datagram-dev/8ef3d7678dc828e45a65a3e955327736/raw/datagram-installer.sh && chmod +x datagram-installer.sh && sudo bash datagram-installer.sh
```

This command will:

* Download the installer script
* Make it executable
* Run the installer with elevated privileges

**Step 4:** During the installation, you’ll be prompted to enter a **License Key**. Enter Your License Key.\
\
For more information on how to get your license key, refer to the section “[Obtain your License Key.](https://docs.google.com/document/d/11wLq0UmTFqpzvH_leSkyJRsywsH3GRgG7-FmVXfIiK8/edit?tab=t.0#heading=h.t3n81owlrg5o)”

**Step 5:** To check the current status of your Datagram node, run:

```
status-datagram
```

This will show whether your node is online, offline, or initializing.

**Step 6:** If the status shows offline, restart the Datagram service by running

```
restart-datagram
```

Then, check the status again by running

```
status-datagram
```

Repeat these commands as needed until the node status shows as online.

**Step 7:** Lastly, go back to the[ Dashboard ](https://dashboard.datagram.network/overview)and confirm that your node is showing as connected. Once connected, it will begin earning points automatically.

<figure><img src="/files/s7TNGBitDLSiL0Yw6FWo" alt=""><figcaption></figcaption></figure>

Your VPS server is now successfully set up as a Partner Substrate in the Datagram Network. It will contribute to the network’s compute capacity and begin earning rewards based on performance and uptime.

### How to Obtain Your License Key

Step 1: Open your browser and [log in/sign](https://staging.datagram.network/wallet?tab=licenses) up for a Datagram account if you haven’t already.\
\
**Step 2:** Navigate to the “**Wallet**” section from the left sidebar, then click on the “**Licenses**” tab at the top to manage your license settings.

<figure><img src="/files/ZTDrkgu0veWKn04KAfcY" alt=""><figcaption></figcaption></figure>

**Step 3:** Here, you can copy the required License Key.&#x20;

* To setup a Full Core License, copy the License Key for License ID FCORE.
* To setup a Partner Core License, copy the License Key for License ID FCORE.

Once you have copied the correct License Key, paste it to the terminal when prompted to enter a License Key, and press Enter to continue.

<figure><img src="/files/xpJEJPkcMINYBaZZGYTv" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:** Partner Core Licenses (PCORE) are currently only available to pre-approved partners.
{% endhint %}


# Partner Core Setup

Setting up a Datagram node on a VPS is quick and straightforward. Follow the steps below to install, configure, and verify your node as a **Partner Substrate**, allowing you to contribute compute resources and earn rewards.

### Prerequisites

* A VPS server (Ubuntu or compatible Linux distribution)
* Root access or a user with **sudo** privileges
* Your VPS IP address
* A Datagram account

Let’s get started. 🚀

### Setup Instructions

**Step 1:** Before installation, you’ll need to request a Partner License Key. To request, refer to the section “[Obtain your License Key.](https://doc.datagram.network/dashboard/how-to-request-a-partner-license)”

**Step 2:** Register your Node ID. To register, refer to the section "[Register Node ID](https://doc.datagram.network/additional-tools/register-node-id)."

**Step 3:** Setup Partner Key Format. To setup, refer to the section "[Partner Key Format](https://doc.datagram.network/additional-tools/cli-command-line-interface#id-2.-partner-key-format)."

**Step 4:** Open Your Local Terminal (macOS/Linux) or an SSH client like PuTTY (Windows) to begin the setup process.

**Step 5:** Run the following command in your terminal to connect to your VPS:

```
ssh root@<your-server-ip>
```

***Note:** Replace **\<your-server-ip>** with your actual VPS IP address. When prompted, enter your VPS root password.*

**Step 6:** Once you're logged into your VPS, run the command below to download and run the Datagram installer script:

```
wget -O datagram-installer.sh https://gist.githubusercontent.com/datagram-dev/8ef3d7678dc828e45a65a3e955327736/raw/datagram-installer.sh && chmod +x datagram-installer.sh && sudo bash datagram-installer.sh
```

This command will:

* Download the installer script
* Make it executable
* Run the installer with elevated privileges

**Step 7:** During the installation, you’ll be prompted to enter a **License Key**. Enter Your License Key.\
\
For more information on how to get your license key, refer to the section “[Obtain your License Key.](https://docs.google.com/document/d/11wLq0UmTFqpzvH_leSkyJRsywsH3GRgG7-FmVXfIiK8/edit?tab=t.0#heading=h.t3n81owlrg5o)”

**Step 8:** To check the current status of your Datagram node, run:

```
status-datagram
```

This will show whether your node is online, offline, or initializing.

**Step 9:** If the status shows offline, restart the Datagram service by running

```
restart-datagram
```

Then, check the status again by running

```
status-datagram
```

Repeat these commands as needed until the node status shows as online.

**Step 7:** Lastly, go back to the[ Dashboard ](https://dashboard.datagram.network/overview)and confirm that your node is showing as connected. Once connected, it will begin earning points automatically.

<figure><img src="/files/s7TNGBitDLSiL0Yw6FWo" alt=""><figcaption></figcaption></figure>

Your VPS server is now successfully set up as a Partner Substrate in the Datagram Network. It will contribute to the network’s compute capacity and begin earning rewards based on performance and uptime.

### How to Obtain Your License Key

Step 1: Open your browser and [log in/sign](https://staging.datagram.network/wallet?tab=licenses) up for a Datagram account if you haven’t already.\
\
**Step 2:** Navigate to the “**Wallet**” section from the left sidebar, then click on the “**Licenses**” tab at the top to manage your license settings.

<figure><img src="/files/ZTDrkgu0veWKn04KAfcY" alt=""><figcaption></figcaption></figure>

**Step 3:** Here, you can copy the required License Key.&#x20;

* To setup a Full Core License, copy the License Key for License ID FCORE.
* To setup a Partner Core License, copy the License Key for License ID FCORE.

Once you have copied the correct License Key, paste it to the terminal when prompted to enter a License Key, and press Enter to continue.

<figure><img src="/files/xpJEJPkcMINYBaZZGYTv" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:** Partner Core Licenses (PCORE) are currently only available to pre-approved partners.
{% endhint %}


# Partner Substrate Setup


# Local Machine (Ubuntu/Linux)

The Datagram desktop application connects your Ubuntu or Linux machine to the Datagram Network, enabling you to earn rewards by sharing unused computing resources. Follow these steps to set up the application.

{% hint style="warning" %}
Note: The Datagram Desktop Application does not monitor your activity while in use. It only manages authorized compute resources to route internet traffic through your IP address, ensuring zero access to your personal data.
{% endhint %}

Let’s get started. 🚀

### Setup Instructions

**Step 1:** Open the Terminal on your Ubuntu or Linux-based system. You’ll need administrative access to proceed with the installation.

**Step 2:** Run the following command in the Terminal to download and execute the Datagram installer script:

```
wget -O datagram-installer.sh https://gist.githubusercontent.com/datagram-dev/8ef3d7678dc828e45a65a3e955327736/raw/datagram-installer.sh && chmod +x datagram-installer.sh && sudo bash datagram-installer.sh
```

This command:

* Downloads the installer script
* Grants it execution permissions
* Executes it with superuser privileges

**Step 3:** During the installation, you’ll be prompted to enter a **License Key**. Enter Your License Key.\
\
For more information on how to get your license key, refer to the section “[Obtain your License Key.](#how-to-obtain-your-license-key)”&#x20;

**Step 4:** After the installation completes, check the status of your Datagram node by running:

```
status-datagram
```

This will show whether your node is currently online or offline.

### Restart the Datagram Service (If Needed)

**Step 1:** If the node appears to be **offline**, restart the service using:

```
restart-datagram
```

**Step 2:** Then, check the status again:

```
status-datagram
```

Repeat this process if the node doesn’t come online immediately.

**Step 3:** Lastly, go back to the[ Dashboard ](https://dashboard.datagram.network/overview)and confirm that your node is showing as connected. Once connected, it will begin earning points automatically.

<figure><img src="/files/5SjWYscdHlyAIf6Pxd6S" alt=""><figcaption></figcaption></figure>

Your Ubuntu/Linux machine is now configured as a **Partner Substrate** on the Datagram Network. It will contribute computing resources and earn rewards based on its performance and uptime.

### How to Obtain Your License Key

**Step 1:** Open your browser and [log in/sign](https://demo.datagram.network/) up for a Datagram account if you haven’t already.\
\
**Step 2:** Navigate to the “**Wallet**” section from the left sidebar, then click on the “**Licenses**” tab at the top to manage your license settings.

<figure><img src="/files/McVARK0OqvBxXGCE6Giw" alt=""><figcaption></figcaption></figure>

**Step 3:** Here, you can copy the License Key displayed on the page. Paste the License Key when prompted to enter a License Key, and press Enter to continue.

<figure><img src="/files/QYzKrM9u7s52F3wnU0AH" alt=""><figcaption></figcaption></figure>


# VPS Servers

Setting up a Datagram node on a VPS is quick and straightforward. Follow the steps below to install, configure, and verify your node as a **Partner Substrate**, allowing you to contribute compute resources and earn rewards.

### Prerequisites

* A VPS server (Ubuntu or compatible Linux distribution)
* Root access or a user with **sudo** privileges
* Your VPS IP address
* A Datagram account

Let’s get started. 🚀

### Setup Instructions

**Step 1:** Open Your Local Terminal (macOS/Linux) or an SSH client like PuTTY (Windows) to begin the setup process.

**Step 2:** Run the following command in your terminal to connect to your VPS:

```
ssh root@<your-server-ip>
```

***Note:** Replace **\<your-server-ip>** with your actual VPS IP address. When prompted, enter your VPS root password.*

**Step 3:** Once you're logged into your VPS, run the command below to download and run the Datagram installer script:

```
wget -O datagram-installer.sh https://gist.githubusercontent.com/datagram-dev/8ef3d7678dc828e45a65a3e955327736/raw/datagram-installer.sh && chmod +x datagram-installer.sh && sudo bash datagram-installer.sh
```

This command will:

* Download the installer script
* Make it executable
* Run the installer with elevated privileges

**Step 4:** During the installation, you’ll be prompted to enter a **License Key**. Enter Your License Key.\
\
For more information on how to get your license key, refer to the section “[Obtain your License Key.](https://docs.google.com/document/d/11wLq0UmTFqpzvH_leSkyJRsywsH3GRgG7-FmVXfIiK8/edit?tab=t.0#heading=h.t3n81owlrg5o)”

**Step 5:** To check the current status of your Datagram node, run:

```
status-datagram
```

This will show whether your node is online, offline, or initializing.

**Step 6:** If the status shows offline, restart the Datagram service by running

```
restart-datagram
```

Then, check the status again by running

```
status-datagram
```

Repeat these commands as needed until the node status shows as online.

**Step 7:** Lastly, go back to the[ Dashboard ](https://dashboard.datagram.network/overview)and confirm that your node is showing as connected. Once connected, it will begin earning points automatically.

<figure><img src="/files/s7TNGBitDLSiL0Yw6FWo" alt=""><figcaption></figcaption></figure>

Your VPS server is now successfully set up as a Partner Substrate in the Datagram Network. It will contribute to the network’s compute capacity and begin earning rewards based on performance and uptime.

### How to Obtain Your License Key

Step 1: Open your browser and [log in/sign](https://staging.datagram.network/wallet?tab=licenses) up for a Datagram account if you haven’t already.\
\
**Step 2:** Navigate to the “**Wallet**” section from the left sidebar, then click on the “**Licenses**” tab at the top to manage your license settings.

<figure><img src="/files/uVxsYYwQaMQY2rZwxlqZ" alt=""><figcaption></figcaption></figure>

**Step 3:** Here, you can copy the License Key displayed on the page. Paste the License Key when prompted to enter a License Key, and press **Enter** to continue.<br>

<figure><img src="/files/P6tnuTjhMIKuECmIEBDP" alt=""><figcaption></figcaption></figure>


# Get an API Key

If you're planning to integrate with Datagram’s SDK or connect its substrate (DCS) to an existing network or product, you’ll need an API key. An API key is a unique code that allows your application to securely communicate with Datagram’s platform. It acts like a password, identifying your app and permitting it to access specific features

In this guide, we’ll walk you through the step-by-step process to create and access your API key using the Datagram Dashboard.

Let’s get started. 🚀

**Step 1:** Log in to your [Datagram account](https://demo.datagram.network/). Once you're logged in, click on your profile icon (top right corner), and a dropdown menu will appear.

<figure><img src="/files/bwVsj7pnFqacLIkeGZpO" alt=""><figcaption></figcaption></figure>

**Step 2:** From the dropdown, select the option labeled "**Account**". This will take you to the section where you can create an API key (for all services, SDK, APIs to identify unique users).

<figure><img src="/files/cC73qsFVlISmVhCNnk1S" alt=""><figcaption></figcaption></figure>

**Step 3:** In the “**Account**” section, click on the “**APIs**” tab at the top to manage or generate your API keys.

<figure><img src="/files/QjRZvNw9i2107Sm4z6b7" alt=""><figcaption></figcaption></figure>

**Step 4:** Click on the “**Create**” button, enter a name for your **API** key, and click “**Create**” again. Your new API key will be generated and shown on the screen right away.

<figure><img src="/files/mSccTtAPMfhL8pcgRSqK" alt=""><figcaption></figcaption></figure>

**Step 5:** Your API key has been successfully created. Make sure to **copy and save it securely**, as it may not be shown again. Once done, click the "**Finish**" button to complete the process.

<figure><img src="/files/wkPFg3Y9WCtkVIvAdkxa" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Join Datagram**<br>

If you’re not already using Datagram, download the desktop app for rewards and [start earning today.](https://demo.datagram.network/)
{% endhint %}


# API Reference


# Getting Started

The Datagram Organization API provides a collection of REST endpoints designed to retrieve essential organizational intelligence, such as aliases and usage statistics. These APIs allow seamless access to metadata and insights related to organization structures within the Datagram Network.

Authentication is performed via an API key, which must be included in each request header for access. The APIs are lightweight, secure, and ideal for both backend integrations and limited frontend use cases.

The Organization API is primarily designed to support:

* **Server-to-server** interactions, such as automated analytics pipelines or admin dashboards, where full access to organization data (aliases, usage statistics, etc.) is required.
* **Client-to-server** integrations where minimal data exposure is needed, such as public usage stats or alias lookups, under strict permission scopes to prevent unauthorized access.

By offering clear separation of roles and access levels, Datagram’s API design eliminates the need for proxy services in most applications. This accelerates integration and enhances the overall security of data exchange between clients and the Datagram platform.


# General

## 🔗 Base URLs

You can use the following environments depending on your development stage:

<table><thead><tr><th width="175.33331298828125">Environment</th><th>Base URL</th></tr></thead><tbody><tr><td><strong>Production</strong></td><td><code>https://link.api.datagram.network</code></td></tr><tr><td><strong>Staging</strong></td><td><code>https://link-staging.api.datagram.network</code></td></tr></tbody></table>

Use the appropriate base URL depending on whether you're integrating into a live environment or testing.

## 🧩 API Structure

All endpoints follow a consistent versioned path:

* `/api/v1/` — Public endpoints
* `/organization/api/v1/` — Private organization-level endpoints (require authentication)

All requests and responses use the `JSON` format unless otherwise specified.

## 🔐 Authentication

All `/organization/api/v1/` Endpoints require a valid **Organization Token** in the request headers.

**Where to get it:**

* **Production Dashboard:** <https://dashboard.datagram.network/sdk>
* **Staging Dashboard:** <https://staging.datagram.network/sdk>

**Header Format:**

```
makefileCopyEditAuthorization: <token>
```

Make sure the token is valid and associated with your organization. If the token has expired, you’ll receive an `401 Unauthorized` error.

## 🚦 Rate Limits

To ensure fair usage and optimal performance, the Datagram API enforces rate limiting.

* **Current rate limit:**`60 requests per second`
* If the limit is exceeded, you may receive an `429 Too Many Requests`error. We recommend implementing retries with exponential backoff.

## ✅ Response Format

All successful responses will return a `200 OK` or appropriate success status (e.g., `201 Created`), along with a `data` object.

Error responses are returned with standard HTTP status codes (`400`, `401`, `404`, etc.) and contain a descriptive `message`.

**Example:**

```json
{
  "error": {
    "message": "Unauthorized"
  }
}
```


# Alias


# Retrieve Alias by ID

### Request

Retrieve detailed information for a specific alias by providing its unique ID. This endpoint supports both public and authenticated access, including optional basic  `passcode` and advanced  `JWT` authentication mechanisms. It is typically used by clients or front-end applications to fetch alias configurations before joining a session or stream.

**Endpoint:**

```
GET /api/v1/alias/:id
```

**URL:**

```
https://link.api.datagram.network/organization/api/v1/alias/:id
```

### Query Parameter

**Path Parameters:**

<table><thead><tr><th width="146.66668701171875">Name</th><th width="139.3333740234375">Type</th><th>Description</th></tr></thead><tbody><tr><td><strong>id</strong></td><td>string</td><td>The ID of the alias to retrieve.</td></tr></tbody></table>

**Query Parameters**

<table><thead><tr><th width="150.3333740234375">Name</th><th width="130.66668701171875">Type</th><th>Description</th></tr></thead><tbody><tr><td><strong>passcode</strong></td><td>string</td><td>The passcode of the alias to retrieve.</td></tr></tbody></table>

**Example Request**

```
GET /api/v1/alias/bf6oi HTTP/1.1
Host: link.api.datagram.network
Authorization: <token, optional>
```

### **Response**

{% tabs %}
{% tab title="200 " %}
The request was successful, and the alias information was returned in the response body.

#### Body

<table data-header-hidden><thead><tr><th width="120.33331298828125">Parameters</th><th width="91.33331298828125">Type</th><th>Description </th></tr></thead><tbody><tr><td><strong>id</strong> </td><td>string</td><td>Alias ID</td></tr><tr><td><strong>type</strong> </td><td>string</td><td>Alias type ("live", "conference").</td></tr><tr><td><strong>name</strong> </td><td>string</td><td>Alias name.</td></tr><tr><td><strong>passcode</strong> </td><td>string</td><td>Alias passcode to basic authentication.</td></tr><tr><td><strong>jwt_secret</strong></td><td>string</td><td>Alias jwt secret to advanced authentication.</td></tr><tr><td><strong>stream_key</strong></td><td>string</td><td>Alias stream key.</td></tr><tr><td><strong>expired_at</strong></td><td>integer</td><td>Expired time unix timestamp in seconds.</td></tr><tr><td><strong>inserted_at</strong></td><td>integer</td><td>Inserted the time Unix timestamp in seconds.</td></tr></tbody></table>

```
{
  "data": {
    "id": "12345",
    "type": "conference",
    "name": "Alias Name",
    "passcode": null,
    "jwt_secret": null,
    "stream_key": null,
    "expired_at": 1737356308,
    "inserted_at": 1737456308
  }
}
```

{% endtab %}

{% tab title="400" %}
This error is returned when the provided alias ID is invalid, does not exist, or when the request is malformed.

#### Body

| Field       | Type    | Description                                       |
| ----------- | ------- | ------------------------------------------------- |
| **message** | string  | Describes the type of error (e.g., "NOT\_FOUND"). |
| **status**  | integer | HTTP status code indicating the error (e.g., 400) |

```
{
    "error": {
        "message": "NOT_FOUND",
        "status": 400
    }
}
```

{% endtab %}
{% endtabs %}


# List All Aliases

### Request

This endpoint retrieves a list of all aliases associated with your organization. It supports optional query parameters to filter results by type and paginate through large datasets.

**Endpoint:**

```
GET /organization/api/v1/aliases
```

**URL:**

```
https://link.api.datagram.network/organization/api//v1/aliases
```

### Query

| Field     | Type              | Description                                      | Exxample             |
| --------- | ----------------- | ------------------------------------------------ | -------------------- |
| **Type**  | String            | The type of the alias (`“live”`, `“conference”`) | `"conference"`       |
| **After** | String (Optional) | The cursor parameters                            | `65fd87ea12a9c9b3f1` |

#### Example Request

```
GET /organization/api/v1/aliases HTTP/1.1
Host: link.api.datagram.network
Authorization: <token>
```

### Response

The server returns standard HTTP status codes to indicate the success or failure of the request. Based on the outcome, the response may contain a list of aliases or an error message. Below are the possible responses for this endpoint:

**200 OK:** Aliases listed successfully.

**401 Unauthorized:** Unauthorized.

{% tabs %}
{% tab title="200" %}

| Field       | Type              | Description                                     | Example                |
| ----------- | ----------------- | ----------------------------------------------- | ---------------------- |
| **After**   | string (optional) | The cursor parameter used for pagination.       | `"after page"`         |
| **entries** | list              | List of alias entries returned in the response. | (id, type, name, etc.) |

#### Example Response

```
{
  "after": "after page",
  "entries": [{
      "data": {
        "id": "12345",
        "type": "conference",
        "name": "Alias Name",
        "passcode": null,
        "jwt_secret": null,
        "stream_key": null,
        "expired_at": 1737356308,
        "expired_at": 1737456308
      }
    }
  ]
}

```

{% endtab %}

{% tab title="401" %}

| Field     | Type   | Description                       | Example       |
| --------- | ------ | --------------------------------- | ------------- |
| **error** | object | Contains the error details object | UNAUTHORIZED" |

#### Example Response

```
{
    "error": {
        "message": "UNAUTHORIZED"
    }
}
```

{% endtab %}
{% endtabs %}

<br>


# Create Alias

### Request

The Create Alias endpoint allows you to generate a new alias. This alias can be configured with specific parameters such as expiration time and authentication type (Basic or JWT), enabling secure and time-bound access control.

**Endpoint:**

```
POST /organization/api/v1/alias/create
```

**URL:**

```
https://link.api.datagram.network/organization/api/v1/alias/create
```

### Body Parameters

<table><thead><tr><th width="103">Parameter</th><th width="108">Type</th><th width="92">Required</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td><strong>type</strong></td><td>string</td><td>✅ Yes</td><td>The type of alias. Valid values: “live”, “conference”.</td><td><code>conference</code></td></tr><tr><td><strong>name</strong></td><td>string</td><td>❌ No</td><td>Custom name for the alias.</td><td><code>WeeklySyncMeeting</code></td></tr><tr><td><strong>passcode</strong></td><td>string</td><td>❌ No</td><td>Optional passcode for basic authentication.</td><td><code>secure123</code></td></tr><tr><td><strong>jwt_secret</strong></td><td>string</td><td>❌ No</td><td>Optional JWT secret for advanced authentication.</td><td><code>eyJhbGciOi...</code> or null</td></tr><tr><td><strong>stream_key</strong></td><td>string</td><td>❌ No</td><td>Optional stream key used for streaming.</td><td><code>stream_4571AB</code> or null</td></tr><tr><td><strong>expired_at</strong></td><td>integer</td><td>✅ Yes</td><td>Expiry time for the alias in UNIX timestamp (seconds).</td><td><code>30</code></td></tr></tbody></table>

#### Example Request

```
POST /organization/api/v1/alias/create HTTP/1.1
Host: link.api.datagram.network
Authorization: Bearer <your_token>
Content-Type: application/json

{
  "type": "live",
  "name": "New Alias Name",
  "passcode": "pass",
  "jwt_secret": null,
  "stream_key": null,
  "expired_at": 1737456308
}
```

### Responses

{% tabs %}
{% tab title="201" %}
Alias successfully created.

**Response Body Parameters**

<table><thead><tr><th width="120">Parameter</th><th width="109">Type</th><th width="146">Description</th><th>Example</th></tr></thead><tbody><tr><td><strong>id</strong></td><td>string</td><td>Unique identifier for the created alias.</td><td><code>xxyzx</code></td></tr><tr><td><strong>type</strong></td><td>string</td><td>Type of alias (“live” or “conference”).</td><td><code>"live"</code></td></tr><tr><td><strong>name</strong></td><td>string</td><td>Name of the alias.</td><td><code>DemoSessionAlias</code></td></tr><tr><td><strong>passcode</strong></td><td>string</td><td>Passcode for basic authentication.</td><td><code>demo1234</code></td></tr><tr><td><strong>jwt_secret</strong></td><td>string</td><td>JWT secret for advanced authentication. May be null if not provided.</td><td><code>eyJhbGciOi...</code></td></tr><tr><td><strong>stream_key</strong></td><td>string</td><td>Stream key associated with the alias. May be null if not used.</td><td><code>stream_XYZ123</code></td></tr><tr><td><strong>expired_at</strong></td><td>integer</td><td>Expiration time of the alias in UNIX timestamp format (seconds).</td><td><code>1737456308</code></td></tr></tbody></table>

**Example**

```
{
  "data": {
    "id": "xxyzx",
    "type": "live",
    "name": "New Alias Name",
    "passcode": "pass",
    "jwt_secret": null,
    "stream_key": null,
    "expired_at": 1737456308
  }
}
```

{% endtab %}

{% tab title="400" %}

| Field       | Type    | Description                           | Example       |
| ----------- | ------- | ------------------------------------- | ------------- |
| **message** | string  | Describes the type of error           | `"NOT_FOUND"` |
| **status**  | integer | HTTP status code indicating the error | `400`         |

**Example Response**

```
{
    "error": {
        "message": "NOT_FOUND",
        "status": 400
    }
}
```

<br>
{% endtab %}

{% tab title="401" %}
Authentication failed. The token is missing, invalid, or expired.

<table><thead><tr><th width="111">Field </th><th width="104">Type</th><th width="139">Description</th><th>Example</th></tr></thead><tbody><tr><td><strong>error</strong></td><td>object</td><td>Contains the error details object.</td><td><p><code>"UNAUTHORIZED"</code></p><p></p></td></tr></tbody></table>

**Example Response**

```
{
    "error": {
        "message": "UNAUTHORIZED"
    }
}
```

{% endtab %}
{% endtabs %}


# Update Alias

### Request

Update an existing alias to modify its metadata, including name, authentication settings, stream key, or expiration time. This endpoint helps keep alias configurations current and secure.

**Endpoint:**

```
POST /organization/api/v1/alias/update/:id
```

**URL:**

```
https://link.api.datagram.network/organization/api/v1/alias/update/:id
```

### Query Parameter

#### Path Parameters

| Parameter | Type   | Required | Description                                  | Example       |
| --------- | ------ | -------- | -------------------------------------------- | ------------- |
| **id**    | string | ✅ Yes    | Unique identifier of the alias to be updated | `"abc123xyz"` |

#### Body Parameters

| Parameter       | Type    | Required | Description                                                          | Example                   |
| --------------- | ------- | -------- | -------------------------------------------------------------------- | ------------------------- |
| **type**        | string  | ✅ Yes    | The valid values alias.                                              | `"live"` , `"conference"` |
| **name**        | string  | ❌ No     | Optional alias name.                                                 | `"Weekly Sync"`           |
| **passcode**    | string  | ❌ No     | Optional passcode for basic authentication. Can be null to clear it. | `"secure123"` or null     |
| **jwt\_secret** | string  | ❌ No     | Optional JWT secret for advanced authentication.                     | `"jwtSecretKey123"`       |
| **stream\_key** | string  | ❌ No     | Optional stream key used for broadcasting.                           | `"streamKeyXYZ"`          |
| **expired\_at** | integer | ❌ No     | Optional expiration time in UNIX timestamp format (seconds).         | `"1737456308"`            |

#### Example Request

```
POST /organization/api/v1/alias/update/xxyzx HTTP/1.1
Host: link.api.datagram.network
Authorization: Bearer <your_token>
Content-Type: application/json

{
  "type": "conference",
  "name": "Updated Alias Name",
  "passcode": null
}
```

### Responses

{% tabs %}
{% tab title="200" %}
Alias updated successfully.

**Response Body Parameters**

| Parameter       | Type    | Description                                          | Example                     |
| --------------- | ------- | ---------------------------------------------------- | --------------------------- |
| **id**          | string  | ID of the updated alias.                             | `"abc123xyz"`               |
| **type**        | string  | Type of alias.                                       | `"live"`, or `"conference"` |
| **name**        | string  | Updated alias name.                                  | `"Monthly Meeting"`         |
| **passcode**    | string  | Updated passcode (or null if removed).               | `"newpass456"` or null      |
| **jwt\_secret** | string  | JWT secret value (may be null).                      | `"jwtSecretKey123"` or null |
| **stream\_key** | string  | Stream key (may be null).                            | `"streamKeyABC"` or null    |
| **expired\_at** | integer | Updated expiration time in UNIX timestamp (seconds). | `"1737456308"`              |

**Example**

```
{
  "data": {
    "id": "xxyzx",
    "type": "conference",
    "name": "Updated Alias Name",
    "passcode": null,
    "jwt_secret": null,
    "stream_key": null,
    "expired_at": 1737456308
  }
}
```

{% endtab %}

{% tab title="400" %}
Returned when:

* Required parameters are missing
* The alias does not exist
* The body format is incorrect

**Example**

```
{
  "error": {
    "message": "Invalid request body or alias not found"
  }
}
```

{% endtab %}

{% tab title="401" %}
Returned when authentication fails due to a missing or invalid token.

**Example**

```
{
  "error": {
    "message": "UNAUTHORIZED"
  }
}
```

{% endtab %}
{% endtabs %}


# Delete Alias

### Request

Delete an existing alias by providing its unique ID in the request path. This action permanently removes the alias from the organization’s records.

**Endpoint:**

```
DELETE /organization/api/v1/alias/delete/:id
```

**URL:**

```
https://link.api.datagram.network/organization/api/v1/alias/delete/:id
```

### Path Parameters

| Parameter | Type   | Required | Description                                  | Example       |
| --------- | ------ | -------- | -------------------------------------------- | ------------- |
| **id**    | string | ✅ Yes    | Unique identifier of the alias to be deleted | `"abc123xyz"` |

### Headers

| Header            | Type   | Required | Description                          | Example                                     |
| ----------------- | ------ | -------- | ------------------------------------ | ------------------------------------------- |
| **Authorization** | string | ✅ Yes    | Bearer token used for authentication | `"BearereyJhbGciOiJIUzl1NilsLnR5cCi6....."` |

#### Example Request

```
DELETE /organization/api/v1/alias/delete/12345 HTTP/1.1
Host: link.api.datagram.network
Authorization: Bearer <your_token>
```

### Responses

{% tabs %}
{% tab title="200" %}
Alias deleted successfully.

**Response Body**

| Parameter   | Type   | Description                        | Example                        |
| ----------- | ------ | ---------------------------------- | ------------------------------ |
| **message** | string | Confirmation message of the action | `"Alias deleted successfully"` |

**Example**

```
{
  "message": "Alias deleted successfully."
}

```

{% endtab %}

{% tab title="401" %}
Returned when the request is made without a valid authentication token.

| Field     | Type   | Description                       | Example            |
| --------- | ------ | --------------------------------- | ------------------ |
| **error** | object | Contains the error details object | `"``UNAUTHORIZED"` |

#### Example Response

```
{
    "error": {
        "message": "UNAUTHORIZED"
    }
}
```

{% endtab %}

{% tab title="404" %}
Returned when the alias with the provided ID does not exist.

| Field     | Type   | Description                       | Example       |
| --------- | ------ | --------------------------------- | ------------- |
| **error** | object | Contains the error details object | `"NOT FOUND"` |

#### Example

```
{
  "error": {
    "message": "Not found"
  }
}
```

{% endtab %}
{% endtabs %}


# JWT retrieve alias

Securely retrieve alias details using a **JWT-based authentication mechanism**. This process involves three key steps:

1. Creating a private alias with a `jwt_secret`.
2. Signing a JWT token with user-specific claims.
3. Using the token to access protected alias details.

### Step 1: Create a Private Alias

Create a private alias and assign it a `jwt_secret`. This secret will later be used to sign JWT tokens that authorize access to the alias.

**Endpoint:**

```
POST /organization/api/v1/alias/create
```

**URL:**

```
https://link.api.datagram.network/organization/api/v1/alias/create
```

#### **Request Body**

| Parameter       | Type    | Required | Description                                | Examp                                                       |
| --------------- | ------- | -------- | ------------------------------------------ | ----------------------------------------------------------- |
| **type**        | string  | ✅ Yes    | Type of alias                              | `"conference"`or `"live"`                                   |
| **name**        | string  | ❌ No     | Custom alias name                          | `"Team Sync Alias"`                                         |
| **jwt\_secret** | string  | ✅ Yes    | Secret used for signing JWT tokens         | <p><code>"myJWTsecret123"</code></p><p>"myJWTsecret123"</p> |
| **expired\_at** | integer | ✅ Yes    | Expiry time as Unix timestamp (in seconds) | `1737456308`                                                |

#### **Example Request**

```
{
  "type": "conference",
  "name": "Private Alias Name",
  "jwt_secret": "your-secure-secret",
  "expired_at": 1737456308
}
```

#### **Responses**

✅ **200 OK**

Alias successfully created.

| Field           | Type    | Description                     | Example                        |
| --------------- | ------- | ------------------------------- | ------------------------------ |
| **id**          | string  | Alias ID                        | "`alias_2XH5gT8vKp"`           |
| **type**        | string  | Alias type (conference or live) | `"conference"`                 |
| **name**        | string  | Name of the alias               | `"Q3 Product Launch"`          |
| **passcode**    | string  | Passcode if set (nullable)      | `null` or `"Pr0d!2024"`        |
| **jwt\_secret** | string  | The JWT signing secret          | `"sec_abc123...xyz456"`        |
| **stream\_key** | string  | Streaming key (nullable)        | `null`or `"live_2XH5gT8vKp"`   |
| **expired\_at** | integer | Expiry time of the alias        | `1735689600000` (Dec 31, 2024) |

#### **Example Response**

```
{
  "data": {
    "id": "priva",
    "type": "conference",
    "name": "Private Alias Name",
    "passcode": null,
    "jwt_secret": "your-secure-secret",
    "stream_key": null,
    "expired_at": 1737456308
  }
}
```

#### ❌ 401 Unauthorized

| Field       | Type   | Description                      | Example          |
| ----------- | ------ | -------------------------------- | ---------------- |
| **message** | string | Error message for invalid access | `"UNAUTHORIZED"` |

**Example**

```
{
  "error": {
    "message": "UNAUTHORIZED"
  }
}
```

❌ 404 Not Found

| Field       | Type   | Description                   | Example             |
| ----------- | ------ | ----------------------------- | ------------------- |
| **message** | string | Error when alias is not found | `"Alias not found"` |

**Example**

```
{
  "error": {
    "message": "Alias not found"
  }
}
```

### Step 2: Generate and Sign a JWT Token

Generate a JWT token using the alias's `jwt_secret` and user-specific claims.

**Example JWT Claims**

```
{
  "alias": "priva",
  "user_id": "user456xxyz",
  "host": true,
  "expires_in": 3600
}
```

| Claim           | Type    | Description                                      | Example           |
| --------------- | ------- | ------------------------------------------------ | ----------------- |
| **alias**       | string  | The ID of the alias being accessed               | `"alias123abc"`   |
| **user\_id**    | string  | Unique ID for the user                           | `"user789xyz"`    |
| **host**        | boolean | Indicates whether the user has host privileges   | `true` or `false` |
| **expires\_in** | integer | Token expiration time (in seconds from issuance) | `3600`            |

#### **Token Signing (Elixir Example)**

```
alias_id = "priva"
jwt_secret = "your-secure-secret"

claims = %{
  "alias" => alias_id,
  "user_id" => "user456xxyz",
  "host" => true,
  "expires_in" => 3600
}

{:ok, token, _} = JWT.generate_and_sign(claims, signer(jwt_secret))
```

### Step 3: Authenticate and Retrieve Alias

Use the generated token to retrieve alias details securely.

**Endpoint:**

```
GET /api/v1/alias/:id
```

**URL:**

```
https://link.api.datagram.network/api/v1/alias/priva
```

#### **Headers**

| Header            | Type   | Required | Description                  | Example                                 |
| ----------------- | ------ | -------- | ---------------------------- | --------------------------------------- |
| **authorization** | string | ✅ Yes    | Bearer token with signed JWT | `BearereyJhbGciOiJlUzl1NilslnR5cCl6...` |

#### **Example Request**

```
GET /api/v1/alias/priva HTTP/1.1
Host: link.api.datagram.network
Authorization: Bearer <jwt_token>
```

#### **Example Response**

```
{
  "data": {
    "id": "priva",
    "type": "conference",
    "name": "Private Alias Name",
    "passcode": null,
    "jwt_secret": null,
    "stream_key": null,
    "expired_at": 1737456308,
    "inserted_at": 1737356308
  }
}
```

### JWT Verification and Validation

The API performs the following steps to verify the JWT token:

1. Extract the JWT from the Authorization header.
2. Decode using the alias's jwt\_secret.
3. Validate claims:

* alias in the token matches the alias ID in the path.
* expires\_in is still valid (token not expired).

### Responses

| Code    | Description                                    | Example                                          |
| ------- | ---------------------------------------------- | ------------------------------------------------ |
| **200** | Successfully authenticated and alias retrieved | `{"alias" : "alias123abc", "status" : "active"}` |
| **401** | Unauthorized – Invalid or expired token        | `{"error": "unauthorized"}`                      |
| **404** | Alias not found                                | `{"error": "Alias not found"}`                   |

**401 Unauthorized Example**

```
{
  "error": {
    "message": "UNAUTHORIZED"
  }
}
```

**404 Not Found Example**

```
{
  "error": {
    "message": "Alias not found"
  }
}
```


# Stats


# Uptime

### Request

This endpoint retrieves the uptime in milliseconds for a specific identifier within a given time range (up to 14 days). It supports querying using the following identifiers: `secret` and `partner_node_id`.

**Endpoint:**

```
GET /api/v1/uptime
```

**URL:**

```
https://stats.api.datagram.network/api/v1/uptime
```

### Query Parameters

<table><thead><tr><th width="162.296875">Parameter</th><th width="90">Type</th><th width="108.265625">Required</th><th>Description </th><th width="203.9375">Example </th></tr></thead><tbody><tr><td>secret</td><td>string</td><td>✅ Yes</td><td>Unique secret token identifying partner.</td><td><code>"pt_sec_abc123XYZ*"</code></td></tr><tr><td><strong>partner_node_id</strong></td><td>string</td><td>✅ Yes</td><td>Unique identifier of the external partner node.</td><td><code>"partner_98765zyxw"</code></td></tr><tr><td>started_at</td><td>integer</td><td>❌ No</td><td>Start time in Unix timestamp (milliseconds).</td><td><code>1678901234567</code></td></tr><tr><td>ended_at</td><td>integer</td><td>❌ No</td><td>End time in Unix timestamp (milliseconds).</td><td><code>1678912345678</code></td></tr></tbody></table>

{% hint style="warning" %}
You must provide both `secret` and `partner_node_id` identifiers.
{% endhint %}

{% hint style="info" %}
\- If `started_at` or `ended_at` are not provided, the API will return the total uptime of the specified `partner_node_id`. \
\- The maximum allowed time range between `started_at` and `ended_at` is 14 days (1209600000 ms).\
\- All timestamps will be rounded down to the nearest hour.&#x20;

\
**Example:** 1752727252516 (2025-07-17T04:40:52.516Z) will be rounded down to 1752724800000 (2025-07-17T04:00:00Z).
{% endhint %}

### Authentication

Use a valid organization token in the request header.

```
Authorization: Bearer <organization-token>
```

#### Example Request

```
GET /api/v1/uptime?partner_node_id=dg-node-12&started_at=1741251728393&ended_at=1741252994872 HTTP/1.1
Host: stats.api.datagram.network
Authorization: <organization token>
```

### Responses

{% tabs %}
{% tab title="200 " %}
When the request is valid and successful, the API returns the uptime duration in milliseconds.

**Response Body**

| Field             | Type    | Description                              | Example               |
| ----------------- | ------- | ---------------------------------------- | --------------------- |
| **uptime**        | integer | Total uptime in Unix timestamp (ms).     | `866222`              |
| partner\_node\_id | string  | Identifier of the external partner node. | `"partner_98765zyxw"` |

**Example Response**

```
{
  "data": {
    "uptime": 866222
    "partner_node_id": "partner_98765zyxw"
  }
}
```

{% endtab %}

{% tab title="400" %}
Returned when required parameters are missing or invalid or the time range exceeds 7 days.

**Response Body**

| Field       | Type    | Description               | Example              |
| ----------- | ------- | ------------------------- | -------------------- |
| **message** | string  | Description of the issue. | `INVALID_PARAMETERS` |
| **status**  | integer | HTTP status code.         | `400`                |

**Example Response**

```
{
  "error": {
    "message": "INVALID_PARAMETERS",
    "status": 400
  }
}
```

{% endtab %}

{% tab title="401" %}

Returned when the authorization token is missing or invalid.

**Response Body**

| Field       | Types   | Description                      | Example          |
| ----------- | ------- | -------------------------------- | ---------------- |
| **message** | string  | Explanation of the auth failure. | `"UNAUTHORIZED"` |
| **status**  | integer | HTTP status code.                | `401`            |

**Example Response**

```
{
  "error": {
    "message": "UNAUTHORIZED",
    "status": 401
  }
}
```

{% endtab %}
{% endtabs %}


# Uptimes

### Request

This endpoint returns the uptime in milliseconds for one or more partner nodes (`partner_node_id[]`) across a specified time window.&#x20;

### Endpoint

```
GET /api/v1/uptimes
```

### URL:

```
https://stats.api.datagram.network/api/v1/uptimes
```

### Query Parameters

<table><thead><tr><th>Field </th><th>Type</th><th>Required</th><th width="134">Description </th><th>Example </th></tr></thead><tbody><tr><td>secret</td><td>string</td><td>✅ Yes</td><td>Unique secret token identifying partner.</td><td><code>"pt_sec_abc123XYZ!*"</code></td></tr><tr><td><strong>partner_node_id[]</strong></td><td>string[]</td><td>✅ Yes</td><td>Retrieve uptime for multiple partner node IDs (up to 5 maximum at a time.</td><td><code>["node_123", "node_456"]</code></td></tr><tr><td>started_at</td><td>integer</td><td>❌ No</td><td>Start time in Unix timestamp (milliseconds).</td><td><code>1678901234567</code></td></tr><tr><td>ended_at</td><td>integer</td><td>❌ No</td><td>End time in Unix timestamp (milliseconds).</td><td><code>1678912345678</code></td></tr></tbody></table>

{% hint style="warning" %}
You must provide both `secret` and `partner_node_id` identifiers.
{% endhint %}

{% hint style="info" %}
\- If `started_at` or `ended_at` are not provided, the API will return the total uptime of the specified `partner_node_id`. \
\- The maximum allowed time range between `started_at` and `ended_at` is 14 days (1209600000 ms).\
\- All timestamps will be rounded down to the nearest hour.&#x20;

\
**Example:** 1752727252516 (2025-07-17T04:40:52.516Z) will be rounded down to 1752724800000 (2025-07-17T04:00:00Z).
{% endhint %}

### Authentication

Use a valid organization token in the request header:

```
Authorization: Bearer <organization-token>
```

### Example Request&#x20;

```
GET /api/v1/uptimes&partner_node_id[]=dg-node-1&partner_node_id[]=dg-node-2&started_at=1741251728393&ended_at=1741252994872 HTTP/1.1
Host: stats.api.datagram.network
Authorization: <organization token>print(response.json())
```

### Responses

{% tabs %}
{% tab title="200" %}
The request was successful and uptime data was retrieved for the specified partner nodes.

**Response Body**

| Field             | Type    | Description                                   | Example           |
| ----------------- | ------- | --------------------------------------------- | ----------------- |
| **uptime**        | integer | Total uptime in Unix timestamp (ms).          | `86400000`        |
| partner\_node\_id | string  | Retrieve uptime for a single partner node ID. | `"partner_12345"` |

**Example Response**

```
{
  "data": [
    {
      "uptime": 1888888,
      "partner_node_id": "partner_12345"
    },
      {
      "uptime": 1999999,
      "partner_node_id": "partner_67890"
    }
  ]
}
```

{% endtab %}

{% tab title="400" %}
Returns if the parameters are malformed or missing, or the time range exceeds the maximum allowed.

**Response Body**

| Field     | Type    | Description               | Example              |
| --------- | ------- | ------------------------- | -------------------- |
| `message` | string  | Description of the issue. | `INVALID_PARAMETERS` |
| `status`  | integer | HTTP status code.         | `400` (Bad Request)  |

**Example Response**

```
{
  "error": {
    "message": "INVALID_PARAMETERS",
    "status": 400
  }
}
```

{% endtab %}

{% tab title="401" %}
Returned when the authorization token is missing or invalid.

**Response Body**

| Field     | Types   | Description                      | Example              |
| --------- | ------- | -------------------------------- | -------------------- |
| `message` | string  | Explanation of the auth failure. | `"UNAUTHORIZED"`     |
| `status`  | integer | HTTP status code.                | `401` (Unauthorized) |

**Example Response**

```
{
  "error": {
    "message": "UNAUTHORIZED",
    "status": 401
  }
}
```

{% endtab %}
{% endtabs %}


# Partner Detail

### Request

Retrieve detailed metadata about a specific partner's participation in the network. This endpoint provides insights into the partner’s current operational status, including the number of active nodes, connection duration, amount of data shared, and total earnings. It is typically used to monitor partner engagement and performance across the network.

### Endpoint

```
GET /api/v1/partner/detail
```

### URL:

```
https://stats.api.datagram.network/api/v1/partner/detail
```

### Query Parameters

| Parameters            | Type   | Required | Description                              | Example                |
| --------------------- | ------ | -------- | ---------------------------------------- | ---------------------- |
| **secret**            | string | ✅ Yes    | Unique secret token identifying partner. | `"pt_sec_abc123XYZ!*"` |
| **partner\_node\_id** | string | ✅ Yes    | External ID of the partner node.         | `"partner_12345"`      |

### Authentication

Add the organization token in the `Authorization` header:

* Example: `Authorization: <token, optional>`.

**Example Request**

```
GET /api/v1/partner/detail?secret=<partner-secret>&partner_node_id=dg-node-1 HTTP/1.1
Host: stats.api.datagram.network
Authorization: <organization token>
```

### Responses

{% tabs %}
{% tab title="200" %}
The request was successful. The server returns a structured JSON object containing metadata about the partner’s current status in the network.

| Field                  | Type    | Description                                       | Example           |
| ---------------------- | ------- | ------------------------------------------------- | ----------------- |
| **connection\_status** | string  | Connection status ("connected" or "disconnected") | `"connected"`     |
| total\_uptime          | integer | Total uptime in Unix timestamp (ms).              | `99999`           |
| partner\_node\_id      | string  | Identifier of the external partner node.          | "`partner_12345"` |

**Example:**

```
{
  "data": {
    "connection_status": "connected",
    "total_uptime": 99999,
    "partner_node_id": "partner_12345"
  }
}
```

{% endtab %}

{% tab title="400" %}
Returns if the parameters are malformed or missing, or the time range exceeds the maximum allowed.

**Response Body**

| Field     | Type    | Description               | Example              |
| --------- | ------- | ------------------------- | -------------------- |
| `message` | string  | Description of the issue. | `INVALID_PARAMETERS` |
| `status`  | integer | HTTP status code.         | `400` (Bad Request)  |

**Example Response**

```
{
  "error": {
    "message": "INVALID_PARAMETERS",
    "status": 400
  }
}
```

{% endtab %}

{% tab title="401" %}
Returned when the authorization token is missing or invalid.

**Response Body**

| Field     | Types   | Description                      | Example              |
| --------- | ------- | -------------------------------- | -------------------- |
| `message` | string  | Explanation of the auth failure. | `"UNAUTHORIZED"`     |
| `status`  | integer | HTTP status code.                | `401` (Unauthorized) |

**Example Response**

```
{
  "error": {
    "message": "UNAUTHORIZED",
    "status": 401
  }
}
```

{% endtab %}
{% endtabs %}


# Partner Details

### Request

Retrieve detailed metadata about a specific partner's participation in the network. This endpoint provides insights into the partner’s current operational status. It is typically used to monitor partner engagement and performance across the network.

### Endpoint

```
GET /api/v1/partner/details
```

### URL:

```
https://stats.api.datagram.network/api/v1/partner/details
```

### Query Parameters

| Parameters               | Type   | Required | Description                                | Example                |
| ------------------------ | ------ | -------- | ------------------------------------------ | ---------------------- |
| **secret**               | string | ✅ Yes    | Unique secret token identifying partner.   | `"pt_sec_abc123XYZ!*"` |
| **partner\_node\_id\[]** | string | ✅ Yes    | External ID of the multiple partner nodes. | `"partner_12345"`      |

### Authentication

Add the organization token in the `Authorization` header:

* Example: `Authorization: <token, optional>`.

**Example Request**

```
GET /api/v1/partner/details?secret=<partner-secret>&partner_node_id[]=dg-node-1&partner_node_id[]=dg-node-2 HTTP/1.1
Host: stats.api.datagram.network
Authorization: <organization token>
```

### Responses

{% tabs %}
{% tab title="200" %}
The request was successful. The server returns a structured JSON object containing metadata about the partner’s current status in the network.

| Field              | Type    | Description                                       | Example           |
| ------------------ | ------- | ------------------------------------------------- | ----------------- |
| connection\_status | string  | Connection status ("connected" or "disconnected") | `"connected"`     |
| total\_uptime      | integer | Total uptime in Unix timestamp (ms).              | `99999`           |
| partner\_node\_id  | string  | Identifier of the external partner node.          | "`partner_12345"` |

**Example:**

```
{
  "data": [
    {
      "connection_status": "connected",
      "total_uptime": 99999,
      "partner_node_id": "dg-node-1"
    },
    {
      "connection_status": "disconnected",
      "total_uptime": 99998,
      "partner_node_id": "dg-node-2"
    }
  ]
}
```

{% endtab %}

{% tab title="400" %}
Returns if the parameters are malformed or missing, or the time range exceeds the maximum allowed.

**Response Body**

| Field     | Type    | Description               | Example              |
| --------- | ------- | ------------------------- | -------------------- |
| `message` | string  | Description of the issue. | `INVALID_PARAMETERS` |
| `status`  | integer | HTTP status code.         | `400` (Bad Request)  |

**Example Response**

```
{
  "error": {
    "message": "INVALID_PARAMETERS",
    "status": 400
  }
}
```

{% endtab %}

{% tab title="401" %}
Returned when the authorization token is missing or invalid.

**Response Body**

| Field     | Types   | Description                      | Example              |
| --------- | ------- | -------------------------------- | -------------------- |
| `message` | string  | Explanation of the auth failure. | `"UNAUTHORIZED"`     |
| `status`  | integer | HTTP status code.                | `401` (Unauthorized) |

**Example Response**

```
{
  "error": {
    "message": "UNAUTHORIZED",
    "status": 401
  }
}
```

{% endtab %}
{% endtabs %}


# Partner Nodes

### Request

Retrieve a paginated list of all nodes registered by a specific partner. This endpoint returns detailed metadata for each node, including IP address, uptime duration, total data shared, and earnings contribution. It is typically used for partner-level monitoring, diagnostics, or earnings breakdown across individual nodes.

### Endpoint

```
GET /api/v1/partner/nodes
```

### **URL:**&#x20;

```
https://stats.api.datagram.network/api/v1/partner/nodes
```

### Query Parameters

| Parameter             | Type   | Required | Description                              | Example                 |
| --------------------- | ------ | -------- | ---------------------------------------- | ----------------------- |
| **secret**            | string | ✅ Yes    | Unique secret token identifying partner. | `"pt_sec_abc123XYZ!*"`  |
| **partner\_node\_id** | string | ❌ No     | External ID of the partner node.         | `"partner_uk_prod_789"` |
| **after**             | string | ❌ No     | Cursor for pagination.                   | `"eyJ...30="`           |

### Authentication

```
Authorization: Bearer <organization-token>
```

**Example Request (Python)**

```
GET /api/v1/partner/detail?secret=<partner-secret> HTTP/1.1
Host: stats.api.datagram.network
Authorization: <organization token>
```

### Responses

{% tabs %}
{% tab title="200" %}
**Metadata**

| Field            | Type    | Description                        | Example                            |
| ---------------- | ------- | ---------------------------------- | ---------------------------------- |
| **after**        | string  | Cursor for next page of results.   | `"q1w2e3r4t5...z0"` (opaque token) |
| **total\_count** | integer | Total number of entries available. | `142`                              |

**Entry Fields**

| Field                  | Type    | Description                            | Example                  |
| ---------------------- | ------- | -------------------------------------- | ------------------------ |
| **ip**                 | string  | IP address of the node.                | `"203.0.113.42"`         |
| **external\_id**       | string  | External ID of the node.               | `"ext_node_uk_prod_789"` |
| **time\_connected**    | integer | Uptime in milliseconds.                | `86400000` (24 hours)    |
| **unit\_shared**       | string  | Shared data units.                     | `"223"`                  |
| **usd\_earned**        | string  | Total earned amount in USD.            | `"1482.75"`              |
| **public\_id**         | string  | Public identifier of the node.         | `"node_WX-5B3-2024"`     |
| **public\_name**       | string  | Display the name of the node.          | `"London Backup Node"`   |
| **connection\_status** | string  | Connection status (e.g., "connected"). | `"connected"`            |

**Example:**

```
{
  "data": {
    "metadata": {
      "after": null,
      "total_count": 1
    },
    "entries": [
      {
        "ip": "192.158.226.25",
        "external_id": "external_id",
        "time_connected": 5971237,
        "unit_shared": "223",
        "usd_earned": "9.9",
        "public_id": "DTsXQgia6JistxIzbUVZrcWZokVIcZp/379qcP5MmSQ=",
        "public_name": "Moaning-Katheryn-541",
        "connection_status": "connected"
      }
    ]
  }
}
```

{% endtab %}

{% tab title="400" %}
Returns if the parameters are malformed or missing, or the time range exceeds the maximum allowed.

**Response Body**

| Field     | Type    | Description               | Example              |
| --------- | ------- | ------------------------- | -------------------- |
| `message` | string  | Description of the issue. | `INVALID_PARAMETERS` |
| `status`  | integer | HTTP status code.         | `400`                |

**Example Response**

```
{
  "error": {
    "message": "INVALID_PARAMETERS",
    "status": 400
  }
}
```

<br>
{% endtab %}

{% tab title="401" %}
Returned when the authorization token is missing or invalid.

**Response Body**

| Field     | Types   | Description                      | Example            |
| --------- | ------- | -------------------------------- | ------------------ |
| `message` | string  | Explanation of the auth failure. | `""UNAUTHORIZED""` |
| `status`  | integer | HTTP status code.                | `401`              |

**Example Response**

```
{
  "error": {
    "message": "UNAUTHORIZED",
    "status": 401
  }
}
```

{% endtab %}
{% endtabs %}


# Network Intel API

### Overview

The Datagram Network Intel API provides access to language models through a chat completions endpoint. This API allows you to interact with various AI models in a conversational format.

**Base URL:** `https://intel.api.datagram.network`

### Authentication

All API requests require authentication using an API key passed in the Authorization header.

**Authorization:**`Bearer YOUR_API_KEY`

### Chat Completions

**Endpoint**

```
POST /api/v1/chat/completions
```

**URL**

```
https://intel.api.datagram.network/api/v1/chat/completions
```

Creates a chat completion response for the given conversation.

**Headers**

| Header                 | Required | Description                         | Example                           |
| ---------------------- | -------- | ----------------------------------- | --------------------------------- |
| **Authorization**      | Yes      | Bearer token for API authentication | `Bearer sk_live_abc123...xyz456`  |
| **Content-Type**       | Yes      | Must be application/json            | `application/json; charset=utf-8` |
| **sec-ch-ua-platform** | No       | Client platform information         | `"Windows"`                       |

**Request Body**

| Parameter    | Type    | Required | Description                                              | Example                                                      |
| ------------ | ------- | -------- | -------------------------------------------------------- | ------------------------------------------------------------ |
| **model**    | string  | Yes      | ID of the model to use (e.g., "llama3.2:1b")             | `"llama3.2:1b"`                                              |
| **messages** | array   | Yes      | Array of message objects representing the conversation   | `[{"role": "user", "content": "Explain quantum computing"}]` |
| **stream**   | boolean | No       | Whether to stream back partial progress (default: false) | true                                                         |

**Message Object**

| Parameter   | Type   | Required | Description                                              | Example                                           |
| ----------- | ------ | -------- | -------------------------------------------------------- | ------------------------------------------------- |
| **role**    | string | Yes      | The role of the message author (system, user, assistant) | `"user"`                                          |
| **content** | array  | Yes      | Array of content objects containing the message text     | `[{"type": "text", "text": "Explain AI safety"}]` |

**Content Object**

<table><thead><tr><th width="97">Parameter</th><th width="90">Type</th><th>Required</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td><strong>type</strong></td><td>string</td><td>Yes</td><td>Type of content (e.g., "text")</td><td><code>"text"</code></td></tr><tr><td><strong>text</strong></td><td>string</td><td>Yes</td><td>The actual text content</td><td><code>"Explain quantum entanglement"</code></td></tr></tbody></table>

### Examples

#### Basic Chat Completion

```
curl 'https://intel.api.datagram.network/api/v1/chat/completions' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "model": "llama3.2:1b",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "What is the capital of France?"
          }
        ]
      }
    ],
    "stream": false
  }'
```

#### Chat with System Message

```
curl 'https://intel.api.datagram.network/api/v1/chat/completions' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "model": "llama3.2:1b",
    "messages": [
      {
        "role": "system",
        "content": [
          {
            "type": "text",
            "text": "You are a helpful assistant that speaks like a pirate."
          }
        ]
      },
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "Tell me about the weather"
          }
        ]
      }
    ],
    "stream": false
  }'
```

#### Streaming Response

```
curl 'https://intel.api.datagram.network/api/v1/chat/completions' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "model": "llama3.2:1b",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "Write a short story about a robot"
          }
        ]
      }
    ],
    "stream": true
  }'
```

#### Multi-turn Conversation

```
curl 'https://intel.api.datagram.network/api/v1/chat/completions' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "model": "llama3.2:1b",
    "messages": [
      {
        "role": "system",
        "content": [
          {
            "type": "text",
            "text": "You are a helpful coding assistant."
          }
        ]
      },
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "How do I create a Python function?"
          }
        ]
      },
      {
        "role": "assistant",
        "content": [
          {
            "type": "text",
            "text": "To create a Python function, use the def keyword followed by the function name and parameters in parentheses."
          }
        ]
      },
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "Can you show me an example?"
          }
        ]
      }
    ],
    "stream": false
  }'
```

### Response Format

#### Non-streaming Response

```
{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "llama3.2:1b",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "The capital of France is Paris."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 12,
    "total_tokens": 21
  }
}
```

#### Streaming Response

When stream: true is set, the server sends data in Server-Sent Events (SSE) format:

```
data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"llama3.2:1b","choices":[{"index":0,"delta":{"role":"assistant","content":"The"},"finish_reason":null}]}

data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"llama3.2:1b","choices":[{"index":0,"delta":{"content":" capital"},"finish_reason":null}]}

data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"llama3.2:1b","choices":[{"index":0,"delta":{"content":" of"},"finish_reason":null}]}

data: [DONE]
```

### Available Models

Based on the example, the following model is available:

* `llama3.2:1b` - Llama 3.2 1B parameter model

Note: Contact the API provider for a complete list of available models.

### Error Handling

The API returns standard HTTP status codes:

* `200` - Success
* `400` - Bad Request (invalid parameters)
* `401` - Unauthorized (invalid API key)
* `429` - Rate Limit Exceeded
* `500` - Internal Server Error

#### Example Error Response

```
{
  "error": {
    "message": "Invalid API key provided",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}
```

### Rate Limits

Rate limits may apply depending on your API plan. Check the response headers for rate limit info:

* `X-RateLimit-Limit` - Max requests per time window
* `X-RateLimit-Remaining` - Remaining requests in current window
* `X-RateLimit-Reset` - Time when limit resets

### Best Practices

1. **Include System Messages**: Use them to define assistant behavior.
2. **Handle Streaming**: Implement proper error handling.
3. **Token Management**: Monitor usage.
4. **Conversation Context:** Maintain full message history.
5. **Error Handling:** Gracefully handle failures.


# Video Conferencing

Datagram’s video conferencing feature provides a fully decentralized way to host and join video meetings without using traditional servers. It includes powerful capabilities like video and voice sharing, chat, screen sharing, guest invitations, live streaming, and more.

Everything is available by default and works across supported platforms like web browsers and Apple devices, making it easy to connect and collaborate securely.

Let’s get started. 🚀

### Key Features

With Datagram's SDK, your app can support the following video conferencing features:

{% hint style="warning" %}
All features listed above are enabled by default. More custom configuration options will be available soon.
{% endhint %}

**1. Camera and Microphone:** Use your camera and mic to share your video and voice with others in the conference.

**2. Speaker Control:** Turn the speaker on or off as needed during the meeting.

**3. Invite Guests:** Share a link or QR code to invite others to join the conference.

**4. Meeting Chat:** Send messages, images, documents, and other files in the group chat.

**5. Private Chat:** Send direct messages privately to any participant during the meeting.

**6. Participant List:** View a list of everyone who has joined the conference.

**7. Host Controls:** As a host or moderator, you can:

* Turn guests’ cameras or microphones on/off
* Remove participants
* Pin specific guests on screen

**8. Screen Sharing & Whiteboard:** Share your desktop screen and use a digital whiteboard for collaboration.

**9. Customization Options:** Add scrolling text banners, virtual backgrounds, custom conference backdrops, and name badges.

10\. Waiting Room & Lock Room

* Use the waiting room to control who joins the meeting
* Lock the room to prevent new participants from entering

**11. Multicast to Social Media:** Stream your conference live to platforms like Facebook, Twitter, YouTube, and Twitch.

**12. View Options:** Use picture-in-picture mode or switch to full screen for a better viewing experience.

## Getting Started

Follow these steps to install, build, and prepare your project using the Datagram SDK.

### 1. Install the Datagram Video Conferencing SDK

To get started with the Datagram SDK, you can[ install](https://www.npmjs.com/package/@datagram-network/conference-sdk) the package using npm or pnpm, depending on your development setup.

#### Install via npm or pnpm:

```
npm i @datagram-network/conference-sdk
```

#### Install via pnpm:

```
pnpm install
```

### 2. Build Your Project

After installation, build your project to ensure everything compiles correctly:

```
pnpm build
```

### 3. Run Code Quality Checks

Use these commands to check your code for formatting and linting issues:

```
pnpm lint
pnpm prettier
```

### 4. Fix Lint and Formatting Issues (Optional)

You can auto-fix any formatting or linting problems using

```
pnpm lint:fix
pnpm prettier:fix
```

### 5. Prepare for Release

To finalize and prepare your project for production release.

```
pnpm release
```

### 6. Get Your API Key

To begin making authenticated requests to the Datagram API, you need a Project API Key. For more information on how to get your API key, refer to the documentation on [Get an API Key](/apis/get-an-api-key).

Once you have your key, include it in your API requests like this:

```
Authorization: <project_api_key>
```

This is used for authenticated access to endpoints like

```
/project/api/v1
```

{% hint style="warning" %}
**Join Datagram**\
\
If you’re not already using Datagram, download the desktop app for rewards and [start earning today.](https://demo.datagram.network/)
{% endhint %}


# Web (external)

The Conference class allows you to embed a conferencing iframe into your web application. It requires a Client instance and supports customizable options for microphone, camera, and other settings. This guide explains how to integrate the Conference class from the `datagram-network/conference-sdk` into your project to enable video conferencing features.

### Class: Conference

#### Constructor

```
constructor(client: Client | null, options: IConferenceOptions = {})
```

* **client:** This is an instance of the Client class that connects you to the Datagram network.
* **options:** These are optional settings you can use to customize the conference.

### 1. Types

#### IConferenceOptions

```
type IConferenceOptions = {
  metadata?: {
    title?: string;   // You can set a title for the conference (optional)
  };
  skipMediaSettings?: boolean; // If true, it skips asking for microphone/camera permissions at the start
  turnOnMic?: boolean;         // Automatically turns on microphone if true
  turnOnCam?: boolean;         // Automatically turns on camera if true
  authorization?: string;      // Your authorization token for accessing the conference
};
```

### 2. Methods

```
mount(selector: string | HTMLElement): Promise<void>
```

Mounts the conference iframe into the specified DOM element.

* **selector:** A CSS selector (e.g., #datagram-frame) or an HTMLElement.
* **Returns:** A Promise that resolves when the iframe is mounted.

```
dispose(): void
```

Cleans up all components created by the mount method, removing the iframe and associated resources.

### 3. Events

The **Conference** class emits the following events via the browser’s **message** event listener:

* **call\_ended:** Triggered when the user clicks the "**End Call**" button.
* **invalid\_qr\_code:** Fired if an incorrect or expired alias is provided, redirecting to an invalid code screen.
* **conference-ready:** Indicates the iframe’s source has loaded. Possible screens: **media\_testing**, **conference**, **invalid**, **call\_ended**, or **not\_supported**.
* **call-ready:** Fired when the conference screen is active (occurs after **conference-ready**).

{% hint style="warning" %}
**Tip:** Use an event listener to handle these events (see example below).
{% endhint %}

### 4. Getting Started Example

Here is a basic example of how to create a client and conference, and then mount it on the page:

```
import { Client, Conference, type IConferenceOptions } from "@datagram-network/conference-sdk";

let client: Client;
let conference: Conference;

const options: IConferenceOptions = {
  skipMediaSettings: false,
  turnOnCam: false,
  turnOnMic: false,
  authorization: "your_token_here",
};

// Create client instance
client = Client.create({
  alias: "77am5",
  origin: "http://localhost:8080",
});

// Create conference instance with client and options
conference = new Conference(client, options);

// Mount conference iframe inside the element with id "conference-root"
conference.mount(document.getElementById("conference-root"));


```

### 5. Vue.js Example

This example demonstrates how to integrate the Conference class into a Vue 3 application using TypeScript and the Composition API.

#### Template

```
div
  button.p-2.border.rounded-full.bg-blue-500.text-white.p-4.min-w-32(@click='startRoom()' :class='{ "disabled:opacity-50": isLoading }')
    span(v-show='!isLoading') Start room
    .loader(v-show='isLoading')
  div#datagram-frame.w-full.bg-black(ref='root' :class='[{ "fixed z-[10] block inset-0" : iframeMounted }]' v-show='iframeMounted')
```

#### Script

```
<script setup lang="ts">
import { useEventListener } from "@vueuse/core";
import { Client, Conference, type IConferenceOptions } from "@datagram-network/conference-sdk";
import { ref } from "vue";

const root = ref<HTMLElement>();
const iframeMounted = ref(false);
const isLoading = ref(false);

let client: Client;
let conference: Conference;

const options: IConferenceOptions = {
  skipMediaSettings: false,
  turnOnCam: false,
  turnOnMic: false,
  authorization: "your_token",
};

useEventListener("message", async (event) => {
  switch (event.data) {
    case "call_ended":
    case "invalid_qr_code":
      iframeMounted.value = false;
      conference?.dispose();
      break;
    case "conference-ready":
    case "call-ready":
      isLoading.value = false;
      iframeMounted.value = true;
      break;
  }
});

async function startRoom() {
  client = Client.create({
    alias: "77am5",
    origin: "http://localhost:8080",
  });
  isLoading.value = true;
  conference = new Conference(client, options);
  await conference.mount(root.value as HTMLElement);
}
</script>
```

#### Styles

```
#datagram-frame
  height 100vh
  @media mobile
    height 100dvh

.loader {
  width: 24px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 4px solid #fff;
  animation:
    l20-1 0.8s infinite linear alternate,
    l20-2 1.6s infinite linear;
}

@keyframes l20-1 {
  0%    {clip-path: polygon(50% 50%,0 0, 50% 0, 50% 0, 50% 0, 50% 0, 50% 0);}
  12.5% {clip-path: polygon(50% 50%,0 0, 50% 0, 100% 0, 100% 0, 100% 0, 100% 0);}
  25%   {clip-path: polygon(50% 50%,0 0, 50% 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);}
  50%   {clip-path: polygon(50% 50%,0 0, 50% 0, 100% 0, 100% 100%, 50% 100%, 0 100%);}
  62.5% {clip-path: polygon(50% 50%,100% 0, 100% 0, 100% 0, 100% 100%, 50% 100%, 0 100%);}
  75%   {clip-path: polygon(50% 50%,100% 100%, 100% 100%, 100% 100%, 100% 100%, 50% 100%, 0 100%);}
  100%  {clip-path: polygon(50% 50%,50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 0 100%);}
}

@keyframes l20-2 {
  0%    {transform: scaleY(1) rotate(0deg);}
  49.99% {transform: scaleY(1) rotate(135deg);}
  50%   {transform: scaleY(-1) rotate(0deg);}
  100%  {transform: scaleY(-1) rotate(-135deg);}
}
```


# iOS (external)

The **DatagramConferenceFramework** is an iOS SDK that allows you to integrate conference functionality into your app. It supports retrieving conference information and joining conferences using either a URL or an alias, with built-in GUI support.

## Installation Guide

**Step 1:** Navigate to the[ Datagram Conference SDK GitHub repository](https://github.com/Datagram-Group/datagram_conference_framework_ios) and download the entire repository.

<figure><img src="/files/SrkC0MxvRsB5zFO9XKPc" alt=""><figcaption></figcaption></figure>

**Step 2:** Inside the downloaded files, open the **`lib`** folder. Copy the file `DatagramConferenceFramework.framework` into your Xcode project directory.

<figure><img src="/files/kt9ZIaXo9lswGmtAFRLC" alt=""><figcaption></figcaption></figure>

**Step 3:** Open your project in **Xcode**.

**Step 4: I**n **Build Settings**, search for `Framework Search Paths` and add the path to the folder where the framework is located.

<figure><img src="/files/BjlNJoN9BoOoCXDoEu4V" alt=""><figcaption></figcaption></figure>

**Step 5:** Go to the **General** tab of your project settings. Under **Frameworks, Libraries, and Embedded Content**, change the embed option for the framework to **"Embed & Sign".**

<figure><img src="/files/AcyynoQHarpSmIZyAvQX" alt=""><figcaption></figcaption></figure>

**Step 6:** Open your app's `Info.plist`file and add **camera** and **microphone** usage descriptions. These are required—if they’re missing, your app will crash when accessing **audio/video**.

<figure><img src="/files/1K04IVX8yO3SaLAXqJEO" alt=""><figcaption></figcaption></figure>

**Step 7:** To allow conference calls to continue while the app is in the background, enable background modes:

* Go to the **Signing & Capabilities** tab.
* Add **Background Modes**.
* Enable the **Voice over IP** option.

<figure><img src="/files/QCcaO2vQzN91i7FvpXgM" alt=""><figcaption></figcaption></figure>

## Usage

### Import the Framework

Add this line at the top of your Swift file:

```
import DatagramConferenceFramework
```

### Load Conference Info

Use the following method to fetch conference details using a URL or an alias:

#### Objective-C Signature:

```
+ (void)getConferenceInfo:(NSString *_Nullable)url
                    Alias:(NSString *_Nullable)alias
              completion:(void(^)(NSDictionary<NSString *,id> * _Nullable result))resultBlock;

```

**What It Does:**

* Retrieves details about a conference using either its **URL** or **alias**.
* If valid, the result will contain
  * **name**: name of the conference
  * **alias**: same as input
  * **expiredAt**: timestamp when the conference expires
* If there's an error, the **error** key will indicate either **"InvalidUrl"** or **"NotFound."**

#### Swift Example:

```
ConferenceSDK.getConferenceInfo(nil, alias: alias) { [weak self] result in
    guard let self = self else { return }

    if let validResult = result {
        NSLog("validResult = %@", validResult)

        if let aliasText = alias, text.count > aliasText.count, qrcodeDict.count < 3 {
            self.joinLinkTextField.text = alias
            self.joinLinkPrefixLabel.text = JoinLinkPrefixText
            self.layoutPrefixView()
        }

        if let resultAlias = validResult["alias"] as? String, !resultAlias.isEmpty {
            self.showAliasDetail(info: validResult)
        } else {
            let notFoundError = "Event not found. Please try again"
            self.showLinkError(errorString: notFoundError)
        }
    }
}
```

### Join Conference (with built-in GUI)

Use this method to join a conference via alias or URL:

#### Objective-C Signature:

```
+ (void)joinConference:(NSString *_Nullable)url
                Alias:(NSString *_Nullable)alias
                  Name:(NSString *_Nullable)name
            completion:(void(^)(NSDictionary<NSString *,id> * _Nullable result))resultBlock;
```

What It Does:

* Joins a conference using the given **URL** or **alias**.
* On success, no result is returned.
* On failure, **the result** will contain an **"error"** key with either **"InvalidUrl"** or **"NotFound."**

#### Swift Example:

```
if resultAlias != nil {
    ConferenceSDK.joinConference(nil, alias: resultAlias, name: "SDK-Demo") { joinResult in
        // Handle result if needed
    }
}
```


# CLI (Command Line Interface)

### 1. Install & Update

#### Important Notes

* You **cannot run multiple instances** of the Datagram CLI on the same machine simultaneously (e.g., Linux CLI and Windows GUI together). Doing so may cause unexpected errors.
* Always ensure you are running the [latest version](https://github.com/Datagram-Group/datagram-cli-release/releases) of the CLI.

### 2. Download the Latest Version

You can download the latest Datagram CLI binary from the official releases page:

```
https://github.com/Datagram-Group/datagram-cli-release/releases/latest/download/datagram-cli-<target-platform>
```

**Replace \<target-platform> with your specific OS and architecture.**\
Currently supported values include

* aarch64-apple-darwin – for Apple Silicon (M-series Macs)
* x86\_64-apple-darwin – for Intel-based Macs
* x86\_64-linux – for Linux systems

**Example commands for Linux/macOS:**

```
wget https://github.com/Datagram-Group/datagram-cli-release/releases/latest/download/datagram-cli-x86_64-linux
chmod +x ./datagram-cli-x86_64-linux
```

#### License Requirement

During the Alpha Testnet, a free Full Core Node License is automatically provided to every newly created account.\
\
For more details, see the [Alpha Testnet Info](/alpha-testnet/what-is-alpha-testnet).

#### Run the Datagram CLI with License Key

Run the CLI with your full core license key as follows:

```
./datagram-cli-<target-platform> run -- -key <fullcore-license-key>
```

Replace **\<fullcore-license-key>** with your actual license string.

### 4. Running a Partner Core Node

#### 1. Request a Partner License

Get your partner license from the Datagram License Portal. Partner licenses support running multiple nodes under one license and distributing rewards to the license owner.

Follow the steps below to request a Partner License:

**Step 1:** Navigate to the [Datagram website](https://demo.datagram.network/) and log in to your account.

**Step 2:** Navigate to the **“Wallet”** section from the left sidebar, then click on the **“Licenses”** tab at the top of the screen.

<figure><img src="/files/ZTDrkgu0veWKn04KAfcY" alt=""><figcaption></figcaption></figure>

**Step 3:** Click the **Request partner license** button located in the upper-right corner of the screen.

<figure><img src="/files/iwDzaG1vpimq7zNVUe0b" alt=""><figcaption></figcaption></figure>

**Step 4:** In the pop-up window titled **"Request Partner Core License,"** enter the **Project Name** (e.g., NodeSync) and click the **Confirm** button.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd2edzoYkgVDQti7oEr_4CU8KQH-h3ZwJPGQFPnxCClpHgX6ayLoHebsPZctiZp7jaZiQvSSWVD2dRCcENljdaDCtt1QAw4HB8F4dV7ol8tGc_ZJlugCNl5y6H2ERLhtz78IgNCaw?key=MilIq1SGbhZM3vtjOuu6rQ" alt=""><figcaption></figcaption></figure>

**Step 5:** Once submitted, your license request will appear in the Licenses table with the status marked as **"Requested."**

<figure><img src="/files/YQL5pzGsXP8R9YB87OF7" alt=""><figcaption></figcaption></figure>

#### 2. Partner Key Format

The partner key uses a multi-key format with key-value pairs:

```
/key_1/value_1/key_2/value_2/...
```

Key parameters include:

* **secret (required):** Partner license string.
* **id (required):** External ID for tracking within your system.
* **address (required):** Reward recipient address; defaults to the license owner's address if not provided.

#### 3. Run the CLI with Partner License

Example command:

```
./datagram-cli-<target-platform> run -- -key /secret/<partner-license>/id/<external-id>/address/<reward-address>
```

Replace placeholders with your actual values.

### 5. Running Datagram CLI with Docker

#### Docker Setup Overview

You can run the Datagram node inside a Docker container using the provided Dockerfile `entrypoint.sh` and  `run.sh` scripts.

#### Dockerfile

```
FROM ubuntu:20.04 AS base

RUN apt-get update && \
  apt-get install -y wget

# Install Datagram CLI
RUN wget https://github.com/Datagram-Group/datagram-cli-release/releases/latest/download/datagram-cli-x86_64-linux && \
  chmod +x ./datagram-cli-x86_64-linux && \
  mv datagram-cli-x86_64-linux /usr/bin/datagram

COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh

ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
```

#### Entrypoint Script (`entrypoint.sh`)

```
#!/bin/bash

# Check if DATAGRAM_KEY environment variable is set
if [ -z "$DATAGRAM_KEY" ]; then
  echo "Error: DATAGRAM_KEY environment variable is not set." >&2
  exit 1Datagram Node CLI Usage Guide
fi

# Run datagram with the provided key
datagram run -- -key "$DATAGRAM_KEY"
```

#### Run Script (`run.sh`)

```
#!/bin/sh

# Example environment variable exports:
# For full core license:
# export DATAGRAM_KEY=fullcore-license-key
# For partner license:
# export DATAGRAM_KEY=/secret/here-is-partner-license/id/here-is-external-id

export DATAGRAM_KEY=/secret/here-is-partner-license/id/here-is-external-id/address/0x00abc

docker build --platform linux/amd64 -t datagram .

docker run \
  --platform linux/amd64 \
  --env DATAGRAM_KEY=$DATAGRAM_KEY \
  --rm -it \
  datagram
```

### 6. Uninstalling

Since this is a CLI binary or Docker container, uninstalling typically involves removing the binary file or stopping/removing the container. If you used manual installation steps, simply delete the binary file:

```
rm ./datagram-cli-<target-platform>
```

For Docker, remove images and containers as usual.

### 7. Updating the CLI

To update, download the latest release from the releases page and replace your existing binary. If using Docker, rebuild the Docker image using the latest `Dockerfile` and `run.sh`.

### 8. Additional Notes

* Always verify your license key and environment variables before starting the node.
* For partner nodes, ensure your external ID and reward address are correctly set.
* Docker usage allows easier environment isolation and management, but requires Docker to be installed and configured.


# Register Node ID

### Request

This endpoint registers an external ID to the Node ID whitelist. It supports requests using the following identifiers: `secret` and `id`.

**Endpoint:**

```
GET /api/v1/node/register
```

**URL:**

```
https://license.api.datagram.network
```

### Request Parameters

<table><thead><tr><th width="162.296875">Parameter</th><th width="90">Type</th><th width="108.265625">Required</th><th>Description </th><th width="203.9375">Example </th></tr></thead><tbody><tr><td>secret</td><td>string</td><td>✅ Yes</td><td>Unique secret token identifying partner.</td><td><code>"pt_sec_abc123XYZ*"</code></td></tr><tr><td><strong>id</strong></td><td>string</td><td>✅ Yes</td><td>Unique identifier of the external partner node.</td><td><code>"partner_98765zyxw"</code></td></tr></tbody></table>

{% hint style="warning" %}
You must provide both `secret` and `id` identifiers.
{% endhint %}

### Authentication

Use a valid organization token in the request header.

```
Authorization: Bearer <organization-token>
```

#### Example Request

```
POST /api/v1/node/register HTTP/1.1
Host: license.api.datagram.network
Authorization: <organization-token>
Content-Type: application/json

{
  "id": "external_id",
  "secret": "partner_secret_key"
}
```

### Responses

{% tabs %}
{% tab title="200 " %}
When the request is valid and successful, the API returns the boolean (true or false).

**Example Response**

```
{
  "data": true
}
```

{% endtab %}

{% tab title="400" %}
Returned when required parameters are missing or invalid or the time range exceeds 7 days.

**Response Body**

| Field       | Type    | Description               | Example              |
| ----------- | ------- | ------------------------- | -------------------- |
| **message** | string  | Description of the issue. | `INVALID_PARAMETERS` |
| **status**  | integer | HTTP status code.         | `400`                |

**Example Response**

```
{
  "error": {
    "message": "INVALID_PARAMETERS",
    "status": 400
  }
}
```

{% endtab %}

{% tab title="401" %}

Returned when the authorization token is missing or invalid.

**Response Body**

| Field       | Types   | Description                      | Example          |
| ----------- | ------- | -------------------------------- | ---------------- |
| **message** | string  | Explanation of the auth failure. | `"UNAUTHORIZED"` |
| **status**  | integer | HTTP status code.                | `401`            |

**Example Response**

```
{
  "error": {
    "message": "UNAUTHORIZED",
    "status": 401
  }
}
```

{% endtab %}
{% endtabs %}


# Node License Details


# Desktop (Full Core License required)

The Full Core License is required to operate a Datagram desktop node and participate fully in the earning structure of the Datagram Network. This license is ideal for users who want to earn from both node uptime and resource-sharing activities. It offers maximum earning potential within the system.

### License Activation & Duration

The Full Core License must be purchased after the testnet phase via an official Datagram node sale. Once purchased:

* The license is locked in your Datagram account wallet for **365 days**.
* After the lock-in period, it becomes **transferable**.

### Reward Eligibility

Holders of the Full Core License are eligible to earn from **50% of daily DGRAM emissions**, divided into

* **80% allocated to uptime rewards**
* **20% allocated to resource sharing rewards**

This means a Full Core node can earn rewards for both being online and actively sharing network resources.

### Uptime Reward Calculation

Uptime rewards are based on how long your node stays connected compared to total network uptime. The formula is:

{% hint style="warning" %}
(Your Node Uptime / Total Network Uptime) × 80% × 0.0625% of daily DGRAM emissions
{% endhint %}

This rewards users for consistently keeping their node online and contributing to network stability.

### Resource Sharing Rewards

The remaining **20% of the 0.0625%** of daily emissions is used for rewarding resource sharing:

* Datagram will calculate the value of shared services like **UDP**, **AI**, **TCP**, etc.
* That value will be swapped into DGRAM tokens and distributed to node operators accordingly.

If the shared rewards exceed the available daily allocation, the difference is covered using a **Special Rewards Pool**.

### Special Rewards Pool

Any unused resource-sharing rewards are transferred into a reserve pool. This pool is used when future daily emissions are not enough to cover the total rewards with Full Core License holders.


# Partner Substrate (Partner Core License required)

The Partner Core License is designed for approved partners who want to deploy and operate Datagram substrate nodes (DCS) within their ecosystem. This license provides flexibility in scaling infrastructure and distributing rewards and is ideal for teams, ecosystems, and organizations managing large node deployments.

### License Access

The Partner Core License is currently **free**, but it requires **approval from the Datagram team**. Once approved, the license holder can:

* Set up and operate **unlimited substrate nodes**
* Customize how rewards are distributed across their network

### Reward Eligibility

Unlike Full Core License holders, partner license holders are **only eligible for resource sharing rewards**, not uptime rewards.

They receive a portion of:

**20% of the 0.0625% of daily DGRAM emissions**

This share is based on the amount of resource sharing (UDP, AI, TCP, etc.) their nodes contribute to the network.

### Reward Distribution

Partner license holders can manage how rewards are distributed within their ecosystem. They can:

* Distribute **100% of rewards** to their node operators
* Or retain a **percentage for their organization** and pass the remaining portion to their operators

This gives partners full control over their economic model and incentive structure.

### Future Considerations

Datagram is considering allowing **uptime rewards** for Partner Core License holders in the future. This feature is not confirmed yet, but it may provide additional earning potential if approved.


# Whitepaper

The current Web2 infrastructure is plagued by three key challenges: centralization, inefficiency, and complexity. Cloud networks are monopolized by a few providers, leading to high costs, single points of failure, and limited user control. AI applications, real-time communications, and decentralized networking demand low-latency, scalable solutions, but existing infrastructure struggles with network congestion and expensive bandwidth. Meanwhile, Web3 adoption remains slow due to technical barriers and the difficulty of deploying decentralized infrastructure.

Datagram solves these issues by providing a Global Hyper Fabric Network—an AI-driven, decentralized, and&#x20;An interoperable connectivity infrastructure platform that abstracts technical complexity while delivering cost efficiency, scalability, and security.\\

Datagram serves three key customer groups:

1. **Existing DePIN Networks:** Integrate with Datagram’s infrastructure to optimize bandwidth, compute,   \
   and storage.
2. **New DePIN Projects:** Deploy scalable node networks instantly, leveraging pre-built decentralized   \
   infrastructure.
3. **Web2 & Web3 Businesses:** Access decentralized networking, compute, and storage services via   \
   API/SDK, without managing blockchain complexities.

With over 200 enterprises and 1M+ users having utilized its network, Datagram simplifies decentralized\
infrastructure, making it as seamless to integrate as traditional SaaS while bridging the gap between Web2 and Web3.

Unlike many blockchain networks that operate in isolation, Datagram enhances, rather than competes with, existing infrastructures. It serves as the universal base layer for DePIN projects, enabling seamless cross-network interoperability with Avalanche, Ethereum, Solana, Base, and beyond. Businesses and users can deploy instantly, integrate effortlessly, and monetize infrastructure without disrupting existing revenue models—all while accepting both fiat and crypto payments.

By combining enterprise-grade scalability, end-to-end privacy, and an intuitive Web2 experience, Datagram removes the barriers to Web3 adoption, making decentralized infrastructure as simple as SaaS.


# 1. Introduction & Project Overview

Datagram is a Global hyper-fabric network designed to provide the foundational infrastructure for launching scalable, decentralized physical infrastructure (DePIN) projects. Just as AWS abstracts infrastructure complexities for applications like Netflix, Datagram enables enterprises, developers, and service providers (e.g., agencies and freelancers) to deploy DePIN solutions without needing to manage a custom network. By&#x20;Leveraging a fully distributed architecture, businesses can instantly scale and inherit blockchain’s advantages. (including cost efficiency, security, and automation) while ensuring a seamless Web2-like experience for end users.\\

\
Datagram is designed to serve three equally important groups, each leveraging its infrastructure in different\
ways:

1. **Existing DePIN Networks:** Projects with existing node networks can integrate with Datagram via the   &#x20;Datagram Core Substrate DCS to enhance their compute, bandwidth, and storage capabilities. For   &#x20;example, projects focused on decentralized AI compute could leverage Datagram’s infrastructure to   &#x20;improve network efficiency through optimized workload. scaling their node operations could be done seamlessly.
2. **Future DePIN Projects:** New DePIN initiatives can deploy scalable node networks instantly, leveraging Datagram’s pre-built decentralized infrastructure. For example, a decentralized AI training network could utilize Datagram’s distributed compute resources to power large-scale machine learning models.
3. **Web2 & Web3 Businesses:** Traditional enterprises and Web3 projects can access decentralized   &#x20;networking, compute, and storage via API/SDK, without the need for blockchain expertise. For instance, a fintech company could integrate Datagram’s infrastructure to enhance real-time data processing and transaction security, while a Web3 gaming studio could leverage decentralized cloud computing to reduce server costs and improve performance for multiplayer experiences.

This has major implications, as Datagram provides the infrastructure backbone for trillion-dollar industries such as cloud computing, AI, telecommunications, and decentralized networking. By offering a scalable, cost-efficient, and decentralized alternative to traditional infrastructure, Datagram enables businesses to launch high-performance applications, optimize resource utilization, and integrate decentralized networking, eliminating the need for massive capital investment and years of infrastructure development.&#x20;

Already having supported over 200 enterprises and 1 million users, Datagram can dynamically.&#x20;allocate compute, bandwidth, and storage resources, ensuring that services remain scalable, cost-effective, and high-performance without the bottlenecks or centralization risks of traditional cloud infrastructure. Any project building with Datagram can benefit from extreme scalability, with an example being the ability to support video conference meetings for more than 10,000 participants.

On the front end, interacting with Datagram is as intuitive as using a traditional Web2 service, with all blockchain complexities abstracted away. On the backend, Datagram is a Layer 1 built as a Subnet on Avalanche but is blockchain-agnostic, meaning projects can deploy on a wide variety of EVM and non-EVM networks, such as Solana, Base, and Ethereum L2s, and still leverage the power of Datagram.

At the core of its backend infrastructure is the Hyper Network Layer, which dynamically optimizes traffic, congestion control, and scalability by coordinating compute, bandwidth, and storage resources across the&#x20;ecosystem, ensuring peak efficiency and decentralization. While the Datagram Core Substrate DCS serves as&#x20; the connectivity layer that enables DePIN projects to seamlessly integrate with Datagram.

Datagram’s specialized nodes, known as Datagram Cores, form the Fabric Network Layer, enabling seamless&#x20;, low-latency data transmission and validation within the network.\\

* **Full Cores:** Handle high-priority network traffic and contribute to security and stability.
* **Partner Cores:** Provide additional computational support and assist with load balancing, traffic routing,  &#x20;and processing tasks.

To ensure continuous network reliability, the Datagram Network Operations Center NOC actively monitors nodes' uptime and performance, enabling automated reward distribution for node operators based on their availability&#x20;and contributions. The NOC also enables networks operating Partner Cores to retrieve data regarding uptime or&#x20;usage via API to facilitate distribution on the network of their choice.

By eliminating the complexity of decentralized infrastructure, Datagram makes it simple for businesses to&#x20;integrate Web3 benefits into their existing operations while maintaining performance and user-friendliness. The&#x20;key advantages include:

* **Instant Blockchain-Agnostic Deployment:** Projects can leverage Datagram to support their DePIN.  &#x20;launches instantly across various EVM and non-EVM networks with pre-built DePIN infrastructure,  \
  inheriting decentralization’s benefits without managing complex backend logistics for uptime and usage  &#x20;tracking.
* **Seamless Web2-Like Experience:** End users interact with applications just as they would with  &#x20;traditional Web2 services, with all blockchain complexities abstracted away. Businesses can also accept  &#x20;both fiat and crypto payments.
* **High Performance & Low Latency:** The Hyper Network layer optimizes traffic routing, load balancing,  &#x20;and compute distribution, ensuring high performance across all applications.
* **Privacy & Security:** Prevents risks associated with centralized data routing by ensuring decentralized,  &#x20;end-to-end encrypted communication. Provides end-to-end encryption and decentralized data  &#x20;sovereignty, eliminating risks associated with centralized data routing.
* **Cost Efficiency:** Reduces operational expenses by up to 90% compared to centralized cloud-based  &#x20;models.

Datagram provides a universal infrastructure layer for DePIN projects via its Connectivity Layer, powered by&#x20;the DCS. This makes it effortless for businesses and service providers to launch decentralized applications and&#x20;services without the barriers traditionally associated with blockchain adoption.

For example, a cloud compute provider could deploy a decentralized AI compute network, allowing agencies and&#x20;enterprises to leverage Datagram’s distributed compute resources for AI training and inference without needing&#x20;to manage a node network themselves.


# 2. Why Blockchain?

Although Datagram serves both Web2 and Web3 businesses, its advantages over legacy systems come from its&#x20;being built using blockchain technology.

Web2 has historically relied solely on centralized systems, which have been satisfactory for traditional business functions but at the same time subject to inherent limitations that have proven difficult to address, including:

* **Single Points of Failure:** Centralized servers and databases create vulnerabilities; if they go offline, the  &#x20;entire system can become inaccessible. For example, AWS experienced a major outage in December  &#x20;2021, taking down services like Netflix, Disney+, Robinhood, and Slack.
* **Lack of Economic Alignment:** Traditional systems do not provide economic incentives for users to  &#x20;contribute resources, participate in governance, share bandwidth, or profit from the system’s success.
* **High Costs:** Centralized systems require multiple intermediaries, licensing fees, and redundant  &#x20;infrastructure to handle peak demand, leading to excessive operational overhead. Servers must also  &#x20;remain powered on at all times to accommodate potential high-load periods, resulting in unnecessary  &#x20;energy consumption and inflated costs for businesses and users.
* **Privacy, Data Ownership & Security Risks:** Users have little control over their data, which is often stored  &#x20;on centralized servers and is vulnerable to hacking, breaches, and surveillance. This data is frequently  &#x20;misused, stolen, or sold without user consent.
* **Restricted Innovation & Control:** Only the entity that owns the system can implement changes, while  &#x20;open innovation or user-driven improvements are infeasible.  &#x20;

Other limitations include censorship and deplatforming risks, geographic and jurisdictional limitations, and vendor&#x20;lock-ins. Fortunately, blockchain’s decentralized architecture addresses all of these concerns, while complex&#x20;operations can be automated through smart contracts and the entire system can be tailored to specific needs&#x20;and detailed use cases.

At a fundamental level, blockchain offers several key advantages that set it apart from traditional centralized&#x20;systems:

* &#x20;**Decentralized Consensus & Fault Tolerance:** Unlike centralized architectures, where downtime affects  &#x20;the entire system, blockchain-based networks rely on independent validators reaching consensus,  &#x20;ensuring continuity even if individual nodes fail.
* **Smart Contract Automation:** Smart contracts enforce rules transparently and immutably, reducing the  &#x20;need for external trust while enabling auditable, on-chain decision-making. For example, payments,  &#x20;resource allocation, data transmission, and more can all be automated via smart contracts.
* **Efficient Data Propagation:** Distributed architectures leverage peer-to-peer networking, reducing  &#x20;latency and improving resilience compared to centralized cloud providers that suffer from congestion  &#x20;and regional outages.
* **On-Chain Incentives:** Instead of provisioning fixed infrastructure, blockchain enables dynamic scaling  &#x20;where validators, storage providers, and bandwidth contributors are economically rewarded for their  &#x20;participation.

Datagram has integrated these principles from the ground up, building a next-generation decentralized&#x20;connectivity infrastructure that combines blockchain’s advantages with real-world scalability, interoperability,&#x20;and ease of use.

Designed by a team of industry veterans, Datagram leverages Avalanche’s high-performance Layer 1 architecture&#x20;while maintaining blockchain-agnostic interoperability across multiple networks. This ensures a robust,&#x20;distributed network where businesses retain full control over their data, benefit from censorship-resistant&#x20;infrastructure, and scale seamlessly without the inefficiencies of legacy systems.

Datagram is the ultimate solution to real-world adoption of Web3, providing enterprises, developers, and service providers&#x20;Providers with a powerful foundation to launch and scale applications effortlessly.


# 3. Datagram Architecture


# 3.1. The Datagram Node Network & Fabric Networks

Datagram operates as a highly scalable, low-latency network designed to serve as the foundational layer for&#x20;DePIN applications. While it leverages the flexibility of a dedicated Avalanche L1 for tracking uptime and usage&#x20;statistics, Datagram is not limited to a single blockchain ecosystem. Instead, it is designed to be usable to inform&#x20;distributions for any blockchain network, ensuring businesses can integrate their decentralized infrastructure&#x20;seamlessly.

The Datagram Node Network serves as the backbone of the Datagram ecosystem, providing a globally distributed&#x20;infrastructure that supports both native and external DePIN projects, enabling seamless access to decentralized&#x20;compute, bandwidth, and storage. Existing DePIN networks can integrate into Datagram to enhance their&#x20;resource efficiency, while new DePIN projects can deploy instantly without needing to build infrastructure from&#x20;scratch. Additionally, Web2 and Web3 businesses can leverage the network via API/SDK integrations to access&#x20;scalable, decentralized services without managing blockchain complexities.

Underneath it are Fabric Networks, which represent independent DePIN networks that integrate with Datagram’s&#x20;infrastructure. These networks leverage Datagram’s resources while maintaining their specialized&#x20;operations, enabling scalable and interoperable decentralized services. These are connected via the Datagram&#x20;Core Substrate (DCS), covered in Section 3.3, which acts as the connectivity layer that ensures seamless&#x20;communication, security, and efficient resource allocation across the entire network.

Datagram Cores are distributed network nodes underpinning Datagram’s Fabric Networks, handling routing,&#x20;validation, and data optimization. These Cores facilitate high-speed, reliable communication by efficiently&#x20;processing and transmitting data across the network. They also act as decentralized infrastructure elements&#x20;designed to route and manage traffic within a distributed system, boosting scalability, security, and overall&#x20;network performance. These Cores operate as decentralized Beowulf clusters, which help ensure&#x20;high-performance and fault-tolerant data pathways.

There are 5 types of Cores:

1. **Full Core:** The backbone of the Datagram network, Full Cores handle critical network functions, including   &#x20;routing and optimizing data flow. They contribute computing resources to maintain network efficiency   &#x20;and receive rewards for their role in securing and scaling the infrastructure. One must own a Core Token   &#x20;to be a Full Core.
2. **Partner Core:** Designed to provide additional computational support, Partner Cores assist with load   \
   balancing during periods of high network demand. They help prevent congestion by redistributing traffic efficiently, ensuring smooth and uninterrupted service for all users.
3. **Device Core:** These Cores are based on IoT devices such as televisions, routers, sensors, or any other   \
   device integrated into the system. They utilize the Datagram Core Substrate to provide load-balancing   &#x20;services during periods of downtime, contributing to network efficiency by sharing idle processing power.
4. **Hardened Core:** Designed for high-security or priority traffic, such as for government operations or B2B   &#x20;communications. They have heightened security, and though they serve the entire network, their   &#x20;primary focus is on handling sensitive data and communications.
5. **Consumer Core:** These are localized Cores initiated by users on their hardware. Consumer Cores   &#x20;temporarily host services and allow users to benefit from Datagram's infrastructure without requiring   &#x20;permanent deployment, offering flexibility and localized service management.

Furthermore, by utilizing a modular and application-specific blockchain approach, Datagram optimizes real-time&#x20;data transmission for latency-sensitive applications such as decentralized video conferencing and AI-driven&#x20;communications. The overall result of Datagram’s architecture is that it benefits from:

* **Customizability:** Unlike shared Layer 1 blockchains, Datagram’s Subnet is fully customizable, enabling  &#x20;enterprises to optimize network parameters to suit their specific needs. While gas fees for transactions  &#x20;within the Datagram ecosystem follow a standardized structure, enterprises can still control aspects  &#x20;such as payment models, resource allocation, and fee distribution within their own applications,  &#x20;ensuring cost efficiency and predictable expenses.
* **Independent Execution Thread:** Each fabric network operates with its own independent execution execution environment, preventing competition for resources and eliminating congestion from other networks.
* **Lower Transaction Costs:** By diverting traffic away from the Avalanche Primary Network and operating  &#x20;as a separate Subnet, Datagram significantly reduces gas fees while maintaining high-speed  &#x20;transactions.
* **High Throughput:** Datagram leverages Avalanche’s sub-second finality, near-instant transaction  \
  settlement, and parallelized execution to support high-demand applications without congestion or  \
  bottlenecks.
* **Validator Selectivity:** Datagram’s Subnet allows for controlled validator participation, ensuring optimal  &#x20;performance while maintaining decentralization.\\


# 3.2. Datagram Core Substrate DCS: The Connectivity Layer

The Datagram Core Substrate DCS is the foundational layer that powers Datagram’s Connectivity Layer,&#x20;enabling seamless, decentralized coordination of compute, bandwidth, and storage resources. By functioning as&#x20;a network of networks, DCS provides the infrastructure for any DePIN project to launch and scale without the&#x20;need to build a custom network from scratch.

At its core, DCS is integrated with the Datagram Network Operations Center (NOC), which serves as the uptime&#x20;tracking and node statistics system for the network. The NOC continuously monitors the health and performance&#x20;of Datagram Cores, ensuring that uptime, availability, and resource utilization are accurately measured. This&#x20;real-time tracking enables automated reward distribution based on node performance and ensures that Full and&#x20;Partner Core operators meet network reliability standards.

DCS follows a modular, containerized architecture, allowing developers to deploy workloads in a dockerized&#x20;environment that runs in parallel with the network’s core operations. This flexible framework supports&#x20;deployment across multiple major EVM and non-EVM networks, such as Solana, Avalanche, and Base, with all&#x20;traffic automatically routed and balanced based on real-time demand. The NOC provides operators with crucial&#x20;insights into their infrastructure’s performance, allowing them to optimize their nodes for better rewards and&#x20;efficiency.

A wide variety of high-performance applications, including AI-powered cloud compute and real-time&#x20;Communication tools can operate as self-contained ecosystems while remaining interoperable with all other\
projects. For example, a company can leverage Datagram to deploy a decentralized streaming service with DCS dynamically distributing workloads, while the NOC ensures uptime tracking and performance verification.

DCS is blockchain-agnostic, meaning projects can deploy on any L1 or L2 network while still benefiting from&#x20;Datagram’s infrastructure. While Avalanche currently serves as the base layer for tracking network activity and&#x20;reward distribution, the core substrate itself is not restricted to any single blockchain. Projects built on Ethereum,\
Solana or other networks can leverage Datagram’s infrastructure to scale their DePIN initiatives while maintaining&#x20;seamless interoperability.

One of the most critical aspects of DCS is that it abstracts away the complexities of decentralized infrastructure,&#x20;allowing developers to focus on their applications rather than on managing network logistics. This ensures that&#x20;businesses can seamlessly integrate DePIN capabilities into their products while end-users interact with&#x20;applications just as they would with any Web2 platform. The result is that any company or service provider can&#x20;launch a custom node network using Datagram’s infrastructure, leveraging the DCS for resource allocation and&#x20;automated reward distribution. While businesses can integrate Datagram's backend into their offerings, the&#x20;platform itself is not intended to function as a fully white-labeled solution but instead operates more like AWS,&#x20;providing the underlying infrastructure that businesses can leverage while maintaining their front-end&#x20;branding and user experience.

An illustration of the entire architecture is below:

<figure><img src="/files/m95YTmN2g1SjQFWvcc2N" alt=""><figcaption></figcaption></figure>


# 3.3. The Hyper Network Layer

The Hyper Network Layer is Datagram’s AI-driven coordination system, responsible for intelligent routing, network&#x20;optimization and parallel processing across the entire infrastructure. Unlike traditional DePIN projects that rely&#x20;on static node assignments and predefined traffic distribution, Datagram’s Hyper Network Layer actively&#x20;manages data flow in real-time, leveraging AI to ensure optimal performance, resource utilization, and fault&#x20;tolerance.

At its core, the Hyper Network Layer functions as an AI controller, dynamically analyzing network activity to&#x20;Determine the most efficient routing paths for data transmission. This allows Datagram to outperform legacy&#x20;networks in key areas, such as:

* **Adaptive Traffic Routing:** The Hyper Network Layer monitors network conditions and automatically  \
  redirects traffic to the most efficient nodes, preventing congestion and ensuring low-latency  \
  communication.
* **Real-Time Load Balancing:** Instead of relying on static node assignments, the AI controller continuously  &#x20;assesses the network's state and distributes workloads across available resources to maximize  &#x20;efficiency.
* **Intelligent Resource Allocation:** By predicting usage patterns, the system proactively assigns  \
  compute, storage, and bandwidth to where they are needed most, preventing bottlenecks.
* **Automated Network Healing:** If a node or subnet experiences downtime, the AI controller instantly  \
  reroutes traffic to prevent service disruptions, ensuring unparalleled uptime and resilience.
* **UDP Optimization at Scale:** Unlike other decentralized networks that primarily handle TCP traffic, the  Hyper Network Layer enables Datagram to process UDP data packets at scale, making it the only DePIN  network capable of handling real-time applications like video streaming and gaming without  &#x20;performance degradation.

One of the defining features of the Hyper Network Layer is its ability to create dedicated subnetworks within&#x20;Datagram’s infrastructure. This allows enterprises and DePIN projects to launch their own node networks while&#x20;still benefiting from Datagram’s global fabric, ensuring security, scalability, and seamless integration with other&#x20;applications.

For example, a real-time AI compute provider can leverage the Hyper Network Layer to ensure that training models&#x20;are executed in the most efficient locations, minimizing compute costs and reducing latency.


# 4. Datagram in Action: Real-World Applications & Adoption


# 4.1. Key Use Cases

**High-Performance, Real-Time Communication**

The initial "killer app" for Datagram demonstrates its decentralized infrastructure's advantages over traditional&#x20;platforms like Zoom. It can support more than 10,000 participants per room, reduces latency, enhances privacy,&#x20;and offers cost savings of up to 90% compared to centralized solutions. Projects can deploy their real-time&#x20;communication applications on Datagram’s infrastructure or white-label their own video conferencing service.

**Artificial Intelligence & Decentralized Cloud Computing**

Datagram is also developing an AI Compute Fabric Network, which is designed to provide a decentralized&#x20;alternative to traditional cloud providers like AWS and Google Cloud. The network focuses on data transmission and edge computing for AI applications, enabling AI model training and compute power provisioning. The AI&#x20;integration is a core part of Datagram’s infrastructure scaling strategy, allowing other DePIN projects to build on&#x20;its Substrate-based connectivity layer.

Key features include:

* Real-time node uptime analytics to ensure optimal AI compute availability
* On-chain performance tracking for transparency and efficiency
* A Network Operations Center NOC dashboard that visualizes AI compute activity via a heat map

This means that Datagram provides a decentralized alternative to centralized AI, enabling cloud computing and&#x20;Various AI applications to operate on-chain with reduced costs and associated blockchain benefits.

**Enterprise Privacy & Secure Communication**

By running dedicated Full Cores, organizations can establish self-sovereign communication networks that&#x20;eliminate reliance on external servers and offer complete control over data routing, storage, and encryption. This&#x20;ensures that all calls, messages, and shared data remain within their infrastructure, mitigating risks associated&#x20;with data interception, subpoena requests, or geopolitical interference.

Additionally, Datagram’s decentralized architecture enables organizations to customize configurations in order to&#x20;comply with strict data privacy regulations, including HIPAA, GDPR, and industry-specific security frameworks. Full&#x20;Cores allow businesses to define access controls, encrypt communication end-to-end, and implement&#x20;customized data retention policies, ensuring confidentiality, integrity, and availability of the enterprise&#x20;communications.

Examples of applications that can benefit from running dedicated Full Cores include educational platforms,&#x20;telemedicine, secure data storage, and much more. Any type of solution requiring highly secure data&#x20;communication can leverage Datagram.

**Infrastructure for DePIN and Web3 dApps**

Datagram supports Web3 applications, enabling them to integrate real-time messaging, video calls, and data&#x20;processing without relying on centralized servers.&#x20;

This infrastructure is particularly valuable for DePIN projects, which require scalable, distributed compute and&#x20;data transmission to support their expanding node networks. By leveraging Datagram’s Core Substrate&#x20;connectivity layer, Web3 applications can scale their operations, ensuring low-latency communication, improved&#x20;security, and cost-efficient decentralized infrastructure. For deployments on dedicated Full Core nodes,&#x20;Datagram also supports data encryption, which has been a historical challenge given Web3’s inherent&#x20;transparency.

Whether it’s DePIN, GameFi, SocialFi, or decentralized AI applications, Datagram can serve as a backbone for Web3&#x20;projects looking to move beyond traditional cloud dependencies and reach new audiences.


# 4.2. The Datagram Browser

The Datagram Browser is a Web3-native, decentralized alternative to traditional browsers, designed to integrate&#x20;blockchain-based communication, computation, and financial services into a familiar user experience. Built on the&#x20;Chromium framework, it offers full compatibility with existing web applications while embedding secure,&#x20;decentralized video conferencing, a built-in crypto wallet, and real-time access to Web3 applications.

Unlike conventional browsers that rely on centralized infrastructure, the Datagram Browser leverages Datagram’s&#x20;decentralized network to provide enhanced privacy, reduced costs, and a frictionless gateway into Web3. Its&#x20;integrated video conferencing technology supports more than 10,000 participants per session, making it a&#x20;cost-efficient and censorship-resistant alternative to Zoom, Google Meet, and Microsoft Teams.

With its ability to onboard both Web2 and Web3 users, the Datagram Browser acts as a Trojan horse for Web3&#x20;adoption, allowing enterprises, developers, and everyday users to transition into decentralized applications&#x20;without even realizing it.


# 4.3. Business Implementation

Even before Datagram’s official global launch, the team has been integrating with initial enterprise adopters to&#x20;Validate that its technology can indeed provide significant savings and improved performance across all offerings.&#x20;To date, this includes commercial testing with 200+ enterprises and 1,000,000+ users, demonstrating that a&#x20;decentralized backend can be easy to use for institutions while conferring significant advantages over Web2&#x20;alternatives.

The real strength of Datagram’s decentralized ecosystem lies in its ability to power connectivity for enterprises of&#x20;all sizes, in turn supporting multiple business operations at scale.&#x20;

Businesses operating in Web2, Web3, or a mix of the two can all benefit from utilizing and reselling the Datagram&#x20;platform to meet their unique needs:

* Reduce infrastructure costs by replacing centralized cloud providers (e.g., AWS, Zoom, Google Cloud)  &#x20;with decentralized, high-performance alternatives.
* Enhance scalability and efficiency by tapping into a distributed network optimized for real-time  \
  communication, data processing, and AI computing.
* Improve security and privacy through censorship-resistant, decentralized architecture, ensuring data  &#x20;sovereignty and regulatory compliance.
* Customize and resell services while maintaining full control over pricing, branding, and customer  \
  experience.

The end customers of Web2 businesses do not need to realize it’s run using blockchain technology, while Web3&#x20;businesses can easily expand their offerings by branding into new verticals via a natural extension of their&#x20;existing business operations.\\

\
All of these businesses can accept payments as they wish, whether that’s fiat, crypto payments, or a mix.

Datagram remains a neutral platform, and any business can have full freedom to set their own pricing and&#x20;customize Datagram’s various products and services as they wish.


# 5. Tokenomics


# 5.1. Tri-Token Model

The Datagram ecosystem employs a tri-token model that includes:

* **$DGRAM:** The primary utility token used for payments and governance.
* **$DATA:** A burnable, non-transferable token for service payments.
* **$UDP, $TCP & $AI Reward Points:** Non-transferable points for infrastructure contributors.

**$DGRAM** is the primary payment token within the Datagram ecosystem, based on the Avalanche network using&#x20;the AVAX C-Chain ARC-20 standard. $DGRAM will be tradeable on exchanges and can only be obtained by&#x20;converting $UDP, which is awarded to Cores for providing infrastructure services. $DGRAM serves as the currency&#x20;for payments within the ecosystem, facilitating transactions for services and rewarding operators for their&#x20;contributions.

**$DATA** is a non-transferable, burnable token designed for purchasing services within the Datagram network.&#x20;with each $DATA token equivalent to $0.01 worth of services. $DATA is generated when $DGRAM is burned, with&#x20;the burn value locked in at a seven-day moving average of $DGRAM’s fiat value using the CoinGecko Oracle. This&#x20;mechanism ensures that users who prepay for services by converting $DGRAM into $DATA are protected from&#x20;market volatility, as the value of $DATA remains stable despite any fluctuations in the price of $DGRAM.

$UDP, $TCP & $AI are distributed as network rewards, corresponding to two fundamental types of internet traffic:&#x20;User Datagram Protocol UDP and Transmission Control Protocol (TCP).

* UDP traffic is connectionless and low-latency, transmitting data quickly without verifying delivery. This  &#x20;makes it ideal for real-time applications such as gaming, streaming, and audio and video communication.
* TCP traffic is connection-oriented and reliable, ensuring data is delivered accurately and in order. This is  &#x20;essential for web browsing, media streaming, financial transactions, and other applications where data  &#x20;Integrity is critical.
* AI traffic is a blend of compute and low-latency data for real-time inference with high-throughput needs  &#x20;for training and synchronization.  &#x20;

Core operators earn non-transferable $UDP and $TCP points based on their contributions to the network. These&#x20;points accumulate throughout the day and are redeemed at the end of each day into $DGRAM at a rate of $0.01&#x20;per point, calculated based on a seven-day price average of $DGRAM. For example, an operator earning 10,000&#x20;

$UDP and 5,000 $TCP points in a day would receive $150 worth of $DGRAM upon settlement ($100 from UDP&#x20;traffic + $50 from TCP traffic). Importantly, $UDP is exclusively awarded to Datagram Full Cores, ensuring that only&#x20;fully committed infrastructure providers benefit from these high-performance network incentives.

Operators using the Datagram Custodial Wallet must maintain a minimum balance of $20 before they can transfer&#x20;or convert their accumulated $DGRAM. Additionally, custodial wallet users will incur a small transaction fee when&#x20;processing transfers. In contrast, operators using non-custodial wallets (e.g. Metamask) are only responsible for&#x20;covering the standard gas fees required by the ecosystem, providing greater flexibility and control over their&#x20;funds.


# 5.2. Supply & Distribution

The total maximum supply of $DGRAM is set at 10,000,000,000 tokens, with an initial Total Supply at Token&#x20;Generation Event TGE of 5,750,000,000 tokens (57.5%). $DGRAM operates on the Avalanche blockchain and&#x20;follows the ARC-20 token standard.

Although 57.5% of the tokens will be minted at TGE, a substantial portion of this supply is subject to lockups and&#x20;vesting schedules. This structured release approach results in a significantly lower initial circulating supply,&#x20;fostering long-term alignment among contributors and stakeholders to promote the project’s success.

A large majority of the allocation (50%) is reserved for Full Core Operators, who serve as the backbone of the&#x20;Datagram network. These participants facilitate decentralized traffic routing, data processing, and&#x20;communication services. In addition, 26% of the supply is allocated toward liquidity (5%), airdrop (5%) and ecosystem&#x20;growth initiatives (16%). 22.5% of the supply is distributed to Team (10%), Investors (10%), and Advisors (2.5%), as&#x20;well as 1.5% to KOLs.

<table><thead><tr><th width="63.99998474121094">No.</th><th width="167.33334350585938">Category</th><th width="114.33331298828125">% Allocation</th><th width="128">% Minted at TGE </th><th>Vesting Schedule</th></tr></thead><tbody><tr><td>1</td><td>Full Core Operators</td><td>50.0</td><td>15.0</td><td>15.0% TGE, which vests daily for 12 months</td></tr><tr><td>2</td><td>Airdrop</td><td>5.0</td><td>100.0</td><td>0.0% TGE, after daily vesting for 12 months (Capsules unlock 10.0% at TGE - see <a href="/pages/qguHUgqI6GLZjiO3V8WV">Capsule Terms</a>)</td></tr><tr><td>3</td><td>Ecosystem</td><td>16.0</td><td>100.0</td><td>100.0% TGE</td></tr><tr><td>4</td><td>MMs, Exchanges &#x26; LPs</td><td>5.0</td><td>100.0</td><td>100.0% TGE</td></tr><tr><td>5</td><td>Investors</td><td>10.0</td><td>100.0</td><td>0.0% TGE, after daily vesting for 36 months</td></tr><tr><td>6</td><td>Team</td><td>10.0</td><td>100.0</td><td>0.0% TGE, 6-month cliff after daily vesting for 36 months</td></tr><tr><td>7</td><td>Advisors</td><td>2.5</td><td>100.0</td><td>0.0% TGE, 6-month cliff after daily vesting for 36 months</td></tr><tr><td>8</td><td>KOLs</td><td>1.5</td><td>100.0</td><td>0.0% TGE, after daily vesting for 12 months</td></tr></tbody></table>


# 6. Datagram Rewards & Emissions Model


# 6.1. Checkpoints

Datagram’s rewards system provides $UDP and $TCP reward points to Full Core operators based on their network&#x20;contributions, which are later converted into $DGRAM at a fixed rate. These points correspond to two&#x20;fundamental types of internet traffic: User Datagram Protocol UDP and Transmission Control Protocol TCP,&#x20;covered above in Section 6.1.

Rewards are distributed via a controlled daily emissions model that follows a three-stage process, with each&#x20;stage referred to as a **“checkpoint.”** For instance, Checkpoint 1 rewards based on Full Core availability, while&#x20;Checkpoint 2 rewards are based on latency.

These are as follows:

1. **Uptime & Availability (Checkpoint 1):** Rewards Full Cores that maintain high uptime, ensuring network   \
   stability by verifying computational contributions, data availability, and bandwidth reliability.

Rewards here are chosen based on three factors:

* **Proof of Work via Compute:** Verifies that the Full Core is providing computational resources.
* **Proof of Data Storage via Availability:** Ensures data stored on the Full Core is accessible.
* **Proof of Bandwidth via Data:** Measures the volume of data the Full Core transmits or receives, ensuring  &#x20;bandwidth reliability.

Initially these will each be allocated roughly one-third of the total rewards.

However, the long-term plan is to transition to a more dynamic system where the distribution shifts over time to&#x20;reflect real-time network demands better. As the ecosystem evolves, these segments will adjust to prioritize the&#x20;areas most critical to the network's health and efficiency. By allowing the distribution to adapt, the system can&#x20;continually incentivize what the ecosystem needs most, such as scaling computational power, ensuring data&#x20;availability, or optimizing bandwidth resources, ensuring that the infrastructure grows in alignment with network&#x20;requirements.

2. **Latency & Response Times (Checkpoint 2):** Rewards low-latency, high-availability nodes by measuring   &#x20;their response times and overall network efficiency. Full Cores with the fastest and most reliable   &#x20;performance are selected for more traffic routing, increasing their earning potential.
3. **Actual Usage (Checkpoint 3):** Rewards based on real-world resource consumption, compensating Full   &#x20;Cores that contribute the most bandwidth, computing power, and storage to the network.

During the testnet phase, rewards will be solely determined by Checkpoints One and Two, with 100% of&#x20;the distribution divided among available Full Cores based on uptime and performance. As the network scales and&#x20;usage increases, the reward structure will adjust to reflect actual resource consumption.

For the first year of Datagram’s deployment, 80% of daily emitted rewards will be allocated based on uptime, while&#x20;20% will go to a usage-based pool to incentivize Core operators to maintain reliable service as the ecosystem&#x20;gains initial traction. However, over time, the reward structure will likely shift toward usage-based metrics.


# 6.2. Emissions Formula

As more tokens enter circulation, emissions gradually decrease, creating a deflationary effect.\\

\
The rewards system follows a daily emissions model based on the following formula:

1. **Latent Supply =** Maximum Supply - Current Total Supply
2. **Daily Emissions =** Latent Supply x 0.125%

For example, if the Maximum Supply is 10,000,000,000 tokens and the Current Total Supply is 5,750,000,000, the&#x20;Latent Supply would be 4,250,000,000 tokens. Applying the emissions rate:\\

\
Daily Emission = 4,250,000,000 × 0.125% = 5,312,500 tokens per day.

As more tokens enter circulation, the latent supply decreases, which in turn reduces daily emissions. This&#x20;deflationary model ensures that as more tokens enter circulation, the daily emissions decline, reducing&#x20;inflationary pressure over time


# 7. Datagram Governance




---

[Next Page](/llms-full.txt/1)

