# Introduction

VIA Labs is a blockchain infrastructure provider.

The VIA Network connects over 100 blockchains together, allowing data and value to flow between blockchains.&#x20;

Smart contract developers can add cross-chain functionality to any of their contracts using the VIA Network.&#x20;


# Motivation

**From Fragmentation to Unification**

In the early days, the internet was fragmented, with isolated networks like ARPANET and AOL. The introduction of standardized protocols like TCP/IP unified these networks, creating the interconnected web we know today.

Similarly, today's blockchain ecosystem is fragmented. Blockchains like Ethereum and Solana  cannot communicate with each other.  Cross-chain technology aims to bridge these gaps by enabling both *seamless* and *secure* exchange of value and data across blockchains.

**Current Challenges**

The blockchain ecosystem faces several key challenges:

* **Fragmented Liquidity**: Spread thin across many blockchains.
* **Fragmented Features**: Unique features not easily accessible across networks.
* **Fragmented Developer Experience**: Integration and maintenance difficulties.
* **Fragmented User Base**: Users scattered across various networks.

Efforts like Supernets and Rollups address these issues but often create isolated micro-ecosystems. Cross-chain interoperability is essential for true unification and unlocking the full potential of blockchain technology.

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2FZTLInkRnp7VBWLFWIcO1%2Fimage.png?alt=media&amp;token=f16820a0-230e-4797-951a-f7c1ae2927e2" alt="" width="563"><figcaption></figcaption></figure>

**The Solution: A Network That Connects All Blockchains**

The VIA Network connects  developers to seamlessly and securely unify all network types at a core infrastructure level.&#x20;

Developers can:

* Tap into Liquidity
* Exponentially Increase Accessibility
* Leverage New Ecosystems&#x20;
* Stimulate User Activity

Our infrastructure acts as a core primitive, allowing smart contracts, users, and developers to exchange value and data effortlessly across different networks.


# Official Links

## Platform

