> For the complete documentation index, see [llms.txt](https://monobridge.gitbook.io/monobridge/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://monobridge.gitbook.io/monobridge/case-study/3.4-nft-migration-powered-by-mono-bridge.md).

# 3.4 NFT migration powered by Mono Bridge

Mono Bridge applied to NFT auction

Cross-chain Dapps built with anyCall may also bring a new experience of cross-chain participation in the NFT auction process. NFT transactions are often conducted through auctions. Auctions typically require higher attention and encourage the participation of as many as bidders, but for now, NFT transactions only allow the participation of the assets specified by the chain where the platform is located, while bidders on other chains must first transfer their assets to that chain. Although Multichain's NFT Cross-chain Bridge can transfer the NFTs to other chains, the transaction activity is still confined to a single chain, and cannot be carried out on multiple chains at the same time.

To enable bidders on different chains to simultaneously bid for the same NFTs will be a great expansion of the existing business logic.

Cross-chain Dapps built with anyCall can be leveraged to design the business logic specifically for auctions in a multi-chain environment and to implement such logic. Throughout the auction process, as long as NFT is locked in one of the chains, user participation and bids from different chains will be accepted to enable better price discovery.

<figure><img src="/files/uS4V8wFHzY2TZyCopKO2" alt=""><figcaption></figcaption></figure>

The specific process is as follows:

1. The project centers around one chain and deploys the smart contact that can realize auction logic on that chain. Meanwhile, the project also deploys the “Offer Agent” contracts that are responsible for receiving and transmitting bids on both the home chain and other chains. These Agent contracts will receive the bids from chains where they are located and send the real-time bids information to the home chain via calling anyCall. The auction status is mainly determined by the contract status on the home chain and displayed on the project’s frontend in real time.
2. Users can engage in the auction via initiating trade to the “Offer Agent” contract deployed on the chain where they are.
3. The Agent contracts receive the bids from users, lock the corresponding assets and transmit the bids information to the home chain via anyCall API.
4. anyExec on the home chain calls the Agent contract deployed there to activate the auction contract, so as to send the bids from users of other chains to the auction contract on the home chain.
5. Based on the bids from other chains, the auction contract updates the real time auction status until the final result is settled.
6. If the user who winsthe auction islocated on the same chain asthe NFT asset, the underlying NFT will be transferred to the user’s address by the auction contract. If not, the auction contract will transfer the underlying NFT to the designated chain where the user is via Multichain’s NFT router and the Agent contract there will transfer the NFT to the user’s address. At the same time, the assets of other users engaging in the auction will be released.
