Get Started - IO Worker

This document provides a high-level overview of how users can utilize IO Worker to create their own GPU/CPU workers within the io.net decentralized network.

Table of Contents

What is IO Worker?

IO Worker is like having a virtual rental manager for your device! It's a simple web app that lets you lend your computing power to those tackling AI tasks, making it easier for everyone to access the resources they need.

Thanks to our decentralized setup and smart resource management, you can earn more by renting out your GPU/CPU than you would with traditional cloud services. It's a win-win situation where you support others while boosting your own earnings.

With io.net, you're not just renting out hardware; you're part of a community that values collaboration and efficiency. Whether you're a business looking to optimize resources or an individual keen on making extra profits, io.net has got you covered.

Key Features

  • IO Workers enable access to decentralized compute power, allowing users to tap into a distributed network of GPUs and CPUs for their computational needs.
  • By leveraging IO Workers, users can benefit from cost-efficient compute resources. The decentralized nature of the network helps optimize costs while providing scalable compute capabilities.
  • IO Workers offer flexibility and scalability, allowing users to scale their computational resources based on demand. This scalability ensures that users can handle varying workloads effectively.
  • Users can monitor the performance of IO Workers in real time, tracking metrics such as uptime, resource utilization, and job completion rates for efficient management and optimization.
  • Secure Resource Sharing: IO Workers facilitate secure resource sharing among network participants. Users can securely share their compute resources while maintaining control over access and usage.
  • Global Accessibility: IO Workers provide global accessibility, allowing users from different regions and industries to access and utilize decentralized compute power seamlessly.

Requirements

If your device meets the minimum system requirements, it can be eligible to be hired for jobs. All devices must Worker pass our Proof of Work verification to be hired by clusters.

📘

After your onboard your device for the first time, there is a 12 hour waiting period until it's eligible to be hired as a worker. Your device is only subject to the waiting period after its initial onboarding.

Minimum System Requirements:

  • 12 GB RAM
  • 256 GB SSD
  • Windows: NVIDIA GeForce RTX 30xx and above series / MacOS: Apple M1, M2, M3.
  • Internet Speed (please use speedtest.net or a similar service to check your speed)
    To qualify for the airdrop, the minimum requirement is 100Mb/s download and 75Mb/s upload. However, for a higher chance of being hired, the recommended minimum requirements are:
    • Download: Above 500 Mb/s
    • Upload: Above 250 Mb/s
    • Ping: Below 30ms

📘

For better performance, we recommend a download/upload speed of 200–500 Mbps and 16GB of RAM to avoid crashes.

Create Account

To create an account go to cloud.io.net. Currently you can use X, Apple ID, Worldcoin or Google. Choose your preferred option, then just click Sign Up, and you're all set to join us.

Rewards & Fees

All worker earnings are paid in IO Coin. IO Coin reduces friction in our payment system, bypassing the use of escrow, past-pay billing etc. At the same time, we balance this by creating a structural demand for $IO in the actual payment process. Every transaction in io.net creates $IO demand because Customers pay in USDC, but Suppliers are compensated with $IO tokens.

To learn more, see IO Coin.

Supplier Rewards & Fees

  • Block Rewards incur no fees.
  • All worker earnings incur a 0.25% fee.

Additionally, the Proof of Work (PoW) mechanism underpinning our ecosystem ensures that each transaction contributes to the network's security and integrity, further incentivizing the use of $IO tokens within the platform.

Add Wallet to Account

To ensure future cryptocurrency withdrawals, you must link your wallet to your account. You can find instructions on how to get it here, using the Phantom wallet as an example.

The wallet you connect in Account Settings is used for Block Rewards, worker earnings, and seasonal events. These rewards are distributed using airdrop. Please note the following guidelines:

  • Wallets with an Exchange Deposit Address (Custodial) are not supported. To collect Block Rewards, worker earnings, or seasonal events, connect a Self-Custodial wallet in your Account Settings. Exchange Deposit Addresses are not supported because airdrop claims require a smart contract interaction.
  • When we launch an airdrop, the wallet address for that specific airdrop can't be changed. There is a direct relationship between a specific airdrop and the wallet on file before the airdrop is launched. To collect rewards, enter a supported Self-Custodial wallet.
  • Security is important. We urge you to take security very seriously and secure your wallet. If your wallet is hacked, you can't receive rewards to it. Once an airdrop is initiated, the wallet can't be changed for rewards associated with that airdrop.

