# Summary

Welcome to the documentation portal for OWCT

![](/files/lhz8IIgQvuqdI4Bses0L)

Welcome to the go-to portal for in-depth information about the One World Chain (OWCT) platform and ecosystem and how to interact with them!

The OWCT documentation is separated into three major parts:

**1.** **OWCT Docs**. This part is available in the sections below is for anyone who wants to learn more about OWCT without going into detail that only developers would usually need to know.

**2.** **Developer docs.** Developers wishing to build on top of OWCT and its mobile-centric infrastructure, or run validator nodes, should consult this [portal](https://docs.oneworldchain.org/).

**3. Tutorials.** This session contains various consumer-focused tutorials. It can be accessed here. \*\*\*\*

{% hint style="info" %}
Join our [Telegram group](https://t.me/oneworldchain)\
Or say hello at: <hello@oneworldchain.org>
{% endhint %}


# Learn about the OWCT Platform

One World Chain is a Decentralized public platform, with low-cost and faster transactions. The Blockchain is EVM compatible and powered by its native utility token, OWCT.

In this section, you will be able to learn more about:

* The vision and strategy behind the platform and its main components
* How the OWCT blockchain works, its native OWCT token and its governance and development
* How OWCT is connected to other major chains


# OWCT Overview: vision, strategy and platform components

OWCT is a decentralized blockchain-powered platform and technology stack whose goal is to enable genuine mass adoption of crypto payments and decentralized finance (DeFi).

### The Problem

The currently existing financial system falls way short of the objective of providing the people globally with access to fast, frictionless payments, attractive financial services and passive income opportunities.

This is especially relevant for the developing countries. Hundreds of millions of people there lack access even to the basic banking services, let alone access to more advanced financial opportunities. They also often have to transact using highly unstable fiat currencies, prone to episodes of sudden profound devaluation.

At the same time, even in the poorest countries, the pace of mobile phone adoption has been staggering. In sub-Saharan Africa, more people have access to mobile phones than to clean drinking water.

In addition to this, the rise of blockchain technology and cryptocurrencies has finally created the possibility for potentially anyone on the planet to send and receive funds without the permission of any entity, using currencies that cannot be manipulated.

### What the crypto industry still lacks

However, while we are observing a lot of activity in the crypto space (especially in the crypto asset markets, and the DeFi and NFT sectors), genuine mass adoption of crypto payments and DeFi is still not there.

The currently available products and tools, with their complicated and disparate UX, are mostly geared towards sophisticated crypto users with significant financial means.

### How we go about it

Our approach to bringing crypto payments and DeFi to the masses primarily consists in empowering other projects, businesses, organizations and communities to adopt crypto payments and decentralized finance (DeFi).

This is achieved by providing clients with **convenient, mobile-first tools for creating and managing token-powered environments**, as well as for onboarding users to those and enabling them to interact.

### Platform Components

The OWCT platform has two main components:

1\) **The OWCT blockchain**. The EVM-compatible public blockchain is the decentralized, permissionless backbone of the OWCT platform and ecosystem.

2\) **A set of reference decentralized finance (DeFi) products and tools**. The goal of these is to pave the way for the initial adoption of the platform.


# The OWCT Blockchain

## Network Overview and Key Metrics

OWCT is the decentralized EVM-compatible public blockchain that powers the OWCT platform and ecosystem. It is fully compatible with Ethereum meaning that any smart contract that can be deployed on the latter can also run on top of OWCT.

The OWCT blockchain uses a variant of delegated Proof of Stake (dPoS) for achieving [consensus](/general/learn-about-the-fuse-platform/fuse-network-blockchain/owct-consensus). The consensus is secured by a significant number of independent validators, only one of which is run by the OWCT core team.

Validators are also responsible for the most important type of governance on OWCT, namely, adopting the network protocol changes.

The native token of the network is called OWCT. New OWCT tokens are issued with every added block and are also use to pay for gas, just like ETH on Ethereum.

The OWCT blockchain is designed to ensure fast block confirmation times and a low cost of transactions. The average block interval on OWCT is around 3 seconds, and it currently costs much less than $0.01 to get a transaction confirmed.

In its present capacity, the OWCT blockchain is capable of processing around 5K transactions per second (TPS). The faster processing of native token transfers is due to the fact that they do not involve computations run on the network's virtual machine.


# Discovering the Network

The following information will help you discover and connect to the OWCT blockchain:

* Network name: **One World Chain**
* ChanId: **309075**
* Gas price: **1.500000007 gwei**
* RPC
  * official RPC: <https://mainnet-rpc.oneworldchain.org/>
* Explorer: <https://mainnet.oneworldchain.org/>


# OWCT Consensus

Consensus refers to the agreement process between nodes in a network. The nodes must agree on which transactions to include in the next block on the chain before these transactions are committed.

There are 2 aspects to the process - the actual consensus mechanism to add transactions to blocks, and Sybil protection and validator incentives.

### Sybil protection and incentives via delegated proof of stake

OWCT uses delegated Proof of Stake (dPoS) to provide Sybil protection and align the validator incentives.

