If you're bringing a protocol to Rome, the oracle question is already answered.
The Oracle Gateway exposes Solana's Pyth and Switchboard accounts through the interface your Solidity already uses — Chainlink's latestRoundData(). No relay, no new oracle network, no code changes.
1
5
14
2,128
Reading a price is one call, no key, no funds:
cast call 0x76b92646D63FB1AFEa687C7Dac48b437bF99C1B4 \
"latestRoundData()(uint80,int256,uint256,uint256,uint80)" \
--rpc-url hadrian.testnet.romeprotocol…
That's SOL/USD on chain 200010.
1
5
197
Adapters are per-feed contracts cloned from a public factory.
Direct: parses the Pyth account at call time — nothing cached in between.
Cached: refresh() stores a copy in the adapter — each read is a stored value. Cheaper for multi-feed txs.
Same interface either way.
1
3
144
Need a feed that isn't listed? Three paths.
Published on Solana: clone a direct adapter against that price account.
Want the cached path: clone a cached adapter and crank refresh() yourself.
Nobody publishes it: CachedFeedAdapter wraps any source you run.
Jul 27, 2026 · 9:30 PM UTC
1
2
159






