Skip to main content
Internet Computer Logo

What is the Internet Computer?

The Internet Computer is a decentralized blockchain protocol that enables autonomous serverless cloud functionality at web speed. Like the Internet (which is composed of many machines adhering to TCP/IP protocol) and blockchain protocols (such as Bitcoin and Ethereum), the Internet Computer is built on a novel consensus mechanism and cryptographic protocols. The Internet Computer blockchain runs on nodes installed in independent data centers around the world. These nodes are organized into subnet blockchains, which can host canisters — the Internet Computer’s version of smart contracts. Canisters are computational units that bundle together code and state, running concurrently and communicating asynchronously.

Key Features

Web-Speed Performance

Process transactions and serve web content at speeds comparable to traditional cloud services

Unbounded Scalability

Scale capacity by adding new subnet blockchains without compromising decentralization

Chain-Key Cryptography

Novel cryptographic protocols including threshold signatures and non-interactive distributed key generation

Decentralized Governance

Network Nervous System (NNS) enables token holder governance of the entire protocol

Multi-Chain Integration

Native Bitcoin and Ethereum integration through chain-key signatures

Canister Smart Contracts

WebAssembly-based smart contracts that can serve web content and store unlimited data

Architecture Overview

The Internet Computer is built on several layers: Replica Software — The core client software that runs on every node, implementing the consensus protocol, execution environment, and state management. Network Nervous System (NNS) — A decentralized governance system that controls the network through proposals and voting by ICP token holders. Subnets — Independent blockchains that run in parallel, each hosting a subset of canisters. New subnets can be created to scale capacity. Canisters — Smart contracts that bundle code and state, with the ability to hold tokens, serve web content, and communicate with other canisters.

Getting Started

Quickstart

Get the replica running locally in minutes

Building from Source

Build the Internet Computer replica from source code

Architecture Guide

Understand the system architecture and design

API Reference

Explore the core APIs and interfaces

Resources

GitHub Repository

View the source code and contribute

Developer Forum

Join the community discussions

Dashboard

Monitor network metrics and statistics

DFINITY Foundation

Learn about the foundation behind the Internet Computer

Who Should Use This Repository?

If you want to understand how the Internet Computer works under the hood by examining the source code and building it locally, this repository provides the complete implementation of the replica software.
Study the implementation of novel consensus mechanisms, chain-key cryptography, and the Network Nervous System governance protocol.
Learn how to run and maintain Internet Computer nodes that participate in the network. The repository includes IC-OS operating system images used by production nodes.
Build new SDKs, oracles, wallets, or tools that interact with the Internet Computer protocol at a low level.
Contribute improvements to the core protocol implementation. See our contributing guide for details.
If you’re an application developer looking to build dApps on the Internet Computer, you should use the Canister SDK instead, which provides a lightweight development environment optimized for canister development.

Build docs developers (and LLMs) love