# \[PASSED\] OP-PIP-90: Upgrade Wormhole Core contract on Solana Mainnet

**URL:** <https://forum.pyth.network/t/passed-op-pip-90-upgrade-wormhole-core-contract-on-solana-mainnet/2337>\
**Category:** Proposals\
**Tags:** operational-pip\
**Created:** [January 31, 2026, 10:29am UTC](https://forum.pyth.network/t/passed-op-pip-90-upgrade-wormhole-core-contract-on-solana-mainnet/2337 "2026-01-31T10:29:26Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![KemarTiti](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.pyth.network/kemartiti/32/5_2.png) [@KemarTiti](https://forum.pyth.network/u/KemarTiti)\
**Post date:** [January 31, 2026, 10:29am UTC](https://forum.pyth.network/t/passed-op-pip-90-upgrade-wormhole-core-contract-on-solana-mainnet/2337/1 "2026-01-31T10:29:26Z")

</div>

**Abstract**  
Perform a governance upgrade of the Wormhole Core contract on Solana Mainnet to fix an issue with guardian set expiration handling.  
The upgrade enables setting a non-zero guardian set TTL (24 hours), allowing upcoming Wormhole guardian key rotations to be executed without downtime.

**Rationale**  
Wormhole guardians will be rotating keys in multiple batches over the coming weeks, with a final update on Ethereum requiring downstream chains to update within a 24-hour window to avoid message verification downtime.  
Our Solana deployment of the Wormhole Core contract contains a bug where the previous guardian set expiration is set to zero, which prevents safe, zero-downtime guardian set updates.  
Because this value cannot be modified in the existing program, a contract upgrade is required.  
Executing this upgrade via governance ensures continuity for all Pyth Core users on Solana during the guardian rotation process.

**Description**  
This proposal emits a single Wormhole governance message targeting the Solana chain to upgrade the Wormhole Core contract in place.  
The upgraded contract hardcodes the guardian set expiration to 24 hours and adds support for updating the guardian set TTL.  
No changes are made to the Wormhole address, preserving compatibility with existing client integrations and SDKs.

**Implementation plan**  
Wormhole Core program changes:  
[https://github.com/guibescos/wormhole/commit/472a4f39f80344104dc6c3a92ea0f947efcf1813](https://github.com/guibescos/wormhole/commit/472a4f39f80344104dc6c3a92ea0f947efcf1813)

Governance and CLI tooling updates:  
[https://github.com/pyth-network/pyth-crosschain/pull/3418](https://github.com/pyth-network/pyth-crosschain/pull/3418)

Build requirements:

- anchor-cli 0.29.0

- solana-cli 1.17.34

- UNIX system running ARM-64 architecture

Build instructions:

```auto
cd solana/
NETWORK=mainnet make build

```

Expected artifact:  
`artifacts-mainnet/wormhole_core_bridge_solana.so`

Verified SHA256:  
`ce1706e6ca3256f18be8c4f49bed162014eace06bea16899e82de591617f8017`

Proposal ID  
`9stw4GeNBgxasLdiEdK41W39jm6h8uDJKCa3gjgBwjgt`

**Proposal verification**  
Reproduce the Wormhole Core program build using the commit referenced above and verify that the resulting binary matches the expected SHA256 hash.

Proposal link: [Pyth Network](https://proposals.pyth.network/?tab=proposals&proposal=9stw4GeNBgxasLdiEdK41W39jm6h8uDJKCa3gjgBwjgt)
