# How to arbitrage?

Arbitration can not only bring earnings to arbitrageurs and balance pools but also help cross-chain users trade with less slippage.

**When Amount(Token) > Amount(pToken)**

Take the USDT pool on Ethereum as an example, there is an apparently larger amount of USDT than that of pUSDT, which means the USDT/pUSDT exchange rate is larger than 1.

![](https://lh5.googleusercontent.com/F1RJJlxtn1CNHsECHJ1irJTELqInTT347V475XSLSSeU_tin5wIqqTOX8k7hvdz7dJHtCRbRRs71uvhHVWIeYSGMMt11-Y3rNf9HbLBh2KL0Sa-7rIKTszHd_ww0fkWUlPJUf7scQU3zu8VkbA)

In this case, you can Peg 200 USDT to 200 pUSDT at a 1:1 ratio.

![](https://lh3.googleusercontent.com/sd-qpwIDD_2Ylr0m21_x7JEgYE375wHPelWnJEpC4E3zfACgVrUrwrQbPNgECOObgUIICxT9IOvQvucV15u0iqUPe5iNu728j7boe1HQeAQiKcu-AxPTrdG8VImekSvcOAW-QDBBsesQUWzWbw)

Then Barter these 200 pUSDT for 200.65 USDT, and your profit is 200.65 - 200 = 0.65 USDT. After this arbitration, the pool becomes more balanced.

![](https://lh6.googleusercontent.com/VzXFCNcoZzB92tn4YAn1xfHc3ROV0z2cfYGAeIcKuHd8OGr7_3dze5jnkUj7a0xi4yaMWbnf8PqybwjRFQwl7vHYN9N10_dzN0-Fc4u41ziynIF_gv2WfzK4FnOFaCOjfIcQtpnoVx8QxvCeNQ)

**When TokenAmount < pToken Amount**

Take the USDT pool on BNB Chain as an example, there is an apparently smaller amount of USDT than that of pUSDT, which means the USDT/pUSDT exchange rate is smaller than 1.

![](https://lh5.googleusercontent.com/Kb17yN3LvW3C8FQ3d_8l2afdaV-ehJ062bvCjpJx2YaBo_l-Fx9GGRR5fZjyuDfh_GTEnAS5JU6LuN3ZlAk1mI0IBy5t72jm49ojBzYyyG0YXZQ20b2yGny5QN2xuJsRy9fO6u7Yeo-BPFJ-Xw)

In this case, you can Barter 200 USDT for 200.65 pUSDT.

![](https://lh5.googleusercontent.com/-O_tzKrkKF6FCer_oKVGTz8dxMh9wLL97O27MFXATci1VyWyyX1UpIITFXw4g4wDoTkcC1VP4jv8snTOzSsZqWgYjq2o8m71tbIyMvX_OaRgEBuFEOkc9xKHmROMQhGkhh3brA58ekUXrg6iIA)

Then Unpeg these 200.65 pUSDT back to its Liquidity Entry Chain, which is Ethereum for 200.53 USDT, and your profit is 200.53 - 200 = 0.53 USDT. After this arbitration, the pool becomes more balanced.

![](https://lh6.googleusercontent.com/O1a5txAMn6iAWfKu5q878mnnKpTCu-8SZGNGiragJdM9u9RAxnBT31Gw9dZB7-yfxFupmoloUGyT0wM9umvMmtvjjfaaOOJv533TWaYQkeaRPPhcAfTyc7sCeXtSPepzupn3JXj7sM_QWu28yQ)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.o3swap.com/o3-swap-user-guide/how-to-arbitrage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
