7min
Read
NAI Staking Guide
by
Nuklai

A few weeks ago, we announced the launch of our Hypergrowth Activation Pool. Our delegated staking campaign filled up in minutes, a stamp of approval from a community that truly believes in the Nuklai smart data vision.

We now have over 10M+ of NAI staked in long-term contracts at the Nuklai DeFi Terminal, with campaign participants receiving impressive Annual Percentage Yields (APYs) of over 25%! 

Our pioneer NAI stakers' trust and confidence in our vision have contributed to our network’s long-term growth. They have scaled our ability to achieve our milestones and opened up new avenues for our community contribution to our future. 

In the future, staking campaign participants will access exclusive Nuklai community events and one-time rewards from some of our ecosystem partners. If you have not had the opportunity to join our community of stakers, below is a simple guide for staking $NAI to get you started.

Why Staking is important and how it works

What is Staking? 

Staking is the process where users lock up their tokens to support a blockchain network and, in return, receive rewards. It is an essential feature of proof-of-stake (PoS) consensus mechanisms used by many blockchain networks, including Avalanche. 

PoS systems require participants to stake a certain amount of tokens as collateral to participate in the network and validate transactions.

Importance of Staking

Staking is crucial for maintaining the security and efficiency of blockchain networks. By staking tokens, participants support network operations such as transaction validation and block creation, helping to secure and decentralize the network.

How Staking Works

When you stake your tokens, you lock them in a network's smart contract for a specified period. In return, you earn rewards, typically in the form of additional tokens. These rewards compensate you for contributing to the network's stability and security.

Read more about Nuklai Layer 1 Network here.

Step-by-Step Staking Guide

1. Set up and connect your MetaMask Wallet

  • Download and set up a MetaMask Extension wallet for your browser: Ensure you have a compatible wallet that supports $NAI tokens and the Avalanche network. We’ve chosen MetaMask for ease of use.
  • Create a new wallet or import an existing one.
  • Ensure you add both Ethereum and Avalanche networks to your MetaMask Wallet.


2. Buy and Import NAI to Your WalletBuy NAI Tokens

Buy NAI Tokens

  • Go to the official Nuklai Coinmarketcap Website Use a centralized exchange (e.g., MEXC, Gate.io) or a decentralized exchange like Uniswap to purchase NAI tokens. For this guide, we'll use Uniswap.
  • Click  ‘WETH Uniswap Pair’ $NAI will be added to Uniswap UI.
  • Connect your MetaMask wallet and click ‘Swap.’
    This will Swap your ETH for NAI tokens.
    If you have already NAI Tokens on AVAX, you can skip this part

Import NAI Tokens to MetaMask

  • Copy the NAI contract address from Coinmarketcap or from here: 0x5ac34c53a04b9aaa0bf047e7291fb4e8a48f2a18
  • Open MetaMask and go to the 'Tokens' tab.
  • Click the 'Import Tokens’ Tab, paste the contract address, and add NAI tokens to your wallet.

3. Bridge Tokens from ETH to AVAX (If Needed)

  • Use Nexera’s Bridge: If you need to bridge NAI tokens between Avalanche (AVAX) and Ethereum (ETH) networks, use Nexera’s Bridge.

4. Staking $NAI on Nuklai DeFi Terminal

  • Visit the Staking Page: Go to the Nuklai Staking Portal.
  • Connect Your Wallet: Click "Connect Wallet" and follow the prompts to link your wallet to the staking platform. Ensure your wallet is on the AVAX Network.
  • Navigate to the staking campaigns (currently available on Avalanche).
  • Choose a staking campaign based on duration and APY (e.g., 3 months, 6 months, 12 months).
  • Click on the campaign and decide how much NAI you want to stake. 
  • The maximum stake per person is 1 million NAI.
  • Confirm the Stake: Review the details and confirm the staking transaction. Your tokens will be locked for the selected duration.
  • Approve the transaction in MetaMask, and stake your $NAI tokens. 

5. Transaction Fees  To commit to the stake, you will need some ‘ETH’ or ‘AVAX’ in your wallet, depending on the network of your choice. In this case, I am staking on AVAX. Therefore, I will need a small amount of AVAX just to confirm the transactions. 6. Earn and Claim Rewards

  • Earn Rewards: Your staked NAI will earn rewards over time, distributed in NAI Tokens.
  • Claim Rewards: After the staking period ends, you can claim your rewards and unstake your tokens.

7. Troubleshooting and SupportIf you encounter any issues, submit a ticket through the Tech Support button on nuklai.defiterm.io. Alternatively, contact the Nuklai team directly through Discord or Telegram for assistance.

About Nuklai

Nuklai is a collaborative data marketplace and infrastructure provider for data ecosystems. It combines the power of community-driven data analysis with the datasets of successful modern businesses. 

The marketplace allows grassroots data enthusiasts and institutional partners to find new ways to use untapped data and generate new revenue streams.

