Meter Docs
Learn
  • Welcome to Meter!
  • 中文版文档
  • Overview of Meter
    • Introduction to Meter
    • Hybrid PoV Consensus Mechanism
    • MTR - The Metastable Coin
    • MTRG - Meter Governance Coin
    • On-Chain Auctions
    • The Meter Reserve
    • Meter's Ethereum Emulation Mode
  • Wallet Setup
    • Interacting with Meter Mainnet Using MetaMask
    • Interacting with Meter Mainnet Using Ledger
    • Adding Custom Tokens to MetaMask
    • Getting MTR for Gas
    • Revoking Contract Spend Limits
    • Specifying gas (GWEI) for transactions
    • Speeding Up/ Canceling Transactions
  • Meter Passport V2.0
    • Meter Passport Architecture
    • Salient Features
    • Bridge Fee
    • Programming Meter Passport
    • Tutorials for Using Meter Passport
    • MTRG Crosschain Info
    • Onboarding Passport for Your Project
    • Technical Guideline for Meter Passport
    • Security Audit for Meter Passport V2.0
  • Staking and Validation
    • Staking MTRG
      • How to Stake MTRG
        • Choosing Candidates
        • Factors affecting Staking Rewards
      • How to Stake Incremental MTRG
      • How to Undelegate MTRG
      • How to Unbound MTRG
      • Frequently Asked Questions
    • Running a Full Node on Meter Mainnet
    • Configure the Full Node to Validator Node
    • Meter Incentive Programs to promote decentralization
  • Mining
    • Meter Mining Guide
  • NFT Collections
    • Meter Community NFTs
  • Developer Documentation
    • Meter Developer Incentives
      • Meter Developer Grant Program
      • Meter TVL Incentive Program
      • Meter Gas Monetization Program
      • Meter Co-marketing Program
      • Meter DAPP Referral Program
    • Introduction to Developer Documentation
    • Developing with Remix, Ethers.js and Web3.js
    • Index Data with SubQuery
    • Meter Native TX RESTful APIs
    • Meterify API Documentation
      • meterify.eth
      • meterify.eth.Contract
      • meterify.eth.accounts
      • meterify.utils
      • meterify.module.options
      • Callbacks Promises Events
      • json interface
    • Meterify DApp Tutorials
    • Meterify Code Examples
    • Contributing to Meter and Our Documentation
      • Documentation Guidelines
        • API Documentation Guidelines
        • Tutorial Creation Guidelines
        • Code Example Guidelines
        • Article Writing Guidelines
Powered by GitBook
On this page
  • Roadmap of the Onboarding Process
  • Decide which token model to use
  • Deploy the wrapped token representation
  • Register the tokens on the bridge
  • Technical limitations
  • Security concerns
  • Contact information

Was this helpful?

  1. Meter Passport V2.0

Onboarding Passport for Your Project

The primary purpose of this document is to provide guidelines for projects on how they can onboard their tokens to the Meter Passport bridge and start transferring assets to/from Moonbeam/Moonriver.

The document is divided into the following sections:

  • Roadmap of the onboarding process

  • Which token model to use

  • Deploying wrapped token representation

  • Register tokens on the bridge

  • Technical limitations

  • Security concerns

  • Contact information

Roadmap of the Onboarding Process

The roadmap of onboarding your token to the bridge is the following:

  • Decide which token model to use

  • Deploy the wrapped token contract on the destination chain

  • Register the tokens

The following sections go through each of the steps.

Decide which token model to use

There are two main possibilities for transferring tokens from one chain to another: the lock-unlock mechanism and the lock/mint - burn/unlock mechanism. In both models, tokens in the destination chain are typically called “wrapped representations” of the original tokens.

The token model you decide defines the smart contract you’ll need to deploy for the wrapped token representation for the destination chains.

Deploy the wrapped token representation

Origin chain (original tokens):

  • Transfer (standard ERC20 transfer function)

Destination chain (wrapped representation):

  • Transfer (standard ERC20 transfer function)

  • Minting and burning function, needed if using the lock/mint - burn/unlock token mode. Needs to add the handler contract as minter/burner

If you use the same private key/nonce as for your original token contract, the wrapped representation will have the same address (which is pretty cool!).

You’ll have to provide the token address to the Meter Passport team to register the asset on the bridge.

Register the tokens on the bridge

