The Wallet team merged 1 PRs this month:
other workflows have correct triggers
CHANGELOG:
Trigger workflows for stable/* branches
The Cli team merged 15 PRs this month:
Closes #522.
This PR:
This PR:


Payment structs to NativePayment and EvmContractPayment.closes #614
The rofl-app-backend uses oasis rofl build --validate-only to validate artifacts and captures errors from stderr. In this case, the specific (unhelpful) error shown is:
Error: compose file validation failed: parsing failed
After update:
Error: compose file validation failed: parsing: services must be a mapping
This approach keeps error handling consistent with other failures, since all errors are surfaced via stderr.
Full Changelog: v0.15.2...v0.15.3
Full Changelog: v0.15.3...v0.15.4
Full Changelog: v0.15.5...v0.16.0
A little delayed due to the summer break, but here are the latest updates:
➡️ We have released Sapphire 1.0.0 and Cipher 3.4.0 for MAINNET and TESTNET. This release improves EVM proxy support and includes multiple bug fixes for ROFL. No action needed — Sapphire and Cipher nodes have already been upgraded automatically.
➡️ We have released Oasis Web3 Gateway 5.3.2 for MAINNET and TESTNET. This release fixes a bug with bloom filter value in eth_getBlock responses.
If you're operating Oasis Web3 Gateway, please upgrade to the latest
version. For more information and links to releases see the updated MAINNET network parameters (https://docs.oasis.io/node/mainnet/) and TESTNET network parameters (https://docs.oasis.io/node/testnet/). Thanks!
[2025-09-16] am3lody:
We have released Oasis Core 25.5 for MAINNET.
Key highlights include: ➡️ Added a stateless client node. ➡️ Storage sync protocol was split into two independent protocols (checkpoint and diff sync).
Visit the changelog (https://github.com/oasisprotocol/oasis-core/blob/v25.5/CHANGELOG.md)
to view all changes. The upgrade is non-breaking and can be performed
at any time by replacing the oasis-node binary and restarting your node.
All node operators on MAINNET are encouraged to upgrade. For more information and links to releases, see the updated MAINNET network parameters (https://docs.oasis.io/node/network/mainnet). Thanks!
[2025-09-23] am3lody:
All SGX node operators (Sapphire and Cipher), please ensure your nodes pass the latest attestation-tool's test before Oct 31. The output must NOT display OutOfDate.
‼️ If your attestation-tool's output does show OutOfDate, please upgrade your BIOS to the latest version and re-run the attestation tool to confirm the issue is resolved.
➡️ I've already reached out to some of you directly—if your nodes passed the check then, they are still fine now.
attestation-tool: https://github.com/oasisprotocol/tools/releases/tag/attestation-tool-0.3.4
We have released Oasis Web3 Gateway 5.3.4 for MAINNET.
Key highlights include:
➡️ Fixes a bug with transaction index mismatch in eth_getLogs responses
If you're operating the Oasis Web3 Gateway, please upgrade to the latest version. Visit the changelog (https://github.com/oasisprotocol/oasis-web3-gateway/releases/tag/v5.3.4) to view all changes. For more information and links to releases see the updated MAINNET network parameters (https://docs.oasis.io/node/network/mainnet). Thanks!
The number of daily transactions on Sapphire Mainnet fluctuated between 4,885 and 23,460. The monthly average in September was 13,264 transactions per day and was 32% lower compared to the last month (19,480 transactions). The daily maximum was 23,460 transactions on 28 September (compared to 288,402 the last month on 1 August).
| date | all |
|---|---|
| 2025-09-01 | 4,968 |
| 2025-09-02 | 5,289 |
| 2025-09-03 | 5,828 |
| 2025-09-04 | 6,326 |
| 2025-09-05 | 16,493 |
| 2025-09-06 | 17,305 |
| 2025-09-07 | 17,463 |
| 2025-09-08 | 17,042 |
| 2025-09-09 | 10,729 |
| 2025-09-10 | 4,885 |
| 2025-09-11 | 9,179 |
| 2025-09-12 | 12,624 |
| 2025-09-13 | 10,125 |
| 2025-09-14 | 11,528 |
| 2025-09-15 | 10,937 |
| 2025-09-16 | 11,713 |
| 2025-09-17 | 16,951 |
| 2025-09-18 | 16,777 |
| 2025-09-19 | 11,439 |
| 2025-09-20 | 11,207 |
| 2025-09-21 | 11,210 |
| 2025-09-22 | 11,488 |
| 2025-09-23 | 10,680 |
| 2025-09-24 | 20,852 |
| 2025-09-25 | 21,191 |
| 2025-09-26 | 12,410 |
| 2025-09-27 | 21,277 |
| 2025-09-28 | 23,460 |
| 2025-09-29 | 20,748 |
| 2025-09-30 | 15,806 |
| 2025-10-01 | 1,885 |
The number of daily transactions on Emerald Mainnet fluctuated between 3,131 and 3,485. The monthly average in September was 3,217 transactions per day and was 2% lower compared to the last month (3,268 transactions). The daily maximum was 3,485 transactions on 3 September (compared to 3,680 the last month on 13 August).
| date | all |
|---|---|
| 2025-09-01 | 3,131 |
| 2025-09-02 | 3,248 |
| 2025-09-03 | 3,485 |
| 2025-09-04 | 3,198 |
| 2025-09-05 | 3,198 |
| 2025-09-06 | 3,173 |
| 2025-09-07 | 3,167 |
| 2025-09-08 | 3,222 |
| 2025-09-09 | 3,293 |
| 2025-09-10 | 3,195 |
| 2025-09-11 | 3,173 |
| 2025-09-12 | 3,255 |
| 2025-09-13 | 3,214 |
| 2025-09-14 | 3,209 |
| 2025-09-15 | 3,209 |
| 2025-09-16 | 3,179 |
| 2025-09-17 | 3,201 |
| 2025-09-18 | 3,234 |
| 2025-09-19 | 3,191 |
| 2025-09-20 | 3,167 |
| 2025-09-21 | 3,273 |
| 2025-09-22 | 3,276 |
| 2025-09-23 | 3,313 |
| 2025-09-24 | 3,217 |
| 2025-09-25 | 3,231 |
| 2025-09-26 | 3,192 |
| 2025-09-27 | 3,165 |
| 2025-09-28 | 3,165 |
| 2025-09-29 | 3,181 |
| 2025-09-30 | 3,169 |
| 2025-10-01 | 265 |
{{NODE_STATS mainnet}}
No major outages were reported for Oasis foundation-provided services in September. A few-minutes downtimes were encountered by the ... You can check out the details on the Mainnet status page.
We have released Oasis Web3 Gateway 5.3.4 for TESTNET.
Key highlights include:
➡️ Fixes a bug with transaction index mismatch in eth_getLogs responses
If you're operating the Oasis Web3 Gateway, please upgrade to the latest version. Visit the changelog (https://github.com/oasisprotocol/oasis-web3-gateway/releases/tag/v5.3.4) to view all changes. For more information and links to releases see the updated TESTNET network parameters (https://docs.oasis.io/node/network/testnet). Thanks!
The number of daily transactions on Sapphire Testnet fluctuated between 8,590 and 17,522. The monthly average in September was 10,376 transactions per day and was 1% lower compared to the last month (10,475 transactions). The daily maximum was 17,522 transactions on 19 September (compared to 17,837 the last month on 10 August).
| date | all |
|---|---|
| 2025-09-01 | 10,568 |
| 2025-09-02 | 11,533 |
| 2025-09-03 | 11,167 |
| 2025-09-04 | 10,922 |
| 2025-09-05 | 10,227 |
| 2025-09-06 | 8,631 |
| 2025-09-07 | 10,126 |
| 2025-09-08 | 11,616 |
| 2025-09-09 | 12,048 |
| 2025-09-10 | 9,274 |
| 2025-09-11 | 9,396 |
| 2025-09-12 | 9,227 |
| 2025-09-13 | 8,744 |
| 2025-09-14 | 8,633 |
| 2025-09-15 | 8,590 |
| 2025-09-16 | 8,660 |
| 2025-09-17 | 8,710 |
| 2025-09-18 | 11,794 |
| 2025-09-19 | 17,522 |
| 2025-09-20 | 9,358 |
| 2025-09-21 | 9,609 |
| 2025-09-22 | 11,477 |
| 2025-09-23 | 9,560 |
| 2025-09-24 | 9,398 |
| 2025-09-25 | 9,302 |
| 2025-09-26 | 9,197 |
| 2025-09-27 | 10,380 |
| 2025-09-28 | 11,587 |
| 2025-09-29 | 11,560 |
| 2025-09-30 | 12,473 |
| 2025-10-01 | 982 |
The number of daily transactions on Emerald Testnet fluctuated between 2,106 and 3,317. The monthly average in September was 3,152 transactions per day and was 3% lower compared to the last month (3,255 transactions). The daily maximum was 3,317 transactions on 12 September (compared to 3,290 the last month on 28 August).
| date | all |
|---|---|
| 2025-09-01 | 2,561 |
| 2025-09-02 | 2,135 |
| 2025-09-03 | 2,106 |
| 2025-09-04 | 2,761 |
| 2025-09-05 | 3,272 |
| 2025-09-06 | 3,262 |
| 2025-09-07 | 3,264 |
| 2025-09-08 | 3,266 |
| 2025-09-09 | 3,306 |
| 2025-09-10 | 3,261 |
| 2025-09-11 | 3,264 |
| 2025-09-12 | 3,317 |
| 2025-09-13 | 3,292 |
| 2025-09-14 | 3,262 |
| 2025-09-15 | 3,261 |
| 2025-09-16 | 3,288 |
| 2025-09-17 | 3,266 |
| 2025-09-18 | 3,261 |
| 2025-09-19 | 3,262 |
| 2025-09-20 | 3,261 |
| 2025-09-21 | 3,261 |
| 2025-09-22 | 3,265 |
| 2025-09-23 | 3,265 |
| 2025-09-24 | 3,246 |
| 2025-09-25 | 3,260 |
| 2025-09-26 | 3,265 |
| 2025-09-27 | 3,265 |
| 2025-09-28 | 3,282 |
| 2025-09-29 | 3,264 |
| 2025-09-30 | 3,266 |
| 2025-10-01 | 272 |
{{NODE_STATS testnet}}
No major outages were reported for Oasis foundation-provided services in September. A few-minutes downtimes were encountered by the ... You can check out the details on the Testnet status page.
The Nexus team merged 20 PRs this month:
Fixes: #899
CHANGELOG:
Add eden runtime stale accounts
Fixes #875
CHANGELOG:
consensus: Add Gas Used and Block Sze fields
Also moves NEXUS_FORCE_MARK_STALE_ACCOUNTS from env variable to a config parameter.
CHANGELOG:
Fix stale accounts handling with multiple lists per chain
Closes #1143, also updates the docker images from Debian bookworm to trixie.
For a list of changes in this release, see the Change Log.
NOTE: If you are upgrading from an earlier release, please carefully review
the Change Log for Removals and Breaking changes.
For a list of changes in this release, see the Change Log.
NOTE: If you are upgrading from an earlier release, please carefully review
the Change Log for Removals and Breaking changes.
For a list of changes in this release, see the Change Log.
NOTE: If you are upgrading from an earlier release, please carefully review
the Change Log for Removals and Breaking changes.
The Explorer team merged 34 PRs this month:
Card headers update to the ui-library Typography component and adjusting the size of body font to 14px.
CHANGELOG:
Update headers and body font size
Converting the remaining MUI Grid components to Tailwind classes on:
Implements #2139
Updating snapshot components from MUI to tailwind classes and uil Typography component. This includes: Consensus snapshot, ParaTimes snapshots, Token snapshot and Validator snapshot.
Waits for oasisprotocol/ui-library#49, oasisprotocol/ui-library#57
Used in:
Consensus acc staked/debonding
https://pr-2122.oasis-explorer.pages.dev/mainnet/consensus/address/oasis1qr3dyzj5aed7f2zq6rrrpzklzfl37t0tsvvffa9m
vs
https://explorer.oasis.io/mainnet/consensus/address/oasis1qr3dyzj5aed7f2zq6rrrpzklzfl37t0tsvvffa9m
Card filters
https://pr-2122.oasis-explorer.pages.dev/mainnet/sapphire/token
vs
https://explorer.oasis.io/mainnet/sapphire/token
https://pr-2122.oasis-explorer.pages.dev/mainnet/consensus/proposal/5
vs
https://explorer.oasis.io/mainnet/consensus/proposal/5
Duration selection in cards with charts
https://pr-2122.oasis-explorer.pages.dev/mainnet/consensus
vs
https://explorer.oasis.io/mainnet/consensus
Router tabs (most of details pages)
https://pr-2122.oasis-explorer.pages.dev/mainnet/sapphire/token/0x39d22B78A7651A76Ffbde2aaAB5FD92666Aca520
vs
https://explorer.oasis.io/mainnet/sapphire/token/0x39d22B78A7651A76Ffbde2aaAB5FD92666Aca520
CHANGELOG:
Remove usage of MUI Tabs component
Replaced MUI components with shadcn components from ui library and tailwind styling to accomodate new design.
CHANGELOG:
Convert Footer component to shadcn
Replace Grid and Box MUI with Tailwind classes for styling and layout of Layerpicker inside navigation. Partial implementation of #2139
There is a minor responsive layout misalignment caused by
mismatch of MUI and Tailwind breakpoints between 768px - 900px, which
should resolve itself with Issue #2157:

CHANGELOG:
Change Grid and Box components from MUI to Tailwind in Layerpicker
Used in:
block details nav
https://pr-2187.oasis-explorer.pages.dev/mainnet/sapphire/block/10539598
vs
https://explorer.dev.oasis.io/mainnet/sapphire/block/10539583
consensus acc staking card
https://pr-2187.oasis-explorer.pages.dev/mainnet/consensus/address/oasis1qqnk4au603zs94k0d0n7c0hkx8t4p6r87s60axru
vs
https://explorer.dev.oasis.io/mainnet/consensus/address/oasis1qqnk4au603zs94k0d0n7c0hkx8t4p6r87s60axru
lists
https://pr-2187.oasis-explorer.pages.dev/mainnet/consensus/address
vs
https://explorer.dev.oasis.io/mainnet/consensus/address
CHANGELOG:
Replace MUI Pagination with Oasis UI Library component
Convert Learning Materials to new uil library and tailwind components and aligning with the new design. Partial implementation of #2139
Note - card heading and 'view all' button will be handled separately across all cards - Issue #2185.
CHANGELOG:
Learning materials uil library conversion
Clean up minor issues introduced during the migration:
Warning: Missing Descriptionoraria-describedby={undefined} for {DialogContent}.CHANGELOG:
Clean up minor issues introduced during the migration
Replace mono fonts in tables on dashboard pages.
Partial implementation of issue #2197
CHANGELOG:
Update mono fonts on dashboards.
Update remaining mono fonts across the site (excluding code snippets).
Issue: #2197
Example screenshots -
CHANGELOG:
Update remaining mono fonts across the site.
Update social banner above footer to shadcn and tailwind from MUI.
CHANGELOG:
Closes #2191
Used in
CHANGELOG:
Remove usage of MUI Menu components
Match MUI breakpoints to match values of Tailwind's default breakpoints and adjust size props on Grid components.
Fixes Issue #2157
CHANGELOG:
Adjust MUI breakpoints to match tailwind values
Convert dashboard layout grids to tailwind.
Note - paraTime dashboard grid of 'Learning Materials' and 'Latest Blocks' is temporarily handled with flexbox tailwind classes and sx inline style, until MUI Card gets replaced.
CHANGELOG:
Convert dashboard layouts to tailwind.
Convert header Grid and Box MUI elements to tailwind.
CHANGELOG:
Convert header Grid and Box MUI elements to tailwind
This is an alternate implementation of #2178, which keeps the border around the hover highlight, at the cost of losing one pixel around every address, and 1px of misalignment.
See screenshots at #2178.
CHANGELOG:
Simplify hover highlighting
CHANGELOG:
Update mono fonts on ROFL app details page.
CHANGELOG:
Trigger workflows for stable/* branches
Closes #1666
Waits for Nexus deploy
CHANGELOG:
Show gas used in Consensus transaction details
Reduce font size of table search input to 14px. Temporary adjustment until ui-library input gets implemented.
Fixes: 2200
CHANGELOG:
Update font size of table search input.
As part of the MUI → shadcn migration and block explorer redesign, update primary color #3333C4 → #0500E2 and switch default font Figtree → Inter. Issue: 2172
CHANGELOG:
Update project font and primary color.
CHANGELOG:
Fix emitting contract alignment.
<p> cannot appear as a descendant of
vs master

CHANGELOG:
Clean up snapshot card
In the layout picker, we are using a Drawer component, which is using Radix's Dialog under the hood.
On the browser console, there was a message:
DialogContentrequires aDialogTitle
for the component to be accessible for screen reader users.
etc.
This change fixes that, by wrapping the already existing app logo with the required DrawerTitle tag.
CHANGELOG:
Solve warning about missing dialog title
CHANGELOG:
Fix EVM log message data display.
Introduced in #2155
dev/mobile view throws
chunk-KPD4VVXB.js?v=629ceb01:521 Warning: validateDOMNesting(...): <div> cannot appear as a descendant of <p>....
CHANGELOG:
Fix warnings div cannot appear as a descendant of paragraph
CHANGELOG:
Fix responsiveness in paratime snapshot header
Fixes 2204
CHANGELOG:
Learning Materials content height update.
Updating terminology from 'ROFL Apps' to 'ROFL-Powered Apps' and updating 'ROFL name' in Metadata table.
Issue: #2186
CHANGELOG:
Update ROFL apps title and metadata name
We are caching loaded token info. Cache is indexed by token address. However, we can now reference token using both their oasis and eth addresses.
This change makes sure we are normalizing all addresses to oasis addresses, so that we don't try to load the same info twice, using different representations of the same address.
This corner case is triggered when we are on a screen when both versions are on display, and we want to check for token names for both of them.
In these cases, up to this point, we were making some useless request to Nexus. This change gets rid of that.
This can be tested (for example) at http://localhost:1234/mainnet/sapphire/rofl/app/rofl1qpykfkl6ea78cyy67d35f7fmpk3pg36vashka4v9
After this change, there are 4 requests sent to nexus: /evm_tokens/...
Before the change, there used to be 5.
CHANGELOG:
Improve caching of token info
Broken since #2131
https://pr-2214.oasis-explorer.pages.dev/mainnet/sapphire/block
vs prod
https://explorer.oasis.io/mainnet/sapphire/block
CHANGELOG:
Remove duplicated hash column from blocks list table
The Oasis Sdk team merged 22 PRs this month:
Closes #2274.
Since the ethabi crate is no longer maintained and the new version of evm has a dependency incompatibility with it, we should switch to something else.
The ethabi crate recommends solabi as the replacement, so let's try that...
This PR changes the majority of ethabi uses into solabi, but a few have been left for @njelich to do while I'm on vacation :)
(Those are the evm_derive macros and erc20 precompiles [and tests
related to them], as well as a few bits here and there that I probably
missed.)
Fixes #2318
This pull request introduces the initial implementation of the Python client SDK for Oasis ROFL, including packaging, release automation, development tooling, and the core client code. The changes set up a modern, maintainable Python package with automated publishing and robust developer experience.
Core SDK Implementation:
RoflClient and the KeyKind enum in src/oasis_rofl_client/rofl_client.py, providing async key generation methods and support for multiple key types.src/oasis_rofl_client/__init__.py and version handling in src/oasis_rofl_client/__about__.py. [1] [2]Packaging and Release Automation:
pyproject.toml for project metadata, dependencies, dev tooling, and build configuration, including Ruff and Hatch integration..github/workflows/release-rofl-client-py.yml for automated PyPI publishing on version tags.Developer Experience and Documentation:
README.md with installation, usage, API reference, error handling, and release information.Makefile for common development tasks (install, lint, format, test, build, clean, typecheck)..gitignore to exclude build artifacts, caches, and IDE files.examples/basic_usage.py demonstrating key generation and usage patterns.closes #2323
Replaced "ROFL app" terms with "app", "app running in ROFL", and "ROFL-Powered" for titles
Fixes #2305
Closes #2310.
The minimal image is 172MB in size, whereas the full image is 4GB, so this should be a very nice improvement (and it builds super-fast).
Fixes #2256
Initial Release
Needs tag for pypi publish workflow
rofl-client/py/v0.1.0
resolves #2311
There were some missing workdirs in the publish workflow.
(works now correctly on my fork)
Upgrading CLI to 15.5 and Core to 25.5.x for rofl-dev Docker image.
The marketplace diagram has way too many information. This PR simplifies it:
Related: #2323, oasisprotocol/docs#1418
The Sapphire Paratime team merged 9 PRs this month:
BREAKING CHANGE
With #550 there were a couple of problems that revealed during usage. Even though it successfully wrapped EIP-6963 providers, the implementation did not work for WalletConnect and MetaMask "in-app" communication between mobile Chrome and mobile MetaMask for example.
This PR addresses the above issues and resolves them by changing the underlying API, which now wraps the connectors directly. By doing so, all the issues with previous implementation were successfully resolved.
Continuation of #620 (comment) thread.
Relates to #607 changes.
This PR:
getRoflAppId() and ensureRoflAppId() subcalls to foundry's SapphireTest, so they can be used with forge test locally.This PR updates soldeer contracts/ package naming and adds integrations package to workflow.
The new getRoflAppId() helper was merged a while ago, but it took a while to test it in production.
Built upon #607
The Pontusx Paratime team merged 1 PRs this month:
1 new releases of pontusx-paratime were made this month:Version 0.0.6-devnet
The Oasis Web3 Gateway team merged 11 PRs this month:
Already indexed blocks will be fixed with the existing log fixer worker (added in #787)
Full Changelog: v5.3.2...v5.3.3
Full Changelog: v5.3.3...v5.3.4
The Docs team merged 14 PRs this month:
closes #1439 & oasisprotocol/sapphire-paratime#627
this PR:
PREVIEW: https://deploy-preview-1462--oasisprotocol-docs.netlify.app/build/tools/localnet
Simplifies the Hyperlane CLI docs by removing Sapphire-specific instructions and switching to the standard CLI installation flow. Updates introduction and usage examples for clarity.
Merge once Sapphire with oasisprotocol/oasis-sdk#2215 is live.
Bumped on this when plugging in Ledger for the first time on a fresh Ubuntu installation.
The Demo Rofl team merged 2 PRs this month:
In total, 2 pull requests were merged in September.The Oasis Core team merged 8 PRs this month:
What was done:
Follow-up:
I propose factoring out checkpointer and availability nudger (#6308) into separate workers. Could be one PR for each.
This will make diff sync part easier to reason about and thus optimize.
CHANGELOG:
go/consensus/cometbft/apps/keymanager: Apply policy at epoch boundary
Fixes #6327
Example client side response with the update:
addrss, err := rt.Accounts.Addresses(context.Background(), uint64(height), types.NativeDenomination)
if err != nil {
println("Failed to fetch addresses:", err.Error())
}
// prints: Failed to fetch addresses: Failed to write response: message too largewhile before the query would just appear to be stuck on the client.
CHANGELOG:
Updated links to genesis file
remove redundant word in comment
CHANGELOG:
CODEOWNERS: Add @matevz for /docs/