In order to participate in securing the network consensus, a node operator must stake a minimum required amount of OWCT tokens (currently set at 5,000 OWCT). Becoming a validator on OWCT is permissionless, meaning that a node operator just needs to satisfy certain technical requirements. The need to stake OWCT ensures that an entity cannot create multiple seemingly distinct validators without incurring a significant cost. Hence, the Sybil protection. Currently, the maximum number of validators on OWCT is 21.

The validator who publishes a block agreed upon during a given consensus round is rewarded by the network protocol in newly minted OWCT tokens. They also receive the fees users paid for the transactions included into the block.

Over time, validators can expect to publish a share of blocks equal to their share of the overall stake. Since OWCT uses dPoS, a validator can increase their share by attracting OWCT tokens from delegators. The mechanics of delegation on OWCT are discussed in more detail on the [following page](/general/learn-about-the-fuse-platform/fuse-network-blockchain/validators-and-delegation).

Validators who violate the consensus rules (by, for instance, not revealing random numbers) can expect their stake (including the delegators' contribution) to be frozen. This provides a strong incentive for validators to behave in the desired manner.

### The AuRa Consensus Model

OWCT currently uses Parity's AuRa (Authority Round) [consensus model](https://openethereum.github.io/Aura) to append blocks to OWCT. This consensus mechanism is also notably used by the xDAI blockchain.

In this model, the validators take turns signing blocks. A signed block is broadcast to all validators, and if the majority agree it is valid, it is added to the chain. A new block is added every 3 seconds, regardless of whether any transactions occurred during that time.

Although, in theory, achieving transaction finality in this model may take some time, for practical purposes, a transaction on OWCT can be considered finalized after a single block confirmation.


# Delegation through Staking with Validators

As discussed on the previous page, OWCT validators can boost their share of the overall consensus stake by attracting funds from other users who do not run validator nodes themselves.

Those users are referred to as 'delegators.' A delegator is free to choose any validator (or validators) and stake any amount of OWCT with them to participate. The most convenient way to delegate OWCT to a validator is via the OWCT Staking [platform](https://staking.oneworldchain.org).

A delegator receives the share of OWCT block rewards proportionate to their stake minus the fee paid to their chosen validator. The minimum fee is currently set at 15%. This value was chosen to mitigate the risk of validator consolidation through offering very low delegation fees.

Currently, delegators are allowed to unstake their OWCT at any time but plans are in motion to introduce a minimum staking period.


# Ethereum (EVM) Compatibility and Smart Contracts

In addition to the information about the transactions processed by OWCT, its nodes also permanently store and update the code and current state of smart contracts. Smart contracts are computer programs (persistent scripts) that anyone can interact with by sending transactions invoking them. Smart contracts also have their own accounts which can hold token balances.

On the network nodes, smart contracts are stored and executed in a special environment called 'virtual machine' (VM). The OWCT blockchain is currently broadly compatible with Ethereum's virtual machine (EVM).

This means that any smart contract or decentralized application (dApp) that can be deployed on Ethereum or another EVM-compatible chain will also function if deployed on OWCT, including the ERC20 and ERC721 standard-compatible contracts, for instance. No modification of the smart contract code is required.


# Boosting OWCT's Scalability

Scalability is a challenge faced by all public blockchains, and OWCT is no exception. Although, currently, the OWCT blockchain is far from being saturated by the incoming transactions the project team is keenly aware that this may change at any moment.

Hence, research has been ongoing into the potential options for boosting the scalability of OWCT without significantly sacrificing decentralization and security.

One approach the OWCT team has been considering closely for boosting scalability is optimistic rollups. We have been carefully researching the available options, including Arbitrum and Optimism and we hope to be able to update our community soon on the state and future direction of that effort.

Another line of research and development work has been around Flutter Layer 2 payments (FL2P) relying on zero-knowledge (ZK) rollup technology. It involves processing most of the transactions within a ZK-enabled second layer environment and periodically batching or 'rolling up' transactions as a single ZK proof on the Layer 1 blockchain.

FL2P is an SDK that will enable developers to integrate ZK rollups directly into their mobile crypto wallet software. As OWCT's ecosystem is mobile-centric, the integration of FL2P into the OWCT wallet technology will allow scaling a lion's share of the network transactions.


# OWCT

The OWCT token is the native currency of the blockchain and platform, just like ETH on Ethereum.

## OWCT utility:

* **Transaction fees** Being the native currency on the OWCT blockchain, OWCT is required to pay fees to the network in order to approve transactions.
* **Validation** Token holders can stake OWCT to become a validator. The minimal staking requirement is 5k. (<https://status.oneworldchain.org/>)
* **Voting** Validators vote on protocol changes with their staked OWCT. Which means validators with higher amounts of OWCT staked can have a bigger vote on network upgrades and governance changes (until phase 2 where delegation is activated)
* **Staking (for delegators)** Any OWCT holder can choose one or more validators to delegate any amount of OWCT they wish. They receive a share of the OWCT block rewards proportionate to the share of their stake in the total stake, minus the minimum 15% fee paid to the validator(s).
* **Payments** As OWCT is the native currency on OWCT, sending it does not require interactions with smart contracts. Thus, OWCT transfers are potentially faster and less costly in terms of transaction fees.

**IMPORTANT**: Merely possessing any amount of OWCT tokens does not endow holders with any rights to participate in the governance of the OWCT platform or any revenue streams related to its real-world performance.

## Obtaining OWCT

### Where to Buy

OWCT is available for purchase on a number of centralized (CEX) and decentralized DEX exchanges.

### Where to Farm

At the moment, the OWCT token is sometimes used by the project team to power liquidity rewards (yield farming) programs to boost liquidity on DEXes

The ongoing liquidity rewards programs on DEXes can be discovered [here](https://oneworldchain.org/contests).

### Other ways of obtaining OWCT

From time to time, the OWCT team uses OWCT to pay rewards to the members of the community for various forms of participation and community engagement. The best way to stay up-to-date about these opportunities is to follow OWCT's social channels.

The OWCT token is also used to power OWCT grants and bounties. Please consult the [Grants and Bounties](https://oneworldchain.org/contests) section for more details.

\_\_


# OWCT Tokenomics

Currently, the OWCT token supply is set to follow a **none inflationary model**.

With each new block created every 3 seconds on OWCT.

One World Chain (OWCT) TOKENOMICS

Total / Max. Supply: 21M

Combined DEX LPs - 3,000,000

Nodes / Stake / Miscellaneous - 470,000

Airdrops / Giveaway - 500,000

BUIDL ON CHAIN Contest - 200,000

Present / Future CEX Listings - 4,200,000

Community MEME Launch - 130,000

Development / Marketing - 2,000,000

Amount of OWCT to be Locked for Future Fundraising and growth is 10,500,000. This token lock will last 7years and 1.5M $OWCT will unlock every year starting September 5th, 2025 through September 5th, 2031.

The Blockchain Block rewards APY is set to 0% and Validators are paid from on Chain transaction fees. This means $OWCT is non-inflationary and will never have more than Twenty-One Million (21M) supply


# Wallets Supporting OWCT

## Wallets

Metamask

Metamask Mobile

Trust Wallet

... and more


# OWCT on Other Chains

Interoperability with other major blockchains is important for the growth of OWCT and the prospects of realizing its vision. One of the ways of securing it is through enabling the versions (wrappers) of OWCT on other chains.

Currently, wrapped versions of OWCT token exist on Ethereum (mainnet), Binance Smart Chain and Base Chain.


# Interoperability

Here, you can find the information that can help you navigate the interoperability options that you can use to transfer tokens to and from the OWCT blockchain.

The OWCT team strongly believes in interoperability among public blockchains. No single platform is likely to become fully dominant in the future.

Hence, interoperability solutions enabling transfers between OWCT and other blockchains are vital for the continued growth of the OWCT platform and ecosystem.

The OWCT team has been making considerable progress in getting OWCT added by the leading operators. Currently the OWCT blockchain is connected to other blockchains via the following multichain bridges and value transfer protocols


# OWCT Governance and Development

OWCT is already a significantly decentralized platform and plans are in motion to achieve full community control over it in the future.

**Network Validators.** OWCT validators are entrusted with deciding whether to adopt proposals. Currently, every validator has one vote regardless of their share of the overall network stake but this is likely to change.


# OWCT Assembly

OWCT Assembly is a governance body formed from particularly active members of the OWCT community. Its formation is the first step in transitioning full governance and ownership over the OWCT platform to the community.

OWCT Assembly's **current role includes the following**:

* taking over the control over the community discussion platform;
* implementing the Snapshot voting mechanism on OWCT; and
* managing the Community Token Pool.


# OWCT for Business

While the OWCT platform strives to provide crypto users with a solid range of options they expect to see on a major EVM-compatible blockchain, including wallets, decentralized finance (DeFi), NFTs, and so on, our main focus remains developing OWCT into alternative rails for the global payments industry. We want a future where hundreds of millions of people worldwide use crypto for their everyday needs.

However, it is our conviction that most consumers will not use the blockchain for payments directly, as crypto-savvy people do now, at least in the foreseeable future. Most people are not prepared to run their bank accounts directly on-chain and be exposed to the friction and risks involved.

Instead, applications will need to be built that will make the experience of making payments and other financial transactions as smooth and close to what users have become familiar with while using modern payment apps like Venmo and Revolut. These will run on top of the blockchain but they will not force users to handle private keys or pay transaction fees.

This section provides an introduction to the OWCT tools that businesses and other organizations can already put to use to develop just such applications.


# Network Details

### Blockchain explorer

**OWCT Explorer** is the official blockchain explorer for OWCT. With this full-featured, open-source explorer you can view transactions, accounts & balances, access data via the API, and read and verify smart contracts.

{% embed url="<https://mainnet.oneworldchain.org>" %}

###

Please refer to [node-example](https://github.com/OneWorldChain/CoinNetwork/tree/master/node-example) if you wish to run your own node.


# OWCT Mainnet

### General Information

| Block size | Block speed | Gas price        | Patchset | Native token | Network ID |
| ---------- | ----------- | ---------------- | -------- | ------------ | ---------- |
| 10,000,000 | 3 seconds   | 1.500000007 GWei |          | OWCT         | 309075     |

* Network name: **One World Chain**
* ChainId: **309075**
* Gas price: **1.500000007 gwei**
* RPC
* official RPC: <https://mainnet-rpc.oneworldchain.org/>​
* Explorer: <https://mainnet.oneworldchain.org/>​

### Blockchain explorer

**OWCT Explorer** is the official blockchain explorer for OWCT. With this full-featured, open-source explorer you can view transactions, accounts & balances, access data via the API, and read and verify smart contracts.

{% embed url="<https://mainnet.oneworldchain.org>" %}

###


# OWCT Testnet

### General Information

| Block size | Block speed | Gas price        | Patchset | Native token | Network ID |
| ---------- | ----------- | ---------------- | -------- | ------------ | ---------- |
| 10,000,000 | 3 seconds   | 1.500000007 GWei |          | OWCT         | 552981     |

* Network name: **One World Chain Testnet**
* ChainId: **552981**
* Gas price: **1.500000007 gwei**
* RPC
* official RPC: ​<https://testnet-rpc.oneworldchain.org/>
* Explorer: <https://testnet.oneworldchain.org/>​

### Blockchain explorer

**OWCT Explorer** is the official blockchain explorer for OWCT. With this full-featured, open-source explorer you can view transactions, accounts & balances, access data via the API, and read and verify smart contracts.


# Token Faucets


# Network Upgrades

Major updates on the network level are introduced via forks.

{% hint style="danger" %}
Forks are used to introduce new functionality or fix security related issues. Node runners will receive instructions on how and when to update their nodes in the event of a fork.
{% endhint %}

Information related to forks along with upgrade information will be posted here. If any assistance is needed, feel free to reach out or ask questions through the forum or other channels.


# Upgrade Guide

For Nodes, Bootnodes and Validators

{% hint style="info" %}
This guide assumes that you have created your node via our quickstart script. If you have built you own client using our spec then ensure that your client matches the official supported client and you use the most up to date chain spec.
{% endhint %}

### Prerequisites

The update will pull the latest database from our latest snapshot so please ensure that you have at least 20GB disk space free before starting.

### Step 1 - CD to the location of quickstart.sh and update quickstart

```
cd <location of quickstart.sh>
wget -O quickstart.sh https://raw.githubusercontent.com/OneWorldChain/OWCT/master/scripts/quickstart.sh
```

### Step 2 - Run quickstart and agree to upgrade

```
sudo ./quickstart.sh
Agree [Y] when prompted to upgrade
Wait for script to complete
```

### Step 3 - Verify Upgrade

Check your node on our [status site](https://status.oneworldchain.org/) It should be online and the client should be "OpenEthereum//v3.2.6-stable", ensure your node is connected to peers and syncing/ in sync.

### &#x20;<a href="#step-3-verify-upgrade" id="step-3-verify-upgrade"></a>

Check your node on our [status site](https://status.oneworldchain.org/) It should be online and the client should be "OpenEthereum//v3.2.6-stable", ensure your node is connected to peers and syncing/ in sync.


# Upgrade Guide (explorer nodes)

This guide is intended specifically for explorer nodes.

Since we don't host snapshots for explorer DBs, some extra steps are required in order to update from V1.0.0 to V2.0.0.

### Step 1 - Stop all running containers

```
sudo docker stop $(sudo docker ps -q)
```

### Step 2 - Pull the latest quickstart script

```
cd <to quickstart.sh location>
wget -O quickstart.sh https://raw.githubusercontent.com/OneWorldChain/OWCT/master/scripts/quickstart.sh
```

### Step 3 - Upgrade your DB using OEs upgrade tool

It is highly recommended to take a back up of your database folder before attempting!.

Follow the instruction here to upgrade from V13->V16 DBs <https://github.com/openethereum/3.1-db-upgrade-tool>. The data base is stored in \<path to quickstart.sh>/fusenet/database/FuseNetwork/db/dee77c98f8210dbb/archive

### Step 4 - Update Client version in env file and rerun quickstart

```
vim .env
Add the following (without quotes) "CLIENT=OE"
Save and exit :w :q
sudo ./quickstart.sh
```

### Step 5 - Verify Upgrade

Check your node on our [health site ](https://status.oneworldchain.org)It should be online and the client should be "OpenEthereum//v3.2.6-stable", ensure your node is connected to peers and syncing/ in sync.


# Block 13,800,000 Fork

This fork Requires OE 3.2.6 or newer.

​[EIP 152](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-152.md)​

​[EIP 1108](https://eips.ethereum.org/EIPS/eip-1108)​

​[﻿EIP 1283](https://eips.ethereum.org/EIPS/eip-1283)​

﻿[EIP 1344](https://eips.ethereum.org/EIPS/eip-1344)​

​[﻿EIP 1706](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1706.md)​

​[﻿EIP 1884](https://eips.ethereum.org/EIPS/eip-1884)​

​[﻿EIP 2028](https://eips.ethereum.org/EIPS/eip-2028)​

​[EIP 2565](https://eips.ethereum.org/EIPS/eip-2565)​

​[﻿EIP 2929](https://eips.ethereum.org/EIPS/eip-2929)​

﻿[EIP 2930](https://eips.ethereum.org/EIPS/eip-2930)​


# FIP's

The OWCT Improvement Proposal

### What is a FIP?

FIP stands for OWCT Improvement Proposal. A FIP is a design document providing information to the OWCT community, or describing a new feature for OWCT. The FIP should provide motivation and technical specification for the feature.

| FIP   | Description                                                  | Status |
| ----- | ------------------------------------------------------------ | ------ |
| FIP-1 | Introduction and explanation about FIP's                     | Done   |
| FIP-2 | Enabling delegation of OWCT coin to validators               | Done   |
| FIP-3 | Lowering the stake to run a validator node to 5k OWCT        | Done   |
| FIP-4 | Multi validators, validators can run multiple nodes          | Undone |
| FIP-5 | Validators key splitting, validator will have separated keys | Undone |
| FIP-6 | Bridge implementation should be changeable by voting         | Undone |
| FIP-7 | Tiny Ethereum Network transactions on end of cycle           | Undone |
| FIP-8 | Adjusting Block Rewards by the Validator's Stake             | Done   |


# OWCT Consensus

Consensus is a fault-tolerant mechanism that is used in blockchain systems to achieve the necessary agreement on the single state of the network. OWCT network is using a [Delegated Proof of Stake](https://en.bitcoinwiki.org/wiki/DPoS) (DPoS) consensus model. DPoS is a variation of [Proof of Stake](https://en.bitcoinwiki.org/wiki/Proof-of-stake) consensus. In PoS there are a set of validators that are responsible for keeping the network updated and validating the network's state. They do this in turns, every validator has their turn in line. On their turn the validator updates the network's state, and the rest of the validators check that the update is valid.

![](/files/mFxRlYslK4wO1S8udo1R)

Consensus contract is used to manage the list of the network validators and delegators

BlockReward contract is calculates the reward amount that validators and delegators will receive on each block validation. The reward size is proportional to validator's stake.

With Voting contract validators are vote on various changes on these 3 base level contracts. All those contracts are proxied with implementation that handles the logic. The implementations can be changed only by the Voting process.

The bridge is used to transfer the OWCT native token between OWCT and Ethereum networks.

## [Consensus - 0x73D22450B43adc1f67e08e983664323d67cE62b4](https://mainnet.oneworldchain.org/address/0x73D22450B43adc1f67e08e983664323d67cE62b4)

This contract is responsible for handling the network DPos consensus. The contract stores the current validator set and chooses a new validator set at the end of each cycle. The logic for updating the validator set is to select a random snapshot from the snapshots taken during the cycle.

The snapshots are taken of pending validators, who are those which staked more than the minimum stake needed to become a network validator. Therefore the contract is also responsible for staking, delegating and withdrawing those funds.

Stake amount for a validator is the sum of staked and delegated amount to it's address.

This contract is based on `non-reporting ValidatorSet`.

{% hint style="info" %}
minimum stake amount = 5,000 OWCT token

cycle duration blocks = 57600 (approximately 2 days)
{% endhint %}

## [Block Reward - 0x095bB268A7D771d0EC805E8748114DC3dB69BF48](https://mainnet.oneworldchain.org/address/0x095bB268A7D771d0EC805E8748114DC3dB69BF48)

This contract is responsible for generating and distributing block rewards to the network validators according to the network specs (0% yearly inflation).

Another role of this contract is to call the snapshot/cycle logic on the Consensus contract

This contract is based on `BlockReward`.

## [Voting - 0x1F7238805a561C6AfD9fE48c64d4B5a9274b37E2](https://mainnet.oneworldchain.org/address/0x1F7238805a561C6AfD9fE48c64d4B5a9274b37E2)

This contract is responsible for opening new ballots and voting to accept/reject them. Ballots are basically offers to change other network contracts implementation.

Only network validators can open new ballots, everyone can vote on them, but only validators votes count when the ballot is closed.

Ballots are opened/closed on cycle end.

{% hint style="info" %}
max number of open ballots = 100

max number of open ballots per validator = 100 / number of validators

minimum ballot duration (cycles) = 2

maximum ballot duration (cycles) = 14
{% endhint %}

## [Proxy Storage](https://mainnet.oneworldchain.org/address/0xe71048Be8046291a4eEFB423D40B4F08a8d6ce29)

This contract is responsible for holding network contracts implementation addresses and upgrading them if necessary (via voting).


# Contracts Overview

![](/files/EilgrzS9zWLoPMbZ1SHa)


# Stake, Delegate and Withdraw

The basic requirement to become an OWCT Chain validator is to stake at least 5,000 OWCT tokens. The stake includes both staked and delegated OWCT tokens associated with the address. This guide walks through the process of using MEW (<https://MyEtherWallet.com>) to interact with the OWCT network.**Roadmap** - These functionalities will be integrated into our Studio, eliminating the need for technical knowledge in the future.

## Stake <a href="#stake" id="stake"></a>

There are two options to stake (both should be called from the address which would be the validator)

1. 1.Send OWCT tokens to the [consensus contract](https://mainnet.oneworldchain.org/address/0x73D22450B43adc1f67e08e983664323d67cE62b4) - 0x73D22450B43adc1f67e08e983664323d67cE62b4 on the fuse network.
2. 2.Call the \`stake\` function on the [consensus contract](https://mainnet.oneworldchain.org/address/0x73D22450B43adc1f67e08e983664323d67cE62b4) - 0x73D22450B43adc1f67e08e983664323d67cE62b4 on the fuse network.

## Delegate <a href="#delegate" id="delegate"></a>

OWCT token holders who don't want to run a node by themselves but still wish to participate in governing the network can delegate any amount to one of the validators.Delegating is done by calling the \`delegate\` function on the [consensus contract](https://mainnet.oneworldchain.org/address/0x73D22450B43adc1f67e08e983664323d67cE62b4) with the validator address as data (see screenshot from MEW).

![delegate](https://3886961007-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQROvzQPC4eD8u5AQhv%2Fuploads%2FfW2bi43f3TMgmwzi7wSZ%2Fimage.png?alt=media\&token=f30eb8a1-ff40-4f1e-9f73-89466ea2c83e)

## Withdraw <a href="#withdraw" id="withdraw"></a>

Both stakers and validators can withdraw their OWCT tokens, up to the staked/delegated amount, at any time. The withdrawn amount will be deducted from the validator stake amount, and if the stake amount becomes below the minimum stake amount - the validator will be removed from the OWCT chain validators list.There are two options to withdraw:

1. Call the \`withdraw\` function on the [consensus contract](https://mainnet.oneworldchain.org/address/0x73D22450B43adc1f67e08e983664323d67cE62b4) with one parameter - the amount to withdraw. This call is for stakers, and will reduce the stake amount of the sender address.
2. Call the \`withdraw\` function on the [consensus contract](https://mainnet.oneworldchain.org/address/0x73D22450B43adc1f67e08e983664323d67cE62b4) with two parameters - validator address and amount to withdraw. This call is for both stakers (who can use their own address as the parameter) and for delegators to withdraw their delegated stake on a specific validator.

![withdraw option no. 1](https://3886961007-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQROvzQPC4eD8u5AQhv%2Fuploads%2FyBpFV4W9N9vgpGyFEr76%2Fimage.png?alt=media\&token=0f715110-4b8d-4a35-81a6-93383d903f42)

![withdraw option no. 2](https://3886961007-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQROvzQPC4eD8u5AQhv%2Fuploads%2FTGmteQzEhEXuDVbibfVt%2Fimage.png?alt=media\&token=84a4f2a6-3c5e-41d7-b427-a845db9f82d2)


# Vote

OWCT chain functionality can be changed by voting on the contracts implementations. New implementations can be deployed, and opened to vote by validators for others to decide on whether to accept/reject the changes.

## Open a new ballot

In order to open a new vote, a validator needs to call the \`newBallot\` function on the [voting contract](https://mainnet.oneworldchain.org/address/0x1F7238805a561C6AfD9fE48c64d4B5a9274b37E2) with the following params:

* startAfterNumberOfCycles - number of cycles (minimum 1) after which the ballot is open for voting
* cyclesDuration - number of cycles (minimum 2) for the ballot to remain open for voting
* contractType
  * 1 - Consensus
  * 2 - BlockReward
  * 3 - ProxyStorage
  * 4 - Voting
* proposedValue - address of the new implementation deployed for the relevant contract type
* description - text description which should contain the reason/change introduced in the ballot

![new ballot](/files/vrxbNMdy1QKuotyEDXoc)

## Check ballot info

Everyone can check all the ballots that were created using the \`getBallotInfo\` function. This function receives two params:

* id - the ballot id
* key - account address

![getBallotInfo](/files/ay9svx4IyAmB1hYQpQk2)

## Vote

Everyone can vote on open ballots, after the start block has passed and until the end block hasn't yet.

It's important to note that at the end of a vote, only validators count towards the final result.

Voting is done by calling the \`vote\` function, which receives two params:

* id - the ballot id
* choice - 1 is accept, 2 is reject

![vote](/files/Vlf6iRw9O3cVlegUIEPj)

Some other useful functions on the [voting contract](https://mainnet.oneworldchain.org/address/0x1F7238805a561C6AfD9fE48c64d4B5a9274b37E2) are:

## getQuorumState

Returns the state of a specific ballot id: 1 - in progress, 2 - accepted, 3 - rejected

## getAccepted/getRejected

Returns the number of accepts/reject of a specific ballot id.

## activeBallots

Returns an array of active ballot ids.


# End-of-Cycle Flow

This is a description of the End-of-Cycle flow that completes the Cycle and handles rewards and enforces the consensus

1. BlockReward.reward is calls every block and when the cycle ends calls the Consensus.cycle
2. Consensus.cycle is responsible for several functions. Eventually does the following two actions:
   1. Sets the boolean Consensus.ShouldEmitInitiateChange to true
   2. Calls BlockReward.onCycleEnd which sets the boolean BlockReward.shouldEmitRewardedOnCycle to true as well
3. The owct-validator-app (fuseapp container on validator vms) checks the value of the above two booleans and when true calls the following two functions (two separate transactions):
   1. Consensus.emitInitiateChange
   2. BlockReward.emitRewardedOnCycle

Note that only one validator can make this call successfully so the 1st one succeeds and all others fail. But it’s ok because those are 0-gas transactions. So actually the validator who is the next one to validate a block is the one who is successful in making those calls.

1. The above calls emit the following events:
   1. Consensus.InitiateChange
   2. BlockReward.RewardedOnCycle
2. The bridge oracles fuseoracle-initiate-change and fuseoracle-rewarded-on-cycle are responsible for listening to above events.
3. Those oracles should run on all validators and call submitSignature on the HomeBridgeNativeToErc contract in owct network - each validator should submit the signature for each of the oracles (events).
4. Once enough validators have submitted their signatures (majority of the current validators), an event CollectedSignatures is emitted by the home bridge (again one event for each one of the previous events in section 4).
5. The bridge oracle fuseoracle-collected-sigantures is responsible for listening to the CollectedSignature events and all validators should get it. The validator responsible for transmitting the transaction to mainnet is actually the last one to submit the signature in section 7 and its address is part of the event details so other validator oracles “know” it’s not their turn and skip the event. If a validator is down or out of money or infura is deaf - the next one in line (in the ValidatorSet) is responsible for transmitting to mainnet.
6. Eventually on mainnet we are supposed to see two transactions to the ForeignBridgeNativeToErc each cycle - one updating the new validators and one minting the owct tokens which were created during this cycle on owct.

Note that if the new validator set transactions fail on mainnet there’s a chance the minting will fails as well, because before transmitting it checks if all signatures are valid and there can be a situation where new validators were added on a cycle and were fast enough to submit their signatures on owct end-of-cycle transactions but weren’t updated on mainnet due to failure of the 1st transactions so the 2nd one will actually contain “invalid” signatures from the mainnet perspective.

Example for a successful flow (from 7/6/2020)

1. Consensus.emitInitiateChange transaction on owct - <https://mainnet.oneworldchain.org/tx/0x441e2cb5f4aa20948c51020ebd8f7fba7c33cf909e31c66d0aff4a11e79ce13d>
2. BlockReward.emitRewardedOnCycle transaction on owct - <https://mainnet.oneworldchain.org/tx/0x34cf4ddfc8afa6154e8c0d5f1de3b7d756b1b0517e8f0efd5794bde40983ba64>


# Contract Addresses

| Contract     | OWCT address                               | OWCT Testnet address                       |
| ------------ | ------------------------------------------ | ------------------------------------------ |
| Consensus    | 0x73D22450B43adc1f67e08e983664323d67cE62b4 | 0xb9D9144038dA9e6b36d0f6dB81EA3dD01E69a337 |
| Block Reward | 0x095bB268A7D771d0EC805E8748114DC3dB69BF48 | 0x50e8A1407f87628B408D7Eb008bD9630c80f3422 |
| Voting       | 0x1F7238805a561C6AfD9fE48c64d4B5a9274b37E2 | 0xca4a7B0C2EA904F565EaA645d18A2e11BA8148ee |


# How to run network nodes

## Run Local Node

Read more at: <https://github.com/OneWorldChain/CoinNetwork/tree/master/node-example>


# Resources & Tools

### DApp Management & Development Tools

[The Graph](https://thegraph.com) supports OWCT data indexing, quierying and display.

[Remix IDE](https://remix-project.org/): It's easy to deploy on OWCT with Remix, simply choose injected web3 and add the OWCT custom RPC to your Metamask.

[JustSmartContracts](https://justsmartcontracts.dev/): another smart contract deployment tool for EVM chains.

[OpenZeppelin Defender](https://defender.openzeppelin.com): Manage smart contract administration including access controls, upgrades and pausing.


# TheGraph

Build of The Graph, we expose a GraphQL API to access the data on the OWCT Network

## Deploying your own subgraph

TheGraph, a decentralized protocol for indexing and querying chain data, supports the OWCT Netork. Go to <https://thegraph.com/> to sign up and create your subgraph.

* Follow the instructions for how to deploy the subgraph
* in `subgraph.yaml`, the network name should be `owct`

## Available Subgraphs

Subgraphs that builded and maintained by the OWCT team, deployed on OWCT internal infrastructure or The Graph hosted service.

### OWCT Consensus

On OWCT graph-node: <https://thegraph.oneworldchain.org/subgraphs/name/owctchain/owct-consensus>


# WalletConnect on OWCT

[WalletConnect](https://walletconnect.com) is an **open-source protocol for data exchange between wallets and decentralized applications (dApps)**. The process takes place via a specialized server and the flow of data is encrypted in both directions.

From the user’s perspective, although the exact details may vary from wallet to wallet, there are two ways of using WalletConnect. In the mobile-to-mobile mode, the user opens the website of the dApp that they are interested in, clicks the “connect wallet” tab there and chooses their preferred wallet. The desktop-to-mobile approach involves using the Wallet Connect-enabled wallet on the mobile phone to scan the QR code of the dApp displayed in the desktop browser. After the session, the dApp may be disconnected, and users are even advised to disconnect dApps for security reasons.

For developers who wish to integrate the WalletConnect functionality into their dApps running on OWCT, we recommend using [this library](https://www.npmjs.com/package/@fuseio/walletconnect-web3-provider).


# Important smart contracts


# OWCT Token


# OWCT Dollar


# Major Deployed Contracts


# Bridges


# OWCT (Mainnet) <=> OWCT (ETH)


# OWCT (Mainnet) <=> OWCT (BSC)


# OWCT (Mainnet) <=> OWCT (BASE)


# ETH (Ethereum network) <=> ETH (OWCT network)


# USDT (Ethereum network) <=> USDT (OWCT network)


# USDC (Ethereum network) <=> USDC (OWCT network)


# BNB (Binance network) <=> BNB (OWCT network)


# How to become a validator

The OWCT network is operated by validator nodes that are hosted by network participants from all around the world. The network allows entrepreneurs to easily plug payments to their products and on-board their users to a platform that allows them to pay, transact and access financial services in their favorite currency.

All the access to the network is public and all the code is open source so it could be customized and localized to their needs. Any community that lives on the OWCT chain needs to pay a small fee to the validators of the network to validate its transactions in the community.

The more communities and users conducting transactions, the more validators will earn as a reward for approving the transaction. This allows the network to grow organically as more usage in the system more network participants rewards grow.

### What it means to be a validator?

[Any entity that is holding the OWCT token can run a node](https://github.com/OneWorldChain/Docs/blob/master/general-1/how-to-become-a-validator/broken-reference/README.md) that approves transaction in the network and in doing so receive rewards in the form of OWCT token (OWCT).

Validators are running special software that holds a copy of the OWCT blockchain and validating transactions in the network.

Every 5 seconds, the network groups the latest transactions broadcasted to the system, validates them and signs them so they could never be changed in the future.

For this work the validators receive block reward (X per block). A yearly inflation of 5% is distributed between all validators (the block reward is updated to accommodate this functionality).

Validators are contributing their computer resources to maintain the network and need to have some technical knowledge in dealing with hosting this kind of software (see [Running a validator node](https://github.com/OneWorldChain/Docs/blob/master/general-1/how-to-become-a-validator/broken-reference/README.md)) and [participate in the network governance through voting](https://github.com/OneWorldChain/Docs/blob/master/general-1/how-to-become-a-validator/broken-reference/README.md).

Validators are the guardians of the network and are in charge of not only maintaining it but also to steer it in its future through the governance mechanism that allows any holder of OWCT token to vote on important decisions and upgrades to the network in its development and resource allocation.

### Who should become a validator?

* **Companies who build on the network** - OWCT open source stack allows many companies to collaborate on the same code-base.

  Allowing any company that is interested in using the OWCT services and code to join as a stakeholder is a new innovative approach to collaboration and partnerships.

  Any company that builds products on the network can own a piece of it and become a stakeholder.

  Running a node in the process will allow the company to earn rewards and grow as the network grows.

  The company can also use this open-source infrastructure to save costs for their development needs.

  Operating a node gives reliable access to the network, participation in its governance and aligns all the different interest behind the operation of the network.
* **3rd party service providers** - We are starting to see many service providers creating and providing services across different blockchains. Services like KYC, exchanges, credit score providers, lenders, etc…

  Any service provider can become a stakeholder in the network and already today we are seeing the potential of cross-blockchain transactions uniting business processes between different entities using cryptography and without middlemen.
* **Community operators on OWCT** - Community operators are the foremost stakeholders in the network and can upgrade themselves to a validator and thus provide better access to their clients.

### Who can become a validator (Technical requirements)

* See [*Running a validator node*](https://github.com/OneWorldChain/Docs/blob/master/general-1/how-to-become-a-validator/broken-reference/README.md)\_\_

### Who shouldn’t become a validator (and what can he still do)

* **Non technical users** - Running a node requires technical background in blockchain and web hosting. It’s not very complicated but also not trivial or basic.
* **Simple holders** - We are looking for validators who are invested in the future of the network and are looking to take an active part. This is what the DPoS (Delegated Proof of Stake) mechanism was born to do.

[You can delegate you OWCT token to a validator](https://github.com/OneWorldChain/Docs/blob/master/general-1/how-to-become-a-validator/broken-reference/README.md) of your choosing. Not everybody that wants to earn rewards need to be a validator! Any token holder can delegate their OWCT token to a validator to earn rewards through the validator.

### How to become a validator?

* Minimum of 5k tokens staked or delegated. In a DPoS blockchain it is required that all the validators have a staking requirement. The stake of 5k OWCT tokens needs to be locked in a contract to be eligible to become a validator.
* Run a full node.


# Getting started as a validator

## Pre-requirements

In order to be a OWCT validator, you first must see that you meet the pre-requirements:

* You know what it means to be a OWCT validator - How to become a validator
* You have at least 5k OWCT tokens or you will have an aggregated delegation of at least 5k OWCT tokens.

## How to become a OWCT validator

To quickly become a validator, follow this steps:

Read more at: <https://github.com/OneWorldChain/CoinNetwork/tree/master/node-example>

For live support, contact us on [Telegram](https://t.me/oneworldchain). Good luck and happy validating!


# Getting started on the OWCT testnet

### Testnet

* Network name: **One World Chain**
* ChanId: **552981**
* Gas price: **1.500000007 gwei**
* RPC
  * official RPC: <https://testnet-rpc.oneworldchain.org/>​
* Explorer: <https://testnet.oneworldchain.org/>​