With the smart contracts deployed, both in the origin (original token contract) and destination (wrapped token contract) chains, the next step is to register them in the bridge’s smart contract and front-end interface.

To do so, please send the following information to moonriver@meter.io (Moonbeam is not yet available):

  • Team Name/Website

  • Github link of the original token contract, must live under the team’s official Github repository

  • Github link of the wrapped token contract, must live under the team’s official Github repository

  • Address of the original token contract, specifying in which blockchain it is deployed (for example: “Ethereum: 0x12345….”

  • Address of the wrapped token contract, specifying in which blockchain it is deployed (for example: “Moonriver: 0x98765….”

  • Logos and names that your team wants to use for each of the tokens

Technical limitations

Currently, Meter Passport is based on a slightly modified version of ChainSafe’s Chainbridge. The bridge offers a generic handler contract that can carry out any action in the destination chain, passed as bytes in the event emitted on the origin chain. However, interacting with the generic handler requires allocating resources to adapt the use case to the contract’s interface.

Therefore, the bridge offers two other handlers: one for the basic ERC20 token standard and one for the ERC721 token standard. Currently, the Meter Passport bridge works with ERC20 token standard only. Thus, to transfer tokens through the bridge, they must comply with a basic ERC20 token interface and, depending on the token model chosen, have mint/burn capabilities.

Currently, Meter Passport uses 25 block confirmations for all transactions on Ethereum. Therefore, a transfer out of Ethereum typically takes 6 to 10 minutes after the bridge deposit transaction is confirmed, while a transfer to Ethereum takes around the same time. From time to time when Ethereum is highly congested and the gas price changes dramatically in a very short time period, transactions may take longer to complete. Feel free to direct the users to the Meter telegram channels if they run into any transfer related issues.

Another current limitation of the bridge is the gas consumption. The transaction that the user will send in the origin chain, which initiates the subsequent chain of events, costs around 280000 gas units (gas units* gasPrice is the total transaction cost for the user). The total cost on the destination chain (including all the transactions that the bridge mechanism needs by design) is around 730000 gas units.

Meter team is working on a new release that should dramatically reduce gas consumption.

Security concerns

The Meter Passport bridge runs with a set of trusted relayers that relay messages between EVM-compatible blockchains. These messages subsequently transfer assets between chains (wrapped tokens representing the original token).

The bridge works with a multisig mechanism to prevent single relayers from abusing the system. Proposals (actions to be executed on the destination chain) are executed only if a signature threshold is achieved. Meter Passport works with a 3/5 threshold.

Therefore, the main security concern of this bridging mechanism is that it relays in a semi-centralized set of relayers and not a fully decentralized model. But, due to how the contracts work, as the number of relayers and multisig threshold increases, the gas consumption on the destination chain increases.

Contact information

For any inquiries regarding the bridge, please contact:

  • Moonbeam (not yet available)

If you have any questions related to Moonbeam/Moonriver, please use the following channels:

For Meter passport related support questions, please use the following channels:

PreviousMTRG Crosschain InfoNextTechnical Guideline for Meter Passport

Last updated 2 years ago

Was this helpful?

Each model has pros and cons in terms of user experience, setup, token accountability, and security. You can read more about each token model in the document.

Once your team has decided which token model to use, you’ll need to deploy the smart contract to the destination chain, in this case, Moonriver/Moonbeam. At its core, it doesn’t matter what EIP the token is based on, as long as it complies with the following ERC20 token functions (you could also send a request to the Meter Passport team (email to deploy a for you if there are no customized functions needed:

Meter Passport is currently secured by , , , and the . It is aimed to be a shared secure infrastructure for various blockchains and multichain dApps. 3 out of 5 the relayers group were securing the Avalanche-Ethereum Bridge with more than $300M value locked on the bridge and the other relayers are highly reputable staking service providers validating on Polkadot, BSC, Cosmos, and many other PoS networks. The Ampleforth team has leveraged Meter Passport to launch its multi-chain AMPL. The Meter team is working on a threshold signature based implementation that supports an unlimited number of relayers for a higher level of security.

Moonriver:

Discord:

Telegram:

Discord:

Telegram:

Technical Guidelines
moonriver@meter.io
preset ERC20 contract
Protofire
Hashquark
InfinityStones
Wetez
Meter team
moonriver@meter.io
https://discord.gg/PfpUATX
https://t.me/Moonbeam_Official
https://discord.com/invite/SCkaAqQCsZ
https://t.me/Meter_IO