* [Website](https://vialabs.io/)
* Developer - [Make your smart contract cross-chain](https://developer.vialabs.io/general/package)
* Developer - [Easy examples](https://developer.vialabs.io/examples/helloerc20)
* [GitHub](https://github.com/VIALabs-io)
* [VIA Scan](https://scan.vialabs.io/)

## Socials&#x20;

* [Twitter / X](https://x.com/VIA_Labs)
* [Discord](https://discord.gg/vialabs)
* [Telegram](https://t.me/VIA_Labs)
* [Medium](https://medium.com/@via_labs)


# Technology Overview

The VIA Network enables developers to send **any information** between blockchains.

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2F6pLGkI1A2LCNmY5JIxZl%2FSubtitle%20(6).png?alt=media&amp;token=9bf24ec4-6151-49ff-9e66-412914f339da" alt=""><figcaption><p>Smart Contract to Smart Contract Communication</p></figcaption></figure>

## Process Flow

1. **Origin Smart Contract Sends a Message**:

   * **sendMessage**(): The process begins when the origin smart contract on the origin blockchain calls the `sendMessage()` function. This function sends a message to the VIA Gateway Contract on the origin chain.

2. **Message Detection:**

   * The validators "listen" to the gateway contracts to ensure a message is relayed.&#x20;

3. **Multi Layer Security Stack:**

   * **Validation:** The message passes through multiple layers of security. Each layer must pass for the message to proceed. See [Layered Security](/security/layered-security) for more information.&#x20;

4. **Message Reception:**

   * The VIA Gateway Contract on the recipient blockchain receives the relayed message from the Validation Cloud and forwards it to the destination smart contract.

5. **Destination Code Execution:**
   * **messageProcess()**: The destination smart contract on the recipient blockchain processes the message received from the relayer contract. This final step completes the communication, enabling the destination contract to take appropriate actions based on the message content.


# Contract Configuration

To enable cross-chain communication in your blockchain application, you need two key functions: `sendMessage()` and `messageProcess()`. These functions handle sending and receiving messages between different blockchains.

### Simple Code Example

Here's a straightforward example to demonstrate the simplicity of using these functions:

```solidity
pragma solidity 0.8.17;

import "@vialabs-io/contracts/message/MessageClient.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";

contract HelloERC20 is ERC20Burnable, MessageClient {
    constructor() ERC20("HelloERC20", "HELLO") {
        _mint(msg.sender, 1_000_000 ether);
    }

    function bridge(uint _destChainId, address _recipient, uint _amount) external onlyActiveChain(_destChainId) {
        // burn tokens
        _burn(msg.sender, _amount);

        // send cross chain message
        _sendMessage(_destChainId, abi.encode(_recipient, _amount));
    }

    function messageProcess(uint, uint _sourceChainId, address _sender, address, uint, bytes calldata _data) external override  onlySelf(_sender, _sourceChainId)  {
        // decode message
        (address _recipient, uint _amount) = abi.decode(_data, (address, uint));

        // mint tokens
        _mint(_recipient, _amount);
    }
}
```

***

The `sendMessage()`function packages and sends data to another blockchain.

*Parameters*:

* `destinationChainId`: The ID of the chain to send the message to.
* `data`: The message data to be sent.

***

The `messageProcess()` function receives and processes data from another blockchain.

*Parameters*:

* `_txId`: Transaction ID of the message.
* `_sourceChainId`: ID of the source chain from where the message is coming.
* `_sender`: Address of the sender.
* `_reference`: Reference address.
* `_amount`: Amount of tokens involved in the message.
* `_data`: Additional message data.

***

This simple example shows how easy it is to set up cross-chain communication using the VIA Network.

Developers can use the [Developer Documentation](http://developer.vialabs.io/) to dive further into these functions.&#x20;


# Gateway Contracts

### Purpose

Gateway contracts are essential components that enable different blockchains to communicate with each other. They handle the secure and efficient transfer of data and messages between networks, making cross-chain interactions possible.

NOTE: Developers building cross-chain contracts do NOT need to interface with Gateway contracts. This is fully abstracted. See [HERE](https://developer.vialabs.io/general/package) for how to implement cross-chain contracts.

### Functionality

* **Automated Setup**: These contracts are pre-deployed by the system, so developers don't need to set them up manually.
* **Seamless Communication**: They ensure that messages and data are correctly routed and processed between different blockchains.

Gateway contracts work behind the scenes to manage cross-chain communication. Developers don't need to worry about interfacing with them; they are handled by the system to ensure everything runs smoothly.

For a list of contracts, please see the [Developer Documentation](http://developer.vialabs.io/).


# Validation Cloud

### **Purpose**

Off-chain relayers in the validation cloud facilitate cross-chain communication by relaying messages from the source chain to the destination chain. They ensure seamless and reliable execution of cross-chain transactions within the VIA Labs ecosystem by picking up messages.&#x20;

NOTE: Developers building cross-chain contracts do NOT need to interface with the relayers / validation system. This is fully abstracted. See [HERE](https://developer.vialabs.io/general/package) for how to implement cross-chain contracts.

### **Functionality**

* **Execution Handling**: Triggers the `messageProcess()` on the destination contract, ensuring correct operation execution.
* **Gas Reimbursement**: An on-chain component pays initial gas fees for transactions. Destination contracts reimburse for these fees. More details are available in the[ Fees section](/via-omnichain-network/fees) of the documentation.

For more infromation regarding validation or security, see [here](/security/network-validator-intro).


# Fees

## **Overview**

Managing fees in cross-chain messaging involves handling two main types of fees: message fees and gas fees.&#x20;

## **Types of Fees**

### **Message Fee**

* **Where:** Paid on source blockchain
* **What**: A static fee in the *most stable* stablecoin on the origin blockchain. Listed as FEE\_TOKEN in the developer documentation. Often this is Circle's USDC. If USDC is unavailable, the fee token is typically USDT or an equivalent.
* **Responsibility**: The contract sending the message must have enough stablecoins; otherwise, the message cannot be sent.&#x20;
* **Example**: If sending a message from Polygon, your contract on Polygon needs enough USDC to cover the static fee.

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2FxFIJo28Wd7dxGxo7c4Xs%2Fimage.png?alt=media&amp;token=c88532cc-114d-45d5-9ca1-9e6435066d6f" alt="" width="375"><figcaption></figcaption></figure>

### **Gas Fees**

* **Where:** Paid on destination blockchain
* **What**: A dynamic fee charged by the blockchain's themselves. Paid in the wrapped native gas coin (e.g., WETH on Ethereum, WAVAX on Avalanche, etc.).
* **Responsibility**: The receiving contract must have enough of the gas token to cover transaction costs. The gas is automatically pulled / sent to the relayer contract as a "gas reimbursement".&#x20;
* **Example**: If sending a message to Ethereum, your deployed contract on Ethereum needs enough WETH to cover the gas fee.

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2FpE0zhGh3BylLdbS4Osz9%2Fimage.png?alt=media&amp;token=3285a8f6-d7aa-4bdb-926d-422d480a8de6" alt="" width="375"><figcaption></figcaption></figure>

## **Automatic Fee Handling**

The system automatically checks and deducts these fees during transactions. Fees are pulled directly from the your deployed smart contracts. The integrating party can choose to pay this themselves or pass the cost to the user.&#x20;

## **Setting Fee Limits**:

Developers can set limits on fees to prevent unexpected high costs using `setMaxgas` and `setMaxfee` functions.


# Examples

### For detailed examples and code, please refer to the [developer documentation](https://developer.vialabs.io/).

* **Hello\_ERC20**: Explore how to implement a basic ERC20 token with cross-chain capabilities, showcasing token transfers and messaging across different blockchains.&#x20;

* **Hello\_ERC721**: Learn how to create and manage cross-chain NFTs using a standard ERC721 token, enabling NFT minting and transfers across multiple blockchains.

* **Hello\_Hop**: Understand how to implement multi-hop cross-chain messaging, demonstrating the sequential passing of messages across various blockchain networks.

## What's Possible?

#### Cross-Chain Tokens and NFTs

Enable the creation and management of both cross-chain tokens and non-fungible tokens (NFTs).

#### Rebroadcast Oracle Data

Oracle data can be broadcasted across many EVM chains.

#### Multi-Chain ICOs

For projects looking to raise capital through Initial Coin Offerings (ICOs)

#### Lending

Cross-chain lending platforms can be built to allow users to lend and borrow assets across different blockchains.

#### Arbitrage Bots

Arbitrage opportunities across multiple chains can be identified and capitalized upon using bots built with cross-chain messaging.&#x20;

#### Unified Metaverses

Build metaverses that span across multiple chains, creating a truly interconnected virtual world. This can lead to more engaging and immersive experiences for users, who can interact with different chains seamlessly within the same metaverse.

#### Social Media Notifications

Create social media notifications that are triggered by cross-chain events. For example, a user could receive a notification on their social media platform of choice whenever a particular token transfer occurs across different chains. This offers a new level of engagement and interactivity for users involved in the cross-chain ecosystem.


# Add Your Blockchain

[Get in touch with us](/additional-information/contact-us) to deploy the VIA Network on your chain!

Are you already using the VIA Network for cross-chain? -> Add yourself to our [ecosystem page](https://forms.gle/W8vDZJGjrByB8hDy9).&#x20;

*"Quick Add" feature coming soon!*


# Bridged USDC Standard Onboarding

VIA Labs supports Circle's [Bridged USDC Standard](https://www.circle.com/bridged-usdc) by offering a full onboarding program into the standard. Upon integration, the Bridged USDC Standard serves as a 1:1 USDC-backed stablecoin on a blockchain network.&#x20;

Following the standard provides [Circle](https://www.circle.com/) with a path to upgrade to native USDC and enable deeper ecosystem interactions and opportunities.

### Benefits of the Standard&#x20;

* Backed 1:1 to USDC
* Path to native USDC issuance

### Onboarding Process

1. [Submit a request ](/additional-information/contact-us)to integrate your blockchain with the VIA Network.
2. VIA Labs deploys and verifies the Bridged USDC Standard [smart contracts](https://github.com/circlefin/stablecoin-evm/blob/master/doc/bridged_USDC_standard.md).
3. Additional [confirmation](https://github.com/circlefin/stablecoin-evm/blob/master/doc/bridged_USDC_standard.md) from Circle of all deployed Bridged USDC Standard smart contracts.
4. Receive a comprehensive post-deployment summary of all contracts and a bridging guide.
5. Get a customized USDC bridging page tailored for your blockchain.
6. Access to [Proto-USD](/supported-protocols/proto-usd) - Get all the benefits of CCTP immediately upon deployment of the Bridged USDC Standard.

Bridged USDC Standard Announcement:

{% embed url="<https://medium.com/@VIA_Labs/pathway-to-usdc-via-labs-supports-circles-bridged-usdc-standard-8b53a7447a3e>" %}


# Contracts We Deploy

Adoption of the Bridged USDC Standard requires:

1. Successful deployment and configuration of Circle's Smart Contracts.
2. Cross-chain messaging infrastructure to connect your chain with a Native USDC blockchain.
3. Proper implementation and accounting of all 1:1 backed USDC in a "Bridge Manger" / Escrow contract.

VIA handles this entire process for you. From start to finish. At the end, you (the blockchain foundation) will receive a full report  of all deployed smart contracts with their proper addresses. Additionally, control of the contracts is given directly to you (the blockchain foundation) as if you deployed the contracts yourself.&#x20;

See below for the contracts that we deploy:

**HOST / ROOT CHAIN**

`BridgeManagerV1` This contract handles the messaging between chains through the VIA Network.

`BridgeManagerV1 ERC1967Proxy` Points to the BridgeManagerV1 contract. (OpenZeppelin). Use this contract to call any functions in `BridgeManagerV1`.

**LEAF CHAIN**

`FiatTokenV2_2_Proxy` This contract comes from Circle. Untouched. [Link to contract](https://github.com/circlefin/stablecoin-evm/blob/master/contracts/v1/FiatTokenProxy.sol).

`FiatTokenV2_2_Implementation` This contract comes from Circle. Untouched. [Link to contract](https://github.com/circlefin/stablecoin-evm/blob/master/contracts/v2/FiatTokenV2_2.sol).

`SignatureChecker` This contract comes from Circle. Untouched. [Link to contract](https://github.com/circlefin/stablecoin-evm/blob/master/contracts/util/SignatureChecker.sol).

`BridgeManagerV1` This contract handles the 1 to 1 cross-chain transfers between your blockchain and the Bridged USDC Standard "source chain" you selected to be paired to.

`BridgeManagerV1 ERC1967Proxy` Points to the `BridgeManagerV1` contract. (OpenZeppelin). Use this contract to call any functions in `BridgeManagerV1`.

`ProtoCCTPGateway` This contract handles the cross-chain transfers between your blockchain and *all* Proto-CCTP-enabled chains.


# Blockchain Responsibilities

**NOTE: ONLY PERTAINS TO INTEGRATING BLOCKCHAIN FOUNDATIONS**

As with any Bridged USDC Standard deployment, blockchains will have key responsibilities after the setup and deployment of the contracts, including:

## **Host Chain Selection & Liquidity Management**

Teams are responsible for managing their own liquidity and onboarding USDC into their respective blockchain. The USDC will only come from one (1) other blockchain in a 1:1 fashion.&#x20;

List of acceptable host blockchains:

* Ethereum
* Base
* Avalanche
* Arbitrum
* OP Mainnet
* Polygon

For example, assume that you select Ethereum to be the blockchain you pair your USDC to. That means all your USDC can \*only\* come from Ethereum.  If a user bridges $10,000 USDC from Ethereum, then $10,000 USDC.e will be minted on your blockchain. The only way to get USDC.e onto your chain is to bring it in from the host chain (in this example, Ethereum).

For more information on naming standards, see Circle’s documentation here: [USDC Naming Convention](https://brand.circle.com/d/M9z54TaEwsWL/stablecoins#/-/usdc-brand-guide/usdc-naming-guidelines).

## Administrative Control

All deployed smart contracts are sent to your blockchain foundation after deployment and verification. Blockchain foundations retain complete administrative control over their contracts.&#x20;

## Automatic Relaying Gas Fees

Your protocol is responsible for the management of the gas fee reimbursement mechanism.&#x20;

* **Smart Contracts and Gas:** Transactions involve smart contracts on two blockchains - the host chain (Ethereum) and the destination chain (your blockchain). Both require gas for transactions to occur.
* **User Transactions:** When a user initiates a transfer, such as moving $500 of USDC from Ethereum to your blockchain, they pay the gas fee on Ethereum to start the transfer.
* **Blockchain Foundation's Role:** Once the transfer reaches your blockchain, another gas fee is needed to complete the transaction. It's your blockchain's responsibility to ensure the deployed[`BridgedManagerV1`](/supported-protocols/bridged-usdc-standard-onboarding/contracts-we-deploy)contracts have enough gas (wrapped native gas coin) for the cross-chain message to be relayed. A [gas reimbursement mechanism](/supported-protocols/proto-usd/gas-reimbursement-mechanism) is built into the `BridgedManagerV1` fee collection method.&#x20;

<br>


# Proto-USD

Access the CCTP network from more blockchains

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2FujqW9DadBvBjfsovyTzs%2Fimage.png?alt=media&amp;token=3cb16222-4d50-4980-9437-2fd86ade0bba" alt=""><figcaption></figcaption></figure>

Proto-USD is a cross-chain protocol that enhances and extends the capabilities of Circle’s [Cross-Chain Transfer Protocol](https://www.circle.com/en/cross-chain-transfer-protocol) (CCTP). It allows blockchains without native CCTP support to seamlessly transfer USDC across networks, unifying liquidity and simplifying the user experience by enabling cross-chain transfers from any Proto-USD-enabled blockchain.


# Background FAQs

**What is CCTP?**&#x20;

Circle’s [Cross-Chain Transfer Protocol](https://developers.circle.com/stablecoins/cctp-getting-started) (CCTP) is a permissionless on-chain utility that facilitates USDC transfers securely between blockchains via native burning and minting of USDC.&#x20;

**What does CCTP solve?**&#x20;

Blockchain networks often operate in isolation, unable to communicate with each other. While some networks, like Cosmos, have protocols (IBC) to share data across their own blockchains, isolated networks like Ethereum and Avalanche can't directly interact. CCTP enables the transfer of vast amounts of stablecoin liquidity between networks.&#x20;

Some bridging protocols may try to launch a faux USDC to act as a stand-in for native USDC. Faux USDC is not eligible for conversion to native USDC and is highly discouraged by Circle. Some inherent risks of using custom USDC include running out of bridge liquidity, not being backed 1:1 (stablecoin depeg event), and the addition of modified functions.&#x20;

**Why would a blockchain want CCTP?**&#x20;

CCTP allows both users and developers to easily source *native* USDC from any CCTP-supported network, vastly simplifying the process of bringing liquidity to a blockchain. With native USDC backed 1:1 by fiat, the stability and trust provided make it easy for dapps to access and utilize liquidity efficiently.

<br>

**What is the process for blockchains to get CCTP?**

Blockchains can gain access to CCTP by:

* The [Bridged USDC Standard](https://www.circle.com/bridged-usdc)
* Paying for native USDC issuance<br>

The typical process for a blockchain to get CCTP is by upgrading the Bridged USDC Standard contracts to native USDC. Eligibility is based on a holistic review of token holder counts, dapp integrations, distributed supply, etc.&#x20;

Upgrading from the Bridged USDC Standard to Native USDC with CCTP is not guaranteed and depends on your blockchain's growth and adoption.

## **Is there a quicker and easier way for my blockchain to get CCTP?**&#x20;

Yes!&#x20;

Proto-USD provides a streamlined solution for blockchains that want to leverage the benefits of CCTP without the lengthy process of fully integrating Circle’s native CCTP. **Essentially, blockchains get CCTP early.**

<br>


# Key Features

Proto-USD acts as a superset of CCTP by offering the same functionality while providing additional perks that are not present in CCTP. See below:

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2FmJfEisPbqjBGJ1AWNuwf%2Fimage.png?alt=media&amp;token=e57d59a3-e679-40cc-bc27-261fe50fd327" alt="" width="563"><figcaption></figcaption></figure>

## Bridged USDC Support

Proto-USD enables the transfer of Bridged USDC and Custom USDC across blockchains, making it possible for networks without native USDC to participate in cross-chain liquidity flows.

| USDC Type    | Issuer of USDC                              | Proto-CCTP Eligibility |
| ------------ | ------------------------------------------- | ---------------------- |
| Bridged USDC | USDC from Circle Bridged Standard contracts | Yes                    |
| Native USDC  | Circle issued                               | Yes                    |
| Custom USDC  | Rollups, built-in from zkEVM, etc.          | Yes                    |

<br>

## Multi-Hop Messaging

Proto-USD relays cross-chain messages through multiple blockchains. See below for how the multi-hop message system works.&#x20;

**Polygon <--> Arbitrum**

Proto utilizes CCTP for all USDC transfers on existing CCTP-enabled blockchains.<br>

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2FVFsr5tn5vk5KhScCvcQ6%2Fimage.png?alt=media&amp;token=91abf21a-f162-4ee8-b68e-cbc08284be1a" alt="" width="563"><figcaption></figcaption></figure>

**Polygon <--> Arbitrum <--> Blockchain X**

If a user on Blockchain X has USDC on Polygon in their wallet, Proto-USD will burn the native USDC on Polygon, mint native USDC on Arbitrum, and then wrap native USDC on Arbitrum and mint Bridged Standard USDC on Blockchain X – completing the transfer.  &#x20;

From the user’s standpoint, the multi-hopping of transactions is abstracted. The USDC transfer “just works”.

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2F5voi5JiWXlq1ydnfqtFP%2Fimage.png?alt=media&amp;token=2fea5c75-d4b4-4591-a362-3dcb043a9ae9" alt=""><figcaption></figcaption></figure>

**Blockchain Y <--> Polygon <--> Arbitrum <--> Blockchain X**

The most complex example (and further extension of the above) shows two blockchains with the Bridged USDC Standard being able to transfer USDC between each other. This is possible because all Bridged Standard USDC is sourced 1:1 from a CCTP-enabled blockchain.

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2FZQOQdIKOzVNuf5lIdVxP%2Fimage.png?alt=media&amp;token=fa0e596e-d689-4748-ba6d-9b62bce9a6e3" alt=""><figcaption></figcaption></figure>

## Value + Data Transfers

With Proto-USD, USDC + data can be sent in the same cross-chain transaction. Opening up the possibility for dapps to develop protocols using advanced liquidity sourcing methods such as cross-chain staking, cross-chain lending/borrowing, cross-chain swap routers, etc.

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2FXMmekPgb69h8ZqrMxcSr%2Fimage.png?alt=media&amp;token=b5709cc0-5418-4971-9792-0ecd34764463" alt="" width="563"><figcaption><p>USDC + Data sending over Proto-CCTP</p></figcaption></figure>

## Layered Security

The phrase “Not your keys, not your crypto” is just as relevant to cross-chain messaging: “Not your keys, not your messages.” With the VIA Network’s layered security architecture, blockchain foundations have the ability to run their own validation layer, similar to Circle’s IRIS attestation network. This allows blockchains to take control of their message security, ensuring the highest level of protection.


# Build With Proto-USD

## ProtoGateway

Use the `ProtoGateway` contracts on all chains. The contracts are identical on all deployed chains.&#x20;

```solidity
send(uint _destChainId, address _recipient, uint _USDCamount);

send(uint _destChainId, address _recipient, uint _USDCamount, bytes memory _userData);
```

The `send()` function initiates a transfer of USDC or Bridged USDC to a recipient on a destination chain.

* `_destChainId` = The chain ID of the destination blockchain
* `_recipient` = The wallet address of the recipient on the destination blockchain
* `_USDCamount` = The amount of USDC or Bridged USDC to be transferred (6 decimal)
* `_userData_` = OPTIONAL. Additional data to be sent along with the transfer.

##

## How To Use

1. Use the official Circle USDC  - On testnets, obtain from the official testnet [faucet](https://faucet.circle.com/).&#x20;
2. Approve the desired amount of USDC to the `ProtoGateway` contract.
3. Call `send(_destChainId, _recipient, _amount)`

For a list of Proto connected blockchains and associated contract addresses, please see the [next section](/supported-protocols/proto-usd/proto-gateway-addresses).


# Proto Gateway Addresses

## TESTNET&#x20;

Get testnet [USDC](https://faucet.circle.com/).

<table data-full-width="true"><thead><tr><th width="147">Chain ID</th><th width="271">Chain Name (TESTNET)</th><th>Gateway Smart Contract Address</th></tr></thead><tbody><tr><td>11155111</td><td>Ethereum Sepolia</td><td>0xC46bc942ca64aed4Eb0B1Af21347944b85EDCb04</td></tr><tr><td>43113</td><td>Avalanche Fuji</td><td>0x030x02986E15f847F4dc509F01B781E20F95da851b44</td></tr><tr><td>11155420</td><td>Optimism Sepolia </td><td>0x0bD2dDddb088703F139a6d5a1dF0A25120607907</td></tr><tr><td>421614</td><td>Arbitrum Sepolia</td><td>0x040F70B724F1E7f8509848e750bbF10e20b73f60</td></tr><tr><td>84532</td><td>Base Sepolia</td><td>0xdcc8769Be2F2E938F02f66e9F8Bb224a81da5Bc9</td></tr><tr><td>80002</td><td>Polygon Amoy</td><td>0x9803cdfd229ac9c33839F4aAF4a13A276a789c24</td></tr></tbody></table>

## MAINNET

Try it on mainnet: <https://bridge.protousd.com/>

<table data-full-width="true"><thead><tr><th width="147">Chain ID</th><th width="271">Chain Name (MAINNET)</th><th>Gateway Smart Contract Address</th></tr></thead><tbody><tr><td>1</td><td>Ethereum</td><td>0x53f67b67418dcFB5ca88D443ee82584148b3c973</td></tr><tr><td>43114</td><td>Avalanche </td><td>0x8888783155201B84613f1F85623eB7625d3B03c9</td></tr><tr><td>10</td><td>Optimism </td><td>0x64541cE2aa06194D59c4D130435792c1f178f750</td></tr><tr><td>42161</td><td>Arbitrum</td><td>0x3b05FC65F04489538619EBCe0661f29597DA8df2</td></tr><tr><td>8453</td><td>Base</td><td>0x804FD8228bc5A02db6CdA3fFa96a9C6b6D49b1e7</td></tr><tr><td>137</td><td>Polygon</td><td>0x996fCc660B3dF10d547A3A79A75191f1E344c2cb</td></tr><tr><td>48900</td><td>Zircuit </td><td>0xf1A8DEAA78bD956E687df3bfA1115A24ddd3F03d</td></tr><tr><td>995</td><td>5ire </td><td>0xC5c36314540cFaA48Fd71BA1BB9BB3966d04a8AC</td></tr><tr><td>6900</td><td>Nibiru</td><td>0x844f9248EA80Ee65F633a7Fa82Af78643d63834C</td></tr></tbody></table>


# Fee Management

## Message Fees

Proto-USD uses a static fee model of **0.25 USDC per hop**, regardless of the transfer amount (e.g., whether the user sends $20 or $200,000). This fee is fully automated and abstracted. The implementing party does not pay message fees.

## Gas Fees (Mainnet)

**NOTE: ONLY PERTAINS TO INTEGRATING BLOCKCHAIN FOUNDATIONS**

Gas fees are required on the destination chain to automatically relay cross-chain messages. These fees are paid using the wrapped native gas token (e.g., WETH on Ethereum, WAVAX on Avalanche) within the `BridgedManagerV1` contracts. To ensure the successful completion of transfers, the blockchain foundation / team is responsible for managing the destination [gas reimbursement mechanism](/supported-protocols/proto-usd/gas-reimbursement-mechanism). The Bridged Manager contracts **must maintain sufficient wrapped gas tokens** to support the automatic relaying of messages.

On chains with infinitesimally low gas fees, protocols often choose to sponsor this fee. However, on networks like Ethereum, gas fees can accumulate quickly.

## Gas Fees (Testnet)

VIA Labs sponsors all gas on testnet.  New implementing blockchains are asked to provide testnet tokens.&#x20;


# Gas Reimbursement Mechanism

**NOTE: ONLY PERTAINS TO INTEGRATING BLOCKCHAIN FOUNDATIONS**

To mitigate destination gas fees, VIA Labs offers a **gas reimbursement mechanism**. This feature allows your [`BridgedManagerV1`](/supported-protocols/bridged-usdc-standard-onboarding/contracts-we-deploy) contract to replenish lost gas. It does so by swapping USDC collected from users for the wrapped native gas coin (WETH) using a semi-automated function. This mechanism can be enabled for any blockchain with a UniswapV2-compatible DEX and adequate USDC / Bridged USDC liquidity.

## Automatic Scripting

VIA Labs can provide you with an automatic script that regularly monitors the WETH balance of a specified Bridged Manager contract and automatically invokes the `swapGas` function to swap USDC for WETH when the balance falls below a set threshold and reimbursements are available. Designed to run continuously (e.g., as a cron job), it ensures the contract maintains sufficient gas tokens to support the automatic relaying of cross-chain messages. **Please** [**contact us** ](/additional-information/contact-us)**if you would like to receive the automatic script.**

## **Blockchain Responsibilities and Options**

**Manage Gas Token Balance**

* Monitor the WETH balance of your Bridged Manager contract.
* Use `swapGas()` to replenish the WETH balance when necessary.

**Configure WETH Settings**

* Use `setWeth()` to update the WETH token address and the base amount of WETH.

## **Further Reading - How it Works**

The example below assumes the Bridged USDC Standard with the host / root chain chosen as Ethereum.

1. **Deducting Gas**: When a user sends a transaction from your blockchain to Ethereum, the system estimates the gas required (WETH) to process the message and deduct that specific amount from the user's transfer in USDC. The USDC is then reserved in the `BridgedManagerV1` contract on the host chain.
2. **WETH Balance Depletion**: As gas fees are paid in WETH, the contract's WETH balance decreases over time.
3. **Replenishment via `swapGas()`**: When the WETH balance is low, you can call the `swapGas()` function to replenish the WETH balance by swapping the accumulated USDC reimbursements for WETH.

##

## **Key Functions**

#### **1. `swapGas()` Function**

This function swaps the accumulated USDC reimbursements for WETH to replenish the contract's gas token balance.

**Usage**

```solidity
function swapGas(uint256 minAmountOutInWETH) public onlySwapper
```

* **`minAmountOutInWETH`**: The minimum amount of WETH expected from the swap to protect against slippage or MEV.

**When to Call**

* Whenever the contract's WETH balance is below the desired threshold (this can be any amount that you want).
* Regularly, based on transaction volume and gas consumption.

**Requirements**

* The contract must have accumulated USDC reimbursements (`REIMBURSEMENTS` > 0).
* The `swapGas()` function must be called by an address with the `onlySwapper` role.

#### **2. `setWeth()` Function**

This function allows you to set the base amount (`BASE_AMOUNT`) of WETH that the contract should maintain.

**Usage**

```solidity
function setWeth(uint256 customBaseAmount) public onlyOwner
```

* **`customBaseAmount`**: The desired base amount of WETH to maintain.

**Default Setting (`customBaseAmount` = 0)**

* If `customBaseAmount` is set to 0, the function will automatically set `BASE_AMOUNT` to the contract's current WETH Balance.

**Custom Setting (`customBaseAmount` > 0)**

* If `customBaseAmount` is provided and is lower than the current WETH balance, the function will set `BASE_AMOUNT` to this custom value.
* With a custom `BASE_AMOUNT`, the contract will sponsor gas reimbursements for users until the WETH balance decreases to the specified `BASE_AMOUNT`.
* Once the WETH balance reaches the `BASE_AMOUNT`, users resume being charged for gas reimbursements.

This flexibility allows you to manage how much WETH the contract holds and control when gas reimbursements are provided to users.

**When to Call**

* Upon deployment of the contract to set up the WETH address and base amount.


# Network Validator Intro

VIA Labs' network validators are off-chain components that ensure secure and efficient cross-chain communication. They play a key role in verifying and relaying transactions between different blockchains.

### **What do they do?**&#x20;

* **Relay Transactions**: VIA Labs validators verify transactions on one blockchain and relay them to another, acting as intermediaries.
* **Security**: They ensure the accuracy and authenticity of transactions, maintaining the integrity of cross-chain operations.
* **Consensus Mechanism**: Validators follow specific rules to agree on transactions and resolve disputes, typically using Proof of Liquidity (PoL) or Proof of Authority (PoA). In this case, both instances are used.&#x20;
* **Decentralization**: Multiple validators enhance network resilience by preventing any single party from controlling the system.


# Layered Security

VIA Labs' cross-chain network uses a multi-layered validation process to ensure the security and integrity of transactions. This decentralized approach protects against unauthorized or fraudulent messages by requiring consensus across multiple independent layers.

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2F07Fw7O9fjiL49GySG8yv%2FSubtitle%20(1).png?alt=media&amp;token=a0dd8af4-0c8f-41e6-bc28-efe0e2a920cf" alt=""><figcaption></figcaption></figure>

### **VIA Layer**

* **Operated by VIA Labs**: This layer validates transactions within the VIA Labs ecosystem.
* **Proof of Authority**: No stake required. Validation rewards not given.

### **Chain Layer**

* **Managed by Blockchain Foundations**: Each blockchain involved (e.g., Blockchain A) manages its own validation layer.
* **Independent Validation**: Ensures that messages exiting the blockchain are verified.
* **Proof of Authority**: No stake required. Validation rewards not given.

### **Project Layer**

* **Project-Level Operation**: Integrating dApps can operate their own private validation layer.
* **Dedicated Security**: Provides additional security tailored to the specific needs of the project.
* **Proof of Authority**: No stake required. Validation rewards not given.

### **PoL Layer - Coming Soon**

* **Community-Driven**: Open to individuals, decentralized applications (dApps), and foundations.
* **Staking Requirement**: Participants must stake $VIA tokens to participate.
* **Proof of Liquidity:** Stake is required. Validators earn rewards.

**Consensus Mechanism**: For a transaction to be processed, it must pass through all four layers. The PoL Layer verifies with a 51% consensus mechanism.&#x20;


# Validation Rewards

Coming Soon!


# Become a Network Validator

**If you are interested in running a validator or would like to add your chain to the VIA Network, please** [**contact us**](/additional-information/contact-us)**.**


# Branding Assets

#### Colors

* Rich Black -  #000000
* Tech Mint Turquoise - #3CFFDC
* Vibrant Magenta - #FF49FF
* &#x20;Pure White - #FFFFFF

#### Font

* Azeret Mono Bold&#x20;
* Aseret Mono Regular&#x20;
* Aseret Mono Italics

## Official Logos

{% file src="/files/tPeiDLx2Ra9XbCDJkbnp" %}

{% file src="/files/nIkxBohIDPWYVXokLEK3" %}

{% file src="/files/lpCjTigH4odogrHG0jN0" %}

{% file src="/files/GhLx4T61jF7WVFwIVVeq" %}

{% file src="/files/px4kZ3qnTeAjbyjGxJBT" %}

{% file src="/files/tUh3DO1Ef733boUs2Wh1" %}

{% file src="/files/wC9mZgZrhKSTrLWx3lCt" %}

{% file src="/files/SdBiVGTlkmGkzN9S8cZ4" %}

## Prohibited Logo Alterations

Please avoid stretching, deforming, or adjusting the logo in any manner. Following these guidelines ensures our brand remains consistent and professional. See below.&#x20;

| Condensing                                                                                                                                                                                                                                                | Stretching                                                                                                                                                                                                                                                | Sideways                                                                                                                                                                                                                                                  |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2FlUeO14Tgk60fwlxh32TO%2Fimage.png?alt=media&amp;token=d6f085d0-2a0b-4508-b855-11db9cf07310" alt="" data-size="original"> | <img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2FXnqaWaqY7ULUaQOxxUH3%2Fimage.png?alt=media&amp;token=006ffbf1-47f6-4b33-87e3-641249991800" alt="" data-size="original"> | <img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2Fav3thxbkiiLFQiEPF7Ch%2Fimage.png?alt=media&amp;token=14c84389-8715-43de-8623-f4133429088d" alt="" data-size="original"> |


# Co-Promotion

## Ecosystem Page

The VIA Labs Ecosystem page is the best way to get involved in the VIA Network community. Connect with other projects, share insights, and get your project featured. Join us and be part of the growing VIA Network ecosystem.

[SIGN UP](https://forms.gle/W8vDZJGjrByB8hDy9)

## Social Media or Article Promotion

1. **Get on Testnet**

Before initiating co-marketing efforts, ensure your project is active on the testnet. VIA Labs will only engage in co-marketing activities once this milestone is achieved.

2. **Confirm with VIA Labs**

Coordinate with VIA Labs to align our co-marketing strategies. This collaboration ensures that the messaging and timing of announcements are synchronized.

3. **Announcement(s)**

**Initial Announcement**: As the integrating party, you are responsible for making the first public announcement of any integration.

**Follow-Up Announcement**: Following your announcement, VIA Labs will issue a follow-up integration announcement.

Ensure that all communications are clear, professional, and accurately represent the nature of the integration.

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2FsixSPxzKVI2sAmRuyvXF%2F200w.gif?alt=media&amp;token=d1be66f2-c752-44d7-bbe0-10d2d3511050" alt=""><figcaption></figcaption></figure>

## Terminology Guidelines

To accurately represent our business relationship and avoid confusion, please refrain from using the term "partner" when referring to VIA Labs.  This distinction is crucial to accurately represent our business relationship and avoid implying shared liabilities and responsibilities. Instead we prefer you to use:

* "In collaboration with"
* "Client of"
* "Using the VIA Network built by @VIA\_Labs"
* "Powered by VIA Labs"
* etc.&#x20;


# Overview

{% file src="/files/2rhsltNM96tO5PkHGDF1" %}


# TokenWorx

Coming Soon!

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2FoJ0NKzVdmPoQzokQtVLN%2FUntitled%20design.png?alt=media&amp;token=6f76ce73-ae00-4816-8704-4ab93d5ac7eb" alt=""><figcaption></figcaption></figure>


# AnyToAny.io

"Swap Smart - Swap Safe - Swap Any"

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2FLS6FyFbfp9RCtB64W1YI%2FAnyToAnyFinal_White_large-03.png?alt=media&amp;token=8e945a52-300c-4e33-9d1c-c8c50b88f243" alt=""><figcaption><p>AnyToAny.io Logo</p></figcaption></figure>

An Instant Cross-Chain Swap

With AnyToAny.io, users can perform cross-chain swaps, allowing them to exchange tokens between different blockchains quickly and easily. This feature lets users swap into their favorite meme tokens or move money around various networks with ease, simplifying and expanding their trading options.

**UPGRADE IN PROGRESS**<br>


# How it Works

Welcome to the Future of Cross-Chain Transactions.

## V1  (Legacy)

AnyToAny.io uses [VIA Messaging](/via-omnichain-network/technology-overview) to burn and mint an intermediary / utility token, $PAPER between chains.&#x20;

Process Flow:

1. Token A swaps into blockchain native gas coin
2. Blockchain native gas coin swaps into PAPER
3. PAPER is burned on Blockchain A and minted on Blockchain B
4. PAPER on Blockchain B is swapped for the native gas coin on Blockchain B
5. The native gas coin swaps into token B

## V2 Upgrade (Not yet released)

AnyToAny.io uses [VIA Messaging](/via-omnichain-network/technology-overview) in conjunction with Circle's [CCTP Network](https://www.circle.com/en/cross-chain-transfer-protocol).

Process Flow:

1. Token A swaps into blockchain native gas coin
2. Blockchain native gas coin swaps into USDC
3. USDC is burned on Blockchain A and minted on Blockchain B
4. USDC on Blockchain B is swapped for the native gas coin on Blockchain B
5. The native gas coin swaps into token B

The entire process, from using USDC on the source chain to receiving the desired tokens on the destination chain is often before you can switch chains in your wallet!

Stay tuned for more information!


# Fee Structure

## V1 (Currently released)

<table><thead><tr><th width="186">Type of Transfer</th><th width="277">Description of Scenario</th><th width="271">Fees Charged By AnyToAny</th><th data-hidden align="center">Scenario Identifier</th></tr></thead><tbody><tr><td>Intrachain</td><td>Swapping within a DEX</td><td>FREE</td><td align="center">A</td></tr><tr><td>Cross-Chain</td><td>Any token to Any token </td><td>0.5% (Minimum $0.25) </td><td align="center">D</td></tr></tbody></table>

## V2 (Not yet released)

<table><thead><tr><th width="186">Type of Transfer</th><th width="277">Description of Scenario</th><th width="271">Fees Charged By AnyToAny</th><th data-hidden align="center">Scenario Identifier</th></tr></thead><tbody><tr><td>Intrachain</td><td>Swapping within a DEX</td><td>FREE</td><td align="center">A</td></tr><tr><td>Cross-Chain</td><td>Any token to Any token </td><td><p>Message Fee: $0.25</p><p>Swap Fee: 0.3%</p></td><td align="center">D</td></tr></tbody></table>

Fees displayed in the above tables are fees charged by AnyToAny. **Other fees will be incurred when swapping into the liquidity pools of other DEXs.**&#x20;


# Cross-Chain Swap Widget

AnytoAny for your project!

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2F1XeNhIdW6tcRwlu722tn%2FAnyToAnyWidget.PNG?alt=media&amp;token=608e073a-1ca8-4d2d-a972-5b379321406d" alt=""><figcaption><p>Image of AnyToAny Widget</p></figcaption></figure>

## Branded Swap Experience

The AnyToAny iframe widget lets projects customize its appearance to match their branding, integrating powerful cross-chain capabilities into their platform while maintaining brand identity.

## Directions

1. Go to <https://anytoany.io/integrate/>
2. Input a wallet address to receive rewards. AnyToAny rewards 5% of all generated fees through the widget. More volume = More rewards.&#x20;
3. The default "AnyToAny" logo can be replaced with your own logo! Input a URL to your logo.&#x20;
4. The next two settings are used to specify which chains and tokens that appear when the AnyToAny widget is first interacted with. For both the source and destination chains, specify the chain ID and the token address to swap to/from.&#x20;

The source and destination chain IDs are numbers associated with each chain. Each chain you connect to in your wallet has its own unique chain ID. For example:&#x20;

Ethereum’s chain ID is 1, Polygon's chain ID is 137, and Binance Smart Chain’s ID is 56.&#x20;

You can see all the chain IDs on a website called <https://chainlist.org/>\
\
Note: If your desired token is not listed on AnyToAny and you would like to see it added. Please [contact us!](/additional-information/contact-us)

5. Choose a width and height for the widget. Units can be specified in px, %, or vh suffixes. See [here](https://www.w3schools.com/cssref/css_units.php) for more information.
6. Specify the background color, the token list background color, and the token list backdrop opacity. Test different values using the "preview" tab.&#x20;
7. Preview the widget. Once satisfied, copy the code snippet and inject it into your site. The iframe code snippet can easily be dropped into website builders such as GoDaddy, Wix, or Webflow.&#x20;


# Contact us

If you're interested in exploring how VIA Labs can propel your project to new heights, we encourage you to reach out to us!

* Schedule a discovery call here: <https://calendly.com/via_labs>
* Email: <hello@vialabs.io>
* Take out a ticket in [Discord](https://discord.gg/vialabs)


# VIA Token

Launching Q1 2025

The $VIA token will power the decentralized POL security layer on the VIA network.&#x20;

Rewards will be earned from validation for single staking $VIA.&#x20;

More info coming soon!


# Audits

Below you can find the full, official audit releases of VIA Labs contracts.

**November 20th, 2024 -> "Proto-CCTP"  - Blends CCTP with Bridged USDC Standard**

*In progress*

**October 20th, 2024 -> "Feature Gateway" - Enables any data to smart contracts**

{% file src="/files/Yw4lFL4pmnCaQOQ0mQmv" %}

**December 19th, 2023 -> "MV3" - VIA Network foundation**

{% file src="/files/pW7DaUGWBMcw888v8aOg" %}

**May 10th, 2023 -> "BV2" - Legacy Network**

{% file src="/files/mkxjKMSXrSqVyoTBdtUc" %}


# Disclaimer

This document and its contents are for informational purposes only and should not be considered financial or investment advice (NFA). Users are strongly encouraged to conduct their own research (DYOR) before engaging in any activities related to VIA Labs.

Nothing here constitutes an offer to sell or a solicitation to buy any securities. This document aims to explain the features and technical structure of VIA Labs, and the services offered, to help interested parties understand our project better.

While the information provided is sufficient for protocol users, VIA Labs does not take responsibility for any misunderstandings. Readers should independently verify all details.

This dynamic document may contain errors and undergo changes. It is not a binding service commitment but a guide to VIA Labs' current operations and intentions.

By engaging with VIA Labs, users accept the inherent risks of digital and blockchain systems and take full responsibility for their actions. VIA Labs is not liable for any losses or damages from using its services or relying on this document.

Always Do Your Own Research (DYOR) and note that the information provided is Not Financial Advice (NFA).

#### Official Partners Disclaimer

The only authoritative source for information regarding official partnerships with VIA Labs is our official documentation. Any claims of partnership not explicitly listed in our documentation should be considered unverified and potentially inaccurate. We encourage all readers to refer directly to our official documents for the most current and reliable information about our official partners.<br>


# Legacy

See below of legacy information about outdated projects. This documentation is for informational purposes only.&#x20;


# Legacy Contracts

PAPER and INK contracts

**ETH**

* PAPER: 0xf317e1Ec40d8f95F0bD8a84E83d32430C15e796d
* PAPER-ETH LP: 0x65724c0e88b4ecC92ab7Aa25a4B56a70e5367ff7

**FTM**

* PAPER: 0xea97c7c1c89d4084e0BFB88284FA90243779da9f
* INK: 0xFFAbb85ADb5c25D57343547a8b32B62f03814B12
* PAPER-FTM LP: 0x5BfFC514670263c4c0858B00E4618c729fef6c59
* INK-FTM LP: 0xDECC75dBF9679d7A3B6AD011A98F05b5CC6A8a9d

**BSC**

* PAPER: 0xE239b561369aeF79eD55DFdDed84848A3bF60480
* INK: 0xc08Aa06C1D707BF910ADA0BdEEF1353F379E64e1
* PAPER-BNB LP: 0xa5c4953c64e943071ef8545c092ccb4fb3c0269f
* INK-BNB LP: 0xafa3e7f9d489d022f3d91902fb9540bab0af52c1

**AVAX**

* PAPER: 0x1affBc17938a25d245e1B7eC6f2fc949df8E9760
* INK: 0x32975907733f93305be28e2bfd123666b7a9c863
* PAPER-AVAX LP: 0x77435089521e3b05217dbAA461a7722DfE9bDB5D
* INK-AVAX LP: 0x960a262de5ac9545391503c133bf1b069614a01f

**CRONOS**

* PAPER: 0x1affBc17938a25d245e1B7eC6f2fc949df8E9760
* INK: 0x32975907733f93305BE28E2bfd123666b7A9c863
* PAPER-CRO LP: 0xD60a097b8D5DC1caAF84b7f825f6516Ac5734D70
* INK-CRO LP: 0x4330e62B3da05B6C41cf9F38B3d3A603840eB485

**POLYGON**

* PAPER: 0x11a1779ae6b02bb8E7ff847919bcA3e55BcbB3D5
* INK: 0x0731D0C0D123382C163AAe78A09390cAd2FFC941
* PAPER-MATIC LP: 0x29689Ab7fc5438C5039864339f2A4F28E25f1aE5
* INK-MATIC LP: 0x3ff9352415999a9270d5AA80A77E675C4b0A2CB4

**CELO**

* PAPER: 0x1affBc17938a25d245e1B7eC6f2fc949df8E9760
* INK: 0x32975907733f93305BE28E2bfd123666b7A9c863
* PAPER-CELO LP: 0x9393f9F399A55312635F6e1295502E7f0411b67A
* INK-PAPER LP: 0xC913cAEe37a23289B8604Fb164C53189521edE23

**METIS**

* PAPER: 0x1affBc17938a25d245e1B7eC6f2fc949df8E9760
* INK: 0x32975907733f93305BE28E2bfd123666b7A9c863
* PAPER-METIS LP: 0x536a412F5b7fC2256Ce3bf0F391B6De218121C12
* INK-METIS LP: 0x5c55c45d975dDa4b944F7b8518989Ef050d693a9

**OASIS**

* PAPER: 0x1affBc17938a25d245e1B7eC6f2fc949df8E9760
* INK: 0x32975907733f93305be28e2bfd123666b7a9c863
* PAPER-ROSE LP: 0x63Fe68b70CDE78B05ad995b3E910f5F6Ff2De03A
* INK-ROSE LP: 0xe99a289D108664201A1d735A43255e18F1b432ab

**HARMONY**

* PAPER: 0x1affBc17938a25d245e1B7eC6f2fc949df8E9760
* INK: 0x32975907733f93305be28e2bfd123666b7a9c863
* PAPER-ONE LP: 0xaf4879eb920b85F104693aa3B7e16450939C2707
* INK-ONE LP: 0xa51843e455dFdC6eDDE51bc5c7A37C658C033dfA

**PULSE**

* PAPER: 0x18f0Cf904adaeaC2e6bfE573d61f51D4699De72d
* PAPER-PLS LP: 0xa30834a97d82c833d0D90E58Aa45c64BaB7676eF


# PAPER

## OVERVIEW

$PAPER is used as a cross-chain token for AnyToAny's swaps.

* Cap: 50 Million
* Tax: No buy, sell, transfer, or LP taxes
* Bridging Fee: 0.5%
* Emissions: Swap for PAPER from a liquidity pool or stake LP tokens to earn blockchain native coins (MATIC, AVAX, FTM, etc).
* Rewards: Stake PAPER-Native LP to be rewarded in blockchain native coins.

Note: Current holders of the $PAPER and $INK tokens will be eligible to receive a $VIA airdrop in conjunction with the token sale. Snapshot information to be announced later.&#x20;

<figure><img src="https://4144361836-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXM6bEIC9hOjfFsdiXGc%2Fuploads%2F3tKkUD3olsxo932SnptN%2Fimage.png?alt=media&amp;token=25102043-56c6-4fc2-b146-e4ee9ecd0340" alt="" width="250"><figcaption><p>$PAPER</p></figcaption></figure>

## **EXPLANATION**

PAPER tokens are transferable across all AnyToAny supported chains. In a cross-chain transfer, PAPER tokens are burned on the source chain, and minted on the destination chain. There are no net changes in the total supply of PAPER tokens across all chains when transferring tokens.

PAPER is paired with the blockchain native gas coin on several blockchains. When the market goes up or down, the PAPER token will follow (assuming no other buys / sells).&#x20;

When buys or sells occur, they generate arbitrage opportunities. DeFi users can purchase PAPER on the lower cost chain and sell it for a profit on the higher cost chain. This action encourages an equilibrium of token prices across supported chains.

PAPER is burned via various means inside the protocol to make it deflationary.

*Please see* [*Community Rewards*](broken://pages/GMzUP5HbAyEfLVnriuvb) *for information on how LPs will be rewarded in the new system.*&#x20;

#### DISCLAIMER:

*PAPER is a decentralized utility contract utilizing the ERC20 smart contract capabilities combined with additional technologies to transfer information between blockchains and between smart contracts within a blockchain.*&#x20;

*Any tokens in existence were originally acquired for free, without any renumeration to the project or anyone associated with the project, or to any other entity related to the project of any kind. No funds have been raised or invested in the process of creating this system by people outside of the project. There has never been a venture capital injection, ICO, or any other type of raise.*

*If you consider PAPER or INK an investment or are in a jurisdiction that could classify PAPER or INK as an investment or monetary instrument, you are not authorized to utilize the features of this protocol, or interact with any of the associated contracts or technologies, as your usage is not compatible with the design and intent of the system.*

<br>