Follow the steps below to add a wallet to your account:

  1. Click on your icon in the upper right and select Account Settings.

  2. In the Solana Wallet section, click Add Wallet.

Withdraw Funds from Your Account

  1. Create a crypto wallet, such as Phantom, or use an existing wallet.

  2. In the upper-right of the screen, click USDC.

  3. On the Claim Rewards dialog, choose Custom to enter a specific amount or select the values to the right: 5, 20, 50, or 100.

  4. Click the Confirm Amount button.

  5. A dialog launches that indicates the payment is being processed, followed by a Success confirmation. You can also track the transaction on Soloscan immediately by clicking on the See on Soloscan link.

App Guide

Workers Homepage

This screen provides users with real-time access to general information about all their calculations. Users can easily see who is connected to the network, currently active, or experiencing errors. Additionally, they can perform actions like renaming and deleting devices.

For users managing a large number of devices, features like search and sorting by criteria such as Status, Brand, Technology, Connectivity Tier, and Security Compliance are invaluable.

This page allows you to monitor workers and track data such as:

  • Status
  • Device ID- The unique identifier for your device. Click the ID to view the Device Detail page.
  • Readiness- This value provides insights into your device's readiness for Block Reward eligibility.
  • Up For
  • Chip/GPUs

Readiness

The Readiness column differs from Status. This value provides insights into your device's readiness for Block Reward eligibility. If the status is Cluster Ready, then your device is eligible to be hired and/or for a Block Reward. The four possible Readiness statuses are:

  • Cluster Ready- Device meets PoW requirements and passed several Cluster Formation verifications.
  • Hired- Device is currently hired by a cluster.
  • Pending- The device has joined the network and is currently undergoing both the PoW and Cluster Readiness test. This process can take up to 12 hours of cumulative uptime after onboarding, but may complete sooner if your device passes our tests early. If your device remains in a Pending state after more than 12 hours of uptime, please contact us.
  • Not Block Reward Ready- Device doesn't meet the criteria for block reward eligibility, mainly Cluster Formation verifications.

📘

Not Block Reward Ready offers one of three tooltips in the UI to provide troubleshooting tips.

  • Please check your device's computational capacity- Your device's computational capacity is below the required threshold.
  • Please check your device setup and computational capacity- Your device setup might not be configured correctly and its computational capacity is below the required threshold. Please refer to the worker setup guide.
  • Please check your device setup- Your device setup might not be configured correctly. Please refer to the worker setup guide.

🚧

If you're device is Cluster Ready, it doesn't indicate that it's Block Reward eligible. Cluster Ready status is a prerequisite for Block Reward eligibility.

Transition Between States

The transition from Pending to Cluster Ready state can take up to 12 hours. During this time, we form clusters with newly joined devices (Pending) and verify them as Cluster Ready once they successfully pass the cluster formation process.

If the device fails to join the cluster multiple times, it's labeled as Not Block Reward Ready. To verify if a device has successfully passed cluster formation is to check its job page, which indicates the record of past cluster formations.

Troubleshoot the Cluster Formation Checks

  1. Verify that the device is operated using io.net official binaries and official docker images.
  2. Verify that the device has the right network setup (beyond basic internet speed test capability) where the device can properly interact with the remote head node or peer workers.

Set Up a New Worker

We have detailed guides available to help you set up your worker on various operating systems such as:

These guides are tailored to provide step-by-step instructions, ensuring a smooth setup process for your new worker. Whether you're using MacOS, Windows or Ubuntu, you'll find comprehensive guidance to join get your worker up and running efficiently.

Worker Details

The Device View page provides a comprehensive overview of the device's details. io.net presents real-time data on transmitted traffic, connection status, and uptime history.

Users can monitor the status of all active services on the device and activate additional ones by purchasing io.coins. By default, these services are automatically linked to the worker:

  • IO Version Control
  • IO Monitor
  • Ray.io

Equally important is the device's current/past tasks and its complete notification history, conveniently accessible through the corresponding tabs after 'Services' tab.

