# 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! 🙏