Unlock the full potential of your dApps with Equito seamless cross-chain interoperability protocol.
Apply NowOn average on any network
From any network to any network
Decentralized and secure
The Equito ecosystem is growing. Explore and leverage the fastest cross-chain interoperability protocol.
Explore the EcosystemEthereum
opBNB
Polygon
Arbitrum
Avalanche
Optimism
Base
Fantom
Celo
Telos
Arthera
Rollux
Skale
Linea
Oasis
Merlin
Sei
Blast
Gnosis
Scroll
Mantle
zkSync Era
XDC
Ten
Follow these steps to integrate with Equito and leverage advanced cross-chain capabilities.
Browse DocsUse the @equito-sdk/client package to connect with the validators:
npm i @equito-sdk/client
Interact with EVM-compatible network using your favorite interface:
npm i @equito-sdk/viem
Interact with EVM-compatible network using your favorite interface:
npm i @equito-sdk/ethers
Use the @equito-sdk/client package to connect with the validators:
pnpm add @equito-sdk/client
Interact with EVM-compatible network using your favorite interface:
pnpm add @equito-sdk/viem
Interact with EVM-compatible network using your favorite interface:
pnpm add @equito-sdk/ethers
Use the @equito-sdk/client package to connect with the validators:
yarn add @equito-sdk/client
Interact with EVM-compatible network using your favorite interface:
yarn add @equito-sdk/viem
Interact with EVM-compatible network using your favorite interface:
yarn add @equito-sdk/ethers
Equito facilitates smart contracts at the cross-chain level, enabling blockchain developers to expand their applications seamlessly.
contract EquitoERC20 is EquitoApp, ERC20 {
function crossChainTransfer(
bytes64 calldata receiver,
uint256 destinationChainSelector,
uint256 amount
) external payable {
_burn(msg.sender, amount);
bytes memory data = abi.encode(receiver, amount);
router.sendMessage{value: msg.value}(
peers[destinationChainSelector],
destinationChainSelector,
data
);
} function _receiveMessageFromPeer(
EquitoMessage calldata message,
bytes calldata messageData
) internal override {
(bytes64 memory receiver, uint256 amount) = abi.decode(
messageData,
(bytes64, uint256)
);
_mint(EquitoMessageLibrary.bytes64ToAddress(receiver), amount);
}
}
/// @notice Sends a cross-chain message using Equito.
/// @param receiver The address of the receiver.
/// @param destinationChainSelector The chain selector of the destination chain.
/// @param data The message data.
/// @return The hash of the message.
function sendMessage(
bytes64 calldata receiver,
uint256 destinationChainSelector,
bytes calldata data
) external payable returns (bytes32);