SMOOT-Bridge is a decentralized, generic message-passing protocol for secure, bidirectional communication between blockchain ecosystems — spanning both EVM-compatible chains (Ethereum, Polygon) and non-EVM chains (Stellar/Soroban).
The protocol's flagship use case is cross-chain token transfer for ERC-3643-compliant (and ERC-20-compatible) tokens, using a lock/mint and burn/unlock mechanism relayed by an off-chain agent network. The underlying architecture is designed to be extended to additional chains and message types over time.
| Contract / Entity | Chain | Role |
|---|---|---|
| TokenHome | Ethereum | Registers the original token; locks it when transferring out to another chain. |
| TokenRemote | Polygon | Mints/registers the mapped token when a transfer arrives from the home chain. |
| Gateway | Both | Message bus that relays cross-chain calls (outboundCall / inboundCall) between contracts. |
| SMOOT-Bridge Agents | Off-chain | Decentralized relayer network that watches outboundCall events and submits matching inboundCalls on the destination chain. |
Transfer flow (Ethereum → Polygon, and back):
- User calls
sendonTokenHome(orTokenRemotefor the return trip). - The token is locked (or burned) and the source
Gatewayemits anoutboundCallevent. - An Agent captures the event, signs, and relays it as an
inboundCallto theGatewayon the destination chain. - The destination
GatewaytriggersTokenRemoteto mint (orTokenHometo unlock/transfer) the asset to the recipient.
| Path | Description |
|---|---|
contracts/ |
Smart contracts, split per chain: contracts_ethereum, contracts_polygon (token, message-bridge, and NFT-market contracts), contracts_soroban (Stellar), and contracts_merkle_proofs. |
agent/ |
The off-chain SMOOT-Bridge Agent (a.k.a. cross-route) that watches chains and relays cross-chain messages. |
apps/ |
Front-end applications: app_bridge_ui (current bridge UI, supports Stellar and Polygon), app_nftMarket (NFT marketplace UI), and the deprecated app_erc3643 (superseded by app_bridge_ui). |
services/ |
Backend services: routeService_multiSig (multi-sig message routing) and scanService_nftMarket (chain scanning for the NFT market). |
deployment/ |
Deployment tooling and Dockerfiles for the agent and scan service. |
sdks/ |
Client SDKs (reserved for future use). |
design/ |
Design documents. |
requirement/ |
Requirement documents. |
docs/ |
Additional docs, including deployment tutorials and event model reference. |
test/ |
Integration/setup test scaffolding. |
Each component is independently runnable; see its own README for setup details:
- Bridge UI:
apps/app_bridge_ui - NFT market UI:
apps/app_nftMarket - Agent:
agent/README.md— start viaagent/index.js - Route service:
node services/routeService_multiSig/src/startMsgRouter.js - Scan service:
node services/scanService_nftMarket/src/startScanChainService.js - Ethereum contracts:
contracts/contracts_ethereum/README.md - Polygon contracts:
contracts/contracts_polygon/README.md - Soroban (Stellar) contracts:
contracts/contracts_soroban/README.md
Licensed under the Apache License 2.0.