# Call for Action: Gnosis Chain bridge validator's preparation for upcoming USDS migration The **new image version** for bridge validator for the upcoming USDS migration on xDAI bridge is [v3.10.0](https://hub.docker.com/layers/gnosischain/tokenbridge-oracle/v3.10.0/images/sha256-8d08d3dc3e1198049c9aa2a2f8f02b284b06befbe507503188385b99bde7a81b). We’d like you to **run it in parallel with your current xdai bridge validator (Mode: ERC_TO_NATIVE, v3.9.0)**. Once the migration is complete on **October 28, 2025**, we’ll let you know when it’s safe to shut down the old xDAI bridge validator(v3.9.0). Please follow the following steps to run for the **new xdai validator:** 1. Pull the latest image for tokenbridge oracle [(v3.10.0)]((https://hub.docker.com/layers/gnosischain/tokenbridge-oracle/v3.10.0/images/sha256-8d08d3dc3e1198049c9aa2a2f8f02b284b06befbe507503188385b99bde7a81b)): 2. Update the .env file The .env for new `ERC_TO_NATIVE` validator should be the same as for the old `ERC_TO_NATIVE` validator, we just need to update the start block with a recent block. ``` ORACLE_HOME_START_BLOCK= # most recent block on Gnosis Chain ORACLE_FOREIGN_START_BLOCK= # most recent block on Ethereum ORACLE_HOME_EVENTS_REPROCESSING=true ORACLE_FOREIGN_EVENTS_REPROCESSING=true ``` 3. Optional: If you’re running both old and new validators **on the same machine**, 1. rename your data volumes (for example, `bridge_data` → `bridge_data_usds`) to avoid collisions. (Refer to the docker compose for for [redis](https://github.com/gnosischain/tokenbridge/blob/master/oracle/docker-compose-xdai.yml#L29) and [rabbitmq](https://github.com/gnosischain/tokenbridge/blob/master/oracle/docker-compose-xdai.yml#L15) ) 2. Update the env value for these container's name if you've changed the container name in docker compose (for example: rabbit_xdai_usds) ``` ORACLE_QUEUE_URL=amqp://rabbit_xdai_usds:5672 ORACLE_REDIS_URL=redis://redis_xdai_usds:6379 ``` 3. Make sure the port doesn't collide with the old port in Redis 5. Run the validator ``` env ORACLE_VALIDATOR_ADDRESS=<validator address> \ env ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY=<validator address private key> \ docker-compose -f docker-compose-build.yml -f docker-compose-xdai.yml up -d --build ``` ### 📅 Timeline | Validator(image version) / Timeline | Mode: ERC_TO_NATIVE (v3.10.0) |Mode: ERC_TO_NATIVE (v3.9.0) |Mode: ARBITRARY_MESSAGE (v3.8.0)| | -------- | -------- | -------- |-------- | | Now - 29 Oct 2025 | Up | Up |Up | | From 29 Oct 2025 |Up | Down* |Up | *Estimation, please check the slack/Telegram channel for the confirmation on shutting down the v3.9.0 version ### 📅 Rollout Plan (Phased Migration) To avoid downtime and to make the transition smooth, we’re phasing the rollout: - **Batch 1 (GnosisDAO, CoW, KpK, Gateway)** Deadline: 3 Oct 25 - **Batch 2 (Giveth, Protofire, Safe** Deadline: 10 Oct 25 ### Reference 1. Technical background: https://github.com/gnosischain/tokenbridge-contracts/tree/feat/xdai-usds-migration 2. Bridge validator code: https://github.com/gnosischain/tokenbridge/tree/master/oracle We’ll monitor performance and sync issues during each phase before moving to the next group. Thanks for helping us make this transition smooth! 🙏