---
# System prepended metadata

title: 'Call for Action: Gnosis Chain bridge validator''s preparation for upcoming USDS migration'
tags: [Gnosis Chain]

---


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