diff --git a/docs/src/arns.md b/docs/src/arns.md
index 4958b07c..adfec038 100644
--- a/docs/src/arns.md
+++ b/docs/src/arns.md
@@ -25,15 +25,15 @@ Users can easily reference these friendly names in their browsers, and other app
## Name Registry
-The ArNS Registry is a list of all the registered names and their associated ANT AO process Ids. Registering a name requires spending IO tokens based upon the name length and purchase type. The system shall allow users to either lease a name on a yearly basis (maximum up to 5 years) or purchase that name permanently.
+The ArNS Registry is a list of all the registered names and their associated ANT AO process Ids. Registering a name requires spending ARIO tokens based upon the name length and purchase type. The system shall allow users to either lease a name on a yearly basis (maximum up to 5 years) or purchase that name permanently.
The registry uses the following key rules, embedded within the AR.IO AO process:
- The genesis prices of names are set within the contract itself; these are the starting conditions.
- Name prices vary based on name length, purchase type (lease vs buy), lease duration, and the current Demand Factor. See the Dynamic Pricing section for more details.
- Name records in the registry each include a pointer to its Arweave Name Token Smart Contract process address, its lease end time, and undername allocation.
-- Anyone with available IO Tokens can extend any name’s active lease.
-- Anyone with available IO Tokens can purchase undername space for any name.
+- Anyone with available ARIO Tokens can extend any name’s active lease.
+- Anyone with available ARIO Tokens can purchase undername space for any name.
- When a lease expires, there is a grace period where it can still be extended before anyone else can repurchase the name with a new ANT.
Once added, name records cannot be removed from the registry. A leased name’s associated ANT smart contract address cannot be changed until the lease has expired and a new one is purchased. Care must be taken by the owners of permanent name purchases to ensure that their ANT supports an `evolve` ability should it be desired to add or modify functionality in the future as these name purchases are permanently tied to the associated ANT. Owners of permanently purchased names must understand the consequences of private key loss, which results in not being able to update any data pointers for this name.
@@ -69,7 +69,7 @@ The table below indicates some of the possible interactions with an ANT and who
Type |
ANT Owner |
ANT Controller |
- Any IO Token Holder |
+ Any ARIO Token Holder |
Transfer ANT |
@@ -142,7 +142,7 @@ ArNS is designed to ensure that name valuations are always in sync with their tr
The Arweave Name System (ArNS) introduces an adaptive pricing model for registering names within the AR.IO Network. The core objective is to strike a balance between market demand and pricing fairness, leveraging both static and dynamic pricing elements. The system differentiates prices based on character lengths of names and offers varied purchasing options such as leasing, permanent acquisition, and undernames.
-A unique feature of the ArNS pricing mechanism is the integration of a Demand Factor (DF), a dynamic multiplier that adjusts name prices in response to market demand. The DF is determined by comparing the total revenue in IO tokens from the current period to a moving average of revenues from the preceding period window. Depending on whether revenue is above, below, or equal to this average, the DF can increase or decrease. These adjustments are contained within boundaries to prevent extreme pricing variations.
+A unique feature of the ArNS pricing mechanism is the integration of a Demand Factor (DF), a dynamic multiplier that adjusts name prices in response to market demand. The DF is determined by comparing the total revenue in ARIO tokens from the current period to a moving average of revenues from the preceding period window. Depending on whether revenue is above, below, or equal to this average, the DF can increase or decrease. These adjustments are contained within boundaries to prevent extreme pricing variations.
This comprehensive approach ensures that ArNS names are accessible and reasonably priced, adapting to market trends while maintaining an equitable and maintenance-free registration environment.
diff --git a/docs/src/arweave.md b/docs/src/arweave.md
index e007acd0..8104b2fd 100644
--- a/docs/src/arweave.md
+++ b/docs/src/arweave.md
@@ -64,7 +64,7 @@ AO is a global supercomputer built on Arweave. This actor-oriented machine is a
Diagram 4: AO - The Supercomputer and Smart Contract Protocol
-With AO, developers can create processes that act as smart contracts with token-like properties which can then be used to incorporate incentive structures into applications and infrastructure. The AR.IO Network leverages this technology for development of its network protocol and IO token.
+With AO, developers can create processes that act as smart contracts with token-like properties which can then be used to incorporate incentive structures into applications and infrastructure. The AR.IO Network leverages this technology for development of its network protocol and ARIO token.
## The Permaweb
diff --git a/docs/src/gateway-network.md b/docs/src/gateway-network.md
index 725e539a..0fdf9b36 100644
--- a/docs/src/gateway-network.md
+++ b/docs/src/gateway-network.md
@@ -27,7 +27,7 @@ Being part of the network grants AR.IO Gateways an array of advantages, such as:
## Gateway Address Registry (GAR)
-Any Gateway operator that whishes to join the AR.IO Network must register their node in the AR.IO smart contract's "Gateway Address Registry", known as the GAR. Registration involves staking a minimum amount of IO tokens and providing additional metadata describing the Gateway service offered.
+Any Gateway operator that whishes to join the AR.IO Network must register their node in the AR.IO smart contract's "Gateway Address Registry", known as the GAR. Registration involves staking a minimum amount of ARIO tokens and providing additional metadata describing the Gateway service offered.
diff --git a/docs/src/gateways/gateways.md b/docs/src/gateways/gateways.md
index b54682f7..2ab5847f 100644
--- a/docs/src/gateways/gateways.md
+++ b/docs/src/gateways/gateways.md
@@ -105,11 +105,11 @@ For example, small scale operators might want to use low-overhead relational dat
## ARNS Indexing and Routing
-The Arweave Name System’s (ArNS) state is managed by the IO token’s smart contract. AR.IO gateways shall perform the following minimum functions relative to ArNS:
+The Arweave Name System’s (ArNS) state is managed by the ARIO token’s smart contract. AR.IO gateways shall perform the following minimum functions relative to ArNS:
- Actively track state changes in the contract.
-- Maintain up-to-date indexes for routing configurations based on the state of the IO contract as well as the states of the Arweave Name Token (ANT) contracts to which each name is affiliated.
+- Maintain up-to-date indexes for routing configurations based on the state of the ARIO contract as well as the states of the Arweave Name Token (ANT) contracts to which each name is affiliated.
- Manage the expiration of stale records.
diff --git a/docs/src/glossary.md b/docs/src/glossary.md
index 333489c6..5e3d698b 100644
--- a/docs/src/glossary.md
+++ b/docs/src/glossary.md
@@ -117,11 +117,11 @@ The permaweb is the permanent and decentralized web of files and applications bu
## **Protocol Balance**:
-The primary sink and source of IO tokens circulating through the AR.IO Network. This balance is akin to a central vault or wallet programmatically encoded into the network’s smart contract from which ArNS revenue is accumulated and incentive rewards are distributed.
+The primary sink and source of ARIO tokens circulating through the AR.IO Network. This balance is akin to a central vault or wallet programmatically encoded into the network’s smart contract from which ArNS revenue is accumulated and incentive rewards are distributed.
## **Protocol Rewards**:
-IO Token incentive rewards distributed by the protocol to the network’s eligible users and gateway operators.
+ARIO Token incentive rewards distributed by the protocol to the network’s eligible users and gateway operators.
## **Public Key**:
@@ -133,7 +133,7 @@ Refers to the act of propagating new data throughout the network. Miner nodes se
## **Staking (of tokens)**:
-Refers to the process of locking IO tokens into a protocol-facilitated vault, temporarily removing them from circulation until unlocked. This action represents an opportunity cost for the gateway operator and serves as a motivator to prioritize the network's collective interests.
+Refers to the process of locking ARIO tokens into a protocol-facilitated vault, temporarily removing them from circulation until unlocked. This action represents an opportunity cost for the gateway operator and serves as a motivator to prioritize the network's collective interests.
## **Transaction ID (txID)**:
diff --git a/docs/src/guides/arns/registering.md b/docs/src/guides/arns/registering.md
index 75d803dc..ad4a8b80 100644
--- a/docs/src/guides/arns/registering.md
+++ b/docs/src/guides/arns/registering.md
@@ -47,7 +47,7 @@ You can also use this page to assign the name to an existing [Arweave Name Token
-Towards the bottom of the page, you can also see the cost of your currently configured purchase in [IO tokens](../../token.md), and the AR required to pay for gas for the transaction.
+Towards the bottom of the page, you can also see the cost of your currently configured purchase in [ARIO tokens](../../token.md), and the AR required to pay for gas for the transaction.
## Confirm Your Purchase
@@ -65,6 +65,6 @@ No additional steps are necessary to initiate a purchase that requires an auctio
-The IO cost displayed on the confirmation page will be frozen by the aoComputer contract, and used to finalize the purchase once the the auction drops to the floor price. You, or anyone else, may purchase the name at any time for the current auction price. You can click on the "View Auction" button from your confirmation page, or find your auction in the "Live Auctions" tab at the top of the screen to view the current auction price, and how it will change over time. If someone else purchases the name prior to the auction reaching the floor price, your frozen tokens will be released to you.
+The ARIO cost displayed on the confirmation page will be frozen by the aoComputer contract, and used to finalize the purchase once the the auction drops to the floor price. You, or anyone else, may purchase the name at any time for the current auction price. You can click on the "View Auction" button from your confirmation page, or find your auction in the "Live Auctions" tab at the top of the screen to view the current auction price, and how it will change over time. If someone else purchases the name prior to the auction reaching the floor price, your frozen tokens will be released to you.
diff --git a/docs/src/guides/delegated-staking.md b/docs/src/guides/delegated-staking.md
index 563e76dc..f902a7ac 100644
--- a/docs/src/guides/delegated-staking.md
+++ b/docs/src/guides/delegated-staking.md
@@ -6,7 +6,7 @@ permalink: "/delegated-staking"
## Overview
-Delegated staking is a process by which a person can stake their own IO tokens on someone elses ar.io gateway. The additional staked tokens increase that gateway's chance to be selected as an observer, and so they have the potential to earn more rewards.
+Delegated staking is a process by which a person can stake their own ARIO tokens on someone elses ar.io gateway. The additional staked tokens increase that gateway's chance to be selected as an observer, and so they have the potential to earn more rewards.
In exchange, the person who delegates the tokens will receive a share of the gateway's rewards. Gateway operators can set the percentage of rewards are available for delegating wallets.
You can find more specific information about delegated staking and how rewards are distributed in the [ar.io whitepaper](https://whitepaper_ar-io.arweave.dev/).
diff --git a/docs/src/guides/sdk.md b/docs/src/guides/sdk.md
index 0029bc14..91347801 100644
--- a/docs/src/guides/sdk.md
+++ b/docs/src/guides/sdk.md
@@ -48,7 +48,7 @@ console.log(gateways);
"QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ": {
"end": 0,
"observerWallet": "IPdwa3Mb_9pDD8c2IaJx6aad51Ss-_TfStVwBuhtXMs",
- "operatorStake": 250000000000, // value in mIO
+ "operatorStake": 250000000000, // value in mARIO
"settings": {
"fqdn": "ar-io.dev",
"label": "AR.IO Test",
@@ -143,27 +143,27 @@ The SDK provides TypeScript types. When you import the SDK in a TypeScript proje
**NOTE**: Typescript version 5.3 or higher is recommended.
-## IOToken & mIOToken
+## ARIOToken & mARIOToken
-The ArIO contract stores all values as mIO (milli-IO) to avoid floating-point arithmetic issues. The SDK provides an `IOToken` and `mIOToken` classes to handle the conversion between IO and mIO, along with rounding logic for precision.
+The ArIO contract stores all values as mARIO (milli-ARIO) to avoid floating-point arithmetic issues. The SDK provides an `IOToken` and `mIOToken` classes to handle the conversion between ARIO and mARIO, along with rounding logic for precision.
-**All contract interactions expect values in mIO. If numbers are provided as inputs, they are assumed to be in raw mIO values.**
+**All contract interactions expect values in mARIO. If numbers are provided as inputs, they are assumed to be in raw mARIO values.**
-### Converting IO to mIO
+### Converting ARIO to mARIO
```typescript
import { IOToken, mIOToken } from '@ar.io/sdk';
const ioValue = 1;
const mIOValue = new IOToken(ioValue).toMIO();
-console.log(mIOValue); // 1000000 (mIO)
+console.log(mIOValue); // 1000000 (mARIO)
const mIOValue = 1_000_000;
const ioValue = new mIOToken(mIOValue).toIO();
console.log(ioValue); // 1 (IO)
```
-## IO Process
+## ARIO Process
### APIs
@@ -184,7 +184,7 @@ const io = IO.init({ signer: new ArweaveSigner(JWK) });
#### `getInfo()`
-Retrieves the information of the IO process.
+Retrieves the information of the ARIO process.
```typescript
const io = IO.init();
@@ -207,7 +207,7 @@ const info = await io.getInfo();
#### `getTokenSupply()`
-Retrieves the total supply of tokens, returned in mIO. The total supply includes the following:
+Retrieves the total supply of tokens, returned in mARIO. The total supply includes the following:
- `total` - the total supply of all tokens
- `circulating` - the total supply minus locked, withdrawn, delegated, and staked
@@ -243,25 +243,25 @@ Retrieves the balance of the specified wallet address.
```typescript
const io = IO.init();
-// the balance will be returned in mIO as a value
+// the balance will be returned in mARIO as a value
const balance = await io
.getBalance({
address: 'QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ',
})
- .then((balance: number) => new mIOToken(balance).toIO()); // convert it to IO for readability
+ .then((balance: number) => new mIOToken(balance).toIO()); // convert it to ARIO for readability
```
Output
```json
-// value in IO
+// value in ARIO
1_000_000
```
#### `getBalances({ cursor, limit, sortBy, sortOrder })`
-Retrieves the balances of the IO process in `mIO`, paginated and sorted by the specified criteria. The `cursor` used for pagination is the last wallet address from the previous request.
+Retrieves the balances of the ARIO process in `mARIO`, paginated and sorted by the specified criteria. The `cursor` used for pagination is the last wallet address from the previous request.
```typescript
const io = IO.init();
@@ -341,7 +341,7 @@ const gateway = await io.getGateway({
#### `getGateways({ cursor, limit, sortBy, sortOrder })`
-Retrieves registered gateways of the IO process, using pagination and sorting by the specified criteria. The `cursor` used for pagination is the last gateway address from the previous request.
+Retrieves registered gateways of the ARIO process, using pagination and sorting by the specified criteria. The `cursor` used for pagination is the last gateway address from the previous request.
```typescript
const io = IO.init();
@@ -424,7 +424,7 @@ const record = await io.getArNSRecord({ name: 'ardrive' });
#### `getArNSRecords({ cursor, limit, sortBy, sortOrder })`
-Retrieves all registered ArNS records of the IO process, paginated and sorted by the specified criteria. The `cursor` used for pagination is the last ArNS name from the previous request.
+Retrieves all registered ArNS records of the ARIO process, paginated and sorted by the specified criteria. The `cursor` used for pagination is the last ArNS name from the previous request.
```typescript
const io = IO.init();
@@ -607,7 +607,7 @@ const epoch = await io.getEpoch({ epochIndex: 0 });
{
"gatewayAddress": "2Fk8lCmDegPg6jjprl57-UCpKmNgYiKwyhkU4vMNDnE",
"observerAddress": "2Fk8lCmDegPg6jjprl57-UCpKmNgYiKwyhkU4vMNDnE",
- "stake": 10000000000, // value in mIO
+ "stake": 10000000000, // value in mARIO
"startTimestamp": 1720720620813,
"stakeWeight": 1,
"tenureWeight": 0.4494598765432099,
@@ -696,7 +696,7 @@ const epoch = await io.getCurrentEpoch();
#### `getPrescribedObservers({ epochIndex })`
-Retrieves the prescribed observers of the IO process. To fetch prescribed observers for a previous epoch set the `epochIndex` to the desired epoch.
+Retrieves the prescribed observers of the ARIO process. To fetch prescribed observers for a previous epoch set the `epochIndex` to the desired epoch.
```typescript
const io = IO.init();
@@ -710,7 +710,7 @@ const observers = await io.getPrescribedObservers({ epochIndex: 0 });
{
"gatewayAddress": "BpQlyhREz4lNGS-y3rSS1WxADfxPpAuing9Lgfdrj2U",
"observerAddress": "2Fk8lCmDegPg6jjprl57-UCpKmNgYiKwyhkU4vMNDnE",
- "stake": 10000000000, // value in mIO
+ "stake": 10000000000, // value in mARIO
"start": 1296976,
"stakeWeight": 1,
"tenureWeight": 0.41453703703703704,
@@ -725,7 +725,7 @@ const observers = await io.getPrescribedObservers({ epochIndex: 0 });
#### `getTokenCost({ intent, ...args })`
-Calculates the price in mIO to perform the interaction in question, e.g. a `Buy-record` interaction, where args are the specific params for that interaction.
+Calculates the price in mARIO to perform the interaction in question, e.g. a `Buy-record` interaction, where args are the specific params for that interaction.
```typescript
const price = await io
@@ -734,7 +734,7 @@ const price = await io
name: 'ar-io',
type: 'permabuy',
})
- .then((p) => new mIOToken(p).toIO()); // convert to IO for readability
+ .then((p) => new mIOToken(p).toIO()); // convert to ARIO for readability
```
Output
@@ -1052,7 +1052,7 @@ const { id: txId } = await io.decreaseOperatorStake(
Redelegates the stake of a specific address to a new gateway. Vault ID may be optionally included in order to redelegate from an existing withdrawal vault. The redelegation fee is calculated based on the fee rate and the stake amount. Users are allowed one free redelegation every seven epochs. Each additional redelegation beyond the free redelegation will increase the fee by 10%, capping at a 60% redelegation fee.
-e.g: If 1000 mIO is redelegated and the fee rate is 10%, the fee will be 100 mIO. Resulting in 900 mIO being redelegated to the new gateway and 100 mIO being deducted back to the protocol balance.
+e.g: If 1000 mARIO is redelegated and the fee rate is 10%, the fee will be 100 mARIO. Resulting in 900 mARIO being redelegated to the new gateway and 100 mARIO being deducted back to the protocol balance.
```typescript
const io = IO.init({ signer: new ArweaveSigner(jwk) });
@@ -1109,7 +1109,7 @@ const { id: txId } = await io.saveObservations(
#### `transfer({ target, qty, denomination })`
-Transfers `mIO` to the designated `target` recipient address.
+Transfers `mARIO` to the designated `target` recipient address.
**NOTE**: Requires `signer` to be provided on `IO.init` to sign the transaction.
@@ -1161,7 +1161,7 @@ const { id: txId } = await io.extendLease(
#### `getVault({ address, vaultId })`
-Retrieves the locked-balance user vault of the IO process by the specified wallet address and vault ID.
+Retrieves the locked-balance user vault of the ARIO process by the specified wallet address and vault ID.
```typescript
const io = IO.init();
@@ -1185,7 +1185,7 @@ const vault = await io.getVault({
#### `getVaults({ cursor, limit, sortBy, sortOrder })`
-Retrieves all locked-balance user vaults of the IO process, paginated and sorted by the specifed criteria. The `cursor` used for pagination is the last wallet address from the previous request.
+Retrieves all locked-balance user vaults of the ARIO process, paginated and sorted by the specifed criteria. The `cursor` used for pagination is the last wallet address from the previous request.
```typescript
const io = IO.init();
@@ -1245,7 +1245,7 @@ const record = await io.buyRecord(
#### `getArNSAuctions({ cursor, limit, sortBy, sortOrder })`
-Retrieves all active auctions of the IO process, paginated and sorted by the specified criteria. The `cursor` used for pagination is the last auction name from the previous request.
+Retrieves all active auctions of the ARIO process, paginated and sorted by the specified criteria. The `cursor` used for pagination is the last auction name from the previous request.
```typescript
const io = IO.init();
@@ -1489,7 +1489,7 @@ const request = await io.getPrimaryNameRequest({
### Configuration
-The IO client class exposes APIs relevenat to the ar.io process. It can be configured to use any AO Process ID that adheres to the [IO Network Spec](https://github.com/ar-io/ar-io-network-process?tab=readme-ov-file#contract-spec). By default, it will use the current [IO testnet process](https://www.ao.link/#/entity/agYcCFJtrMG6cqMuZfskIkFTGvUPddICmtQSBIoPdiA). Refer to [AO Connect](https://github.com/permaweb/ao/tree/main/connect) for more information on how to configure an IO process to use specific AO infrastructure.
+The ARIO client class exposes APIs relevenat to the ar.io process. It can be configured to use any AO Process ID that adheres to the [ARIO Network Spec](https://github.com/ar-io/ar-io-network-process?tab=readme-ov-file#contract-spec). By default, it will use the current [ARIO testnet process](https://www.ao.link/#/entity/agYcCFJtrMG6cqMuZfskIkFTGvUPddICmtQSBIoPdiA). Refer to [AO Connect](https://github.com/permaweb/ao/tree/main/connect) for more information on how to configure an ARIO process to use specific AO infrastructure.
```typescript
// provide a custom ao infrastructure and process id
@@ -1839,12 +1839,12 @@ const { id: txId } = await ant.setLogo(
#### `releasename({ name, ioProcessId })`
-Releases a name from the auction and makes it available for auction on the IO contract. The name must be permanently owned by the releasing wallet. 50% of the winning bid will be distributed to the ANT owner at the time of release. If no bids, the name will be released and can be reregistered by anyone.
+Releases a name from the auction and makes it available for auction on the ARIO contract. The name must be permanently owned by the releasing wallet. 50% of the winning bid will be distributed to the ANT owner at the time of release. If no bids, the name will be released and can be reregistered by anyone.
```typescript
const { id: txId } = await ant.releaseName({
name: 'permalink',
- ioProcessId: IO_TESTNET_PROCESS_ID, // releases the name owned by the ANT and sends it to auction on the IO contract
+ ioProcessId: IO_TESTNET_PROCESS_ID, // releases the name owned by the ANT and sends it to auction on the ARIO contract
});
```
@@ -1868,7 +1868,7 @@ Approves a primary name request for a given name or address.
const { id: txId } = await ant.approvePrimaryNameRequest({
name: 'arns',
address: 't4Xr0_J4Iurt7caNST02cMotaz2FIbWQ4Kbj616RHl3', // must match the request initiator address
- ioProcessId: IO_TESTNET_PROCESS_ID, // the IO process id to use for the request
+ ioProcessId: IO_TESTNET_PROCESS_ID, // the ARIO process id to use for the request
});
```
diff --git a/docs/src/index.md b/docs/src/index.md
index e878b759..e25fdf33 100644
--- a/docs/src/index.md
+++ b/docs/src/index.md
@@ -4,7 +4,7 @@ homepage: true
# Welcome to the Permaweb
-Data in paradise. The AR.IO ecosystem is dedicated to cultivating products and protocols for sustaining access to digital permanence, making the permaweb available to everyone. Powered by the IO Token, this global network of Gateways connects users to permanently stored data, files, applications, and web pages on the Arweave decentralized storage network.
+Data in paradise. The AR.IO ecosystem is dedicated to cultivating products and protocols for sustaining access to digital permanence, making the permaweb available to everyone. Powered by the ARIO Token, this global network of Gateways connects users to permanently stored data, files, applications, and web pages on the Arweave decentralized storage network.
@@ -27,8 +27,8 @@ Data in paradise. The AR.IO ecosystem is dedicated to cultivating products and p
diff --git a/docs/src/introduction.md b/docs/src/introduction.md
index 10b0f826..c742dfd9 100644
--- a/docs/src/introduction.md
+++ b/docs/src/introduction.md
@@ -31,6 +31,6 @@ The solution will be applied in two directions:
1. By reducing gateway overhead costs with open source, efficient modular networked architecture.
-2. By creating an economic incentive layer with the IO Token.
+2. By creating an economic incentive layer with the ARIO Token.
Our goal is to create a framework for a healthy and sustainable decentralized gateway network.
diff --git a/docs/src/token.md b/docs/src/token.md
index 502912a4..a13703be 100644
--- a/docs/src/token.md
+++ b/docs/src/token.md
@@ -2,13 +2,13 @@
permalink: "/token/"
---
-# The IO Token
+# The ARIO Token
-**NOTE**: The IO Token and its associated functions are still in development and have not yet been released.
+**NOTE**: The ARIO Token and its associated functions are still in development and have not yet been released.
## Overview
-IO is the multifunction aoComputer based token that powers The AR.IO Network and its suite of permaweb applications. The IO Token (ɸ) has many uses, including:
+ARIO is the multifunction aoComputer based token that powers The AR.IO Network and its suite of permaweb applications. The ARIO Token (ɸ) has many uses, including:
- Protocol incentives,