Our vision is to unify the fragmented data landscape. We fulfill this mandate by providing a user-friendly, streamlined, and inclusive approach to sharing, requesting, and evaluating data for key insights.

We also provide better processes and new business opportunities, empowering next-generation large language models and AI.

Follow Nuklai on X and join Telegram to stay updated on the latest Nuklai news and updates.

const ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries";
const ApiKey = "[API_KEY]";
const DatasetId = "[DATASET_ID]";

const headers = {
  "Content-Type": "application/json",
  'authentication': ApiKey
}
ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries"
ApiKey = "[API_KEY]"
DatasetId = "[DATASET_ID]"

headers = {
  "Content-Type": "application/json",
  "authentication": ApiKey
}
$ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries";
$ApiKey = "[API_KEY]";
$DatasetId = "[DATASET_ID]";

$headers = [
  "Content-Type: application/json",
  "authentication: $ApiKey"
];
// @dataset represents your dataset rows as a table
const body = {
  sqlQuery: "select * from @dataset limit 5",
}
@dataset represents your dataset rows as a table
body = {
  "sqlQuery": "select * from @dataset limit 5"
}
// @dataset represents your dataset rows as a table
$body = [
  "sqlQuery" => "select * from @dataset limit 5"
];
const ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries";
const ApiKey = "[API_KEY]";
const DatasetId = "[DATASET_ID]";

const headers = {
  "Content-Type": "application/json",
  'authentication': ApiKey
}

// @dataset represents your dataset rows as a table
const body = {
  sqlQuery: "select * from @dataset limit 5",
}

// make request
fetch(ApiUrl.replace(':datasetId', DatasetId), {
  method: "POST",
  headers: headers,
  body: JSON.stringify(body), // convert to json object
})
  .then((response) => response.json())
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });
import requests
import json

ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries"
ApiKey = "[API_KEY]"
DatasetId = "[DATASET_ID]"

headers = {
  "Content-Type": "application/json",
  "authentication": ApiKey
}

# @dataset represents your dataset rows as a table
body = {
  "sqlQuery": "select * from @dataset limit 5"
}

# make request
url = ApiUrl.replace(':datasetId', DatasetId)
try:
  response = requests.post(url, headers=headers, data=json.dumps(body))
  data = response.json()
  print(data)
except requests.RequestException as error:
  print(f"Error: {error}")
$ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries";
$ApiKey = "[API_KEY]";
$DatasetId = "[DATASET_ID]";

$headers = [
  "Content-Type: application/json",
  "authentication: $ApiKey"
];

// @dataset represents your dataset rows as a table
$body = [
  "sqlQuery" => "select * from @dataset limit 5"
];

// make request
$ch = curl_init(str_replace(':datasetId', $DatasetId, $ApiUrl));

curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($body)); // convert to json object
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$result = curl_exec($ch);
curl_close($ch);

echo $result;
curl -X POST 'https://api.nukl.ai/api/public/v1/datasets/[DATASET_ID]/queries' \
  -H 'Content-Type: application/json' \
  -H 'authentication: [API_KEY]' \
  -d '{"sqlQuery":"select * from @dataset limit 5"}'
const ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries/:jobId";
const ApiKey = "[API_KEY]";
const DatasetId = "[DATASET_ID]";
const JobId = "[JOB_ID]"; // retrieved from /queries request

const headers = {
  "Content-Type": "application/json",
  'authentication': ApiKey
}

// make request
fetch(ApiUrl.replace(':datasetId', DatasetId).replace(':jobId', JobId), {
  method: "GET",
  headers: headers
})
  .then((response) => response.json())
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });
import requests

ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries/:jobId"
ApiKey = "[API_KEY]"
DatasetId = "[DATASET_ID]"
JobId = "[JOB_ID]"  # retrieved from /queries request

headers = {
  "Content-Type": "application/json",
  "authentication": ApiKey
}

# make request
url = ApiUrl.replace(':datasetId', DatasetId).replace(':jobId', JobId)
try:
  response = requests.get(url, headers=headers)
  data = response.json()
  print(data)
except requests.RequestException as error:
  print(f"Error: {error}")
$ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries/:jobId";
$ApiKey = "[API_KEY]";
$DatasetId = "[DATASET_ID]";
$JobId = "[JOB_ID]"; // retrieved from /queries request

$headers = [
  "Content-Type: application/json",
  "authentication: $ApiKey"
];

// @dataset represents your dataset rows as a table
$body = [
  "sqlQuery" => "select * from @dataset limit 5"
];

// make request
$ch = curl_init(str_replace(array(':datasetId', ':jobId'), array($DatasetId, $JobId), $ApiUrl));

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$result = curl_exec($ch);
curl_close($ch);

echo $result;
curl 'https://api.nukl.ai/api/public/v1/datasets/[DATASET_ID]/queries/[JOB_ID]' \
  -H 'Content-Type: application/json' \
  -H 'authentication: [API_KEY]'