For the sake of this document, NEAR Intents (documentation) is a cross-chain swapping protocol (in fact it’s much more than that). The protocol is in active development, so many things are changing rapidly. This protocol is integrated into multiple front-ends (with the list growing).
The protocol is designed to be very similar to CEXes. The user needs to deposit assets into the protocol, then he’s able to trade them (fast and cheap) and at the point when he wants to move the assets to another place, he needs to withdraw.
Currently, it uses so-called PoA bridge service for deposits and withdrawals. It is fast, but it’s trusted. An alternative solution for deposits and withdrawals is called Omnibridge. Omnibridge provides enhanced trust assumptions compared to PoA bridge, but generally is slower. For the networks supported by Omnibridge, Intents will switch the deposit and withdrawal logic from PoA to Omnibridge over time. The slow deposits over Omnibridge can be offset by the fast deposit service.
The current implementation of Omnibridge is named v1. It has custom integrations of networks (Bitcoin and Ethereum have light clients on NEAR; Arbitrum, Base and Solana integrations are using Wormhole for message passing). Every new network integration is complicated to develop in Omnibridge v1 architecture (it requires some form of message passing or light clients and development of smart contracts on target blockchain). Maintenance of Omnibridge v1 is also complicated.
There’s a concept of Omnibridge v2. It will use the mix of TEE, RPC reads and MPC (from Chain Signatures) technologies. Omnibridge v2 makes it much simpler to maintain Omnibridge, while also simple to add new networks. Both Omnibridge v1 and v2 would not be fully decentralized, since the contracts must be upgradable to allow for changes of blockchain protocols. However, the decentralisation level of Omnibridge is maximum possible without breaking UX.
Similarly to CEXes, NEAR Intents does not include an Automated Market Maker (AMM) software. Instead, Market Makers (MM / Solvers) should integrate with Intents to create markets for specific pairs of the tokens (say, ETH.ethereum <> SOL.Solana). However, contrary to CEXes, the protocol provides a convenient way to trade any <> any token through routing service: (say, NEAR can be traded to MOG through this path: NEAR <> USDC.near <> USDC.base <> MOG).
There is an open-source MM software that is integrated with NEAR Intents. It works similarly to Uniswap v2 pool. A party that wants to create a market needs to supply liquidity from both sides (we recommend TOKEN <> USDC.ethereum to make sure the routing works well) and run this AMM Solver. There’re other MM softwares where NEAR Intents will be integrated over time (example).
There’s a ‘Solver of Last Resort’ integrated with NEAR Intents run by Solver inc. This MM is a temporary solution for major markets, because bigger MMs will eventually integrate with the protocol. The Solver of Last Resort implements neutral strategies and uses integration with CEXes and DEXes to counter-trade. The major difference between Solver inc. and AMM Solver is that the latter creates a new market for an asset, while the former is aggregating existing markets.
To communicate with the party that wants the token to be listed you need to follow this algorithm:
n
is the number of chains supported. Increasing the amount of the tokens will increase the size of the swaps possible.