Blockchain is a decentralized ledger system that enables transactional consensus among untrusted nodes. Due to the independence between blockchains, it is tough to complete asset exchange tasks between diverse chains. Facing this problem, multiple cross-chain exchange schemes were proposed, but they have not been widely used due to various defects in terms of compatibility, flexibility, security, and practicability.In this paper, we construct a comprehensive cross-chain exchange system called Practical AgentChain. Various coins can be mapped to the corresponding tokens on Practical AgentChain for trading. One or multiple trading operators can spontaneously form a service deposit pool on existing blockchains and register a trading group for profit using the well-designed smart contract called Agent Contract. All the trading groups competitively provide cross-chain exchange services. Clients with exchange currency requirements can freely select an appropriate trading group to request services, such as mapping assets to tokens or withdraw tokens. The choice of the trading group is made according to the group’s deposit and the group members’ reputation recorded on the Agent Contract. This system also incorporates Town crier as the reliable Data Oracle system for obtaining the status of cross-chain transactions and combines a matching exchange protocol to ensure the fairness of on-chain token exchange.In addition, we design an impartial service arbitration mechanism and a deposit allocation scheme to ensure the reliability of the system. Through security analysis, our system can resist re-use attacks, denial-of-service attacks and resolve service availability issues. We modify the Town crier adaptively and combine it with Ethereum to implement the simulation. The experimental results show that Practical AgentChain is efficient and low-cost. Besides, our system can be deployed on any existing blockchain that supports smart contracts since the system’s architecture is highly portable.