The worker detail page displays the following information:

  • List of Jobs and status
  • Uptime Graph
  • Type of GPU/CPU
  • Uptime Percentage
  • Remaining Compute Hours
  • Daily block Rewards Earnings
  • Connectivity Tier
  • Notifications

For a detailed explanation of monitoring and managing your worker, see Monitor and Manage Workers.

Most common questions

Q: My graphics card is sufficient, but my internet or RAM is not enough. Can I still receive airdrop rewards?

A: Yes, you can still receive rewards by running your Worker properly, although not as much as those who meet all the requirements and get jobs.

Q: I have followed all the steps correctly, but my Worker is not visible on the website. What should I do?

A: If you've completed all the steps in the guide and your Worker is still not visible, you can create a ticket in the #support-tickets channel on the Discord server for assistance.

Q: Should I keep my computer on 24/7?

A: For maximum airdrop rewards and system stability, it's recommended to keep your computer running continuously. You can "pause" the system in emergencies, but extended periods of downtime may result in suspension.

Q: Can I participate using a VPS?

A: It is not recommended due to both the cost and potential issues it may cause.

Q: My Worker status shows "Idle" - is this a problem?

A: No, "Idle" status means your Worker is not currently receiving jobs. There's no issue with your system in this state.

📘

If you're seeking answers to other technical questions related to Worker, please refer to the Troubleshoots Worker page.

Worker Statuses

🟢 up/running

Running status is indicative that everything installed correctly and everything is in normal operations. No issues.

🟢 Idle

Idle status is indicative that everything installed correctly and everything is in normal operations but it has not been hired by someone yet. It is awaiting work. No issues.

🟡 Paused

Paused status is indicative that the client has manually suspended or disabled the node. They can resume it themselves.

🔴 Down

Down status is indicative that a worker is down. and needs to re-run the commands.

🔴 Failed

Failed status is indicative of a connection/outage problem or the device is offline.
The device is not communicating and is unavailable or experiencing another form of outage such as:

  • Error during startup: There may have been errors during the startup of your worker that prevented it from launching successfully.
  • Resource issues: It's possible that there aren't enough resources available for your worker to start, such as allocated memory, CPU time, or other resources.
  • Network failure: Network issues can prevent the establishment of connection with the platform or other services, leading to startup failures.

🟠 Blocked

Blocked status is indicative that we detected GPU utilization that was not authorized by our internal checks. It's important that GPU availability is dedicated 100% to the task being volunteered for the health of the DePin.

Blocked status occurs in a few different flavors, but mainly these:

  • Excessive GPU Utilization: Playing games, Graphic intensive utilization, etc. (You'll need to pause it before you start usage)
  • Mining Detection: FYI - Our team has implemented an update to detect mining devices and instances with high GPU usage, resulting in an automatic ban.

🟣 Unsupported device

Unsupported status is indicative that your worker or its current configuration is not supported into the IO.NET platform at this moment. This could be due to incompatibility with the required software version, operating system, or hardware components. The list of supported devices can be checked here

🟣 Inactive

Inactive status is indicative that your worker has been inactive for more than 5 days. This may have been caused by pausing a worker and forgetting about it, an outage, or a technical / communication issue.

Remediation
If no technical issues are discovered, workers can resume their Inactive status by clicking Resume.
If technical problems exist, the client may need to navigate to Docker Desktop and:

  • Stop all containers
  • Remove images
  • Re-run docker command to reset the worker

CLI Steps

  • Stop Containers:
    docker stop $(docker ps -aq) && docker rm -fv $(docker ps -aq)
    
  • Remove Images:
    docker image prune -af
    
  • Re-run Commands:
    docker run -d -v /var/run/docker.sock:/var/run/docker.sock -e DEVICE
    

🚧

DEVICE_NAME // DEVICE_ID // USER_ID // OPERATING_SYSTEM entries within the code block need to be replaced by the clients information

🟤 Terminated

The terminated status is indicative that your worker was interrupted or terminated. This can happen for several reasons such as:

  • The device/GPU has gone to sleep or in hibernation mode.
  • The device/driver/OS suffers a failure.
  • Automatic updates.

Remediation

The client must create a new worker via the ioWorker portal.


📘

Encountering problems? Feel free to open a support ticket by logging into your IO.Net account and submitting a ticket!