> For the complete documentation index, see [llms.txt](https://docs.giwa.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.giwa.io/notices/en/giwa-chain/upgrade-19.md).

# Upgrade 19 Karst hardfork

> Notice date: July 2, 2026
>
> Target Network: GIWA Testnet (Sepolia)

## Overview

GIWA Chain will apply the Karst hard fork (Upgrade 19 protocol update) from the OP Stack. This upgrade includes updates to the L2 execution environment (Osaka EVM features), fault proof system improvements, and the introduction of the L2 Contract Manager (L2CM), expanding network capabilities and strengthening security.

{% hint style="warning" %}
Because this upgrade is a hardfork, it introduces protocol-level changes. Node operators must upgrade to the latest version before the scheduled activation time.
{% endhint %}

{% hint style="info" %}
Starting with the Karst hard fork, only op-reth is supported as the execution client and only kona-client as the fault proof program. op-geth and op-program do not support Karst.
{% endhint %}

## Schedule

* Testnet (Sepolia): *July 6, 2026 at 15:00:00 KST (Unix timestamp: `1783317600`)*

{% hint style="info" %}
The actual time may vary depending on network conditions and block timing.
{% endhint %}

## What's changing

* **Osaka EVM support**: Ethereum Osaka features are introduced to the L2 execution environment. This includes a per-transaction gas limit cap, gas cost adjustments for certain precompiles (`P256VERIFY`, `MODEXP`), and a new opcode.
* **Fault Proof — respected game type change**: The respected dispute game type changes from `CANNON` to `CANNON_KONA` (type 8). GIWA currently operates its fault proof system in a permissioned manner, so this change is handled at the operational level and requires no action from users or developers.
* **Reduced BN256 pairing input limit**: The input to the `ecPairing` (`0x08`) precompile is reduced to a maximum of 300 pairs (down from 427). This is a preemptive adjustment in preparation for the upcoming Glamsterdam (EIP-7904).
* **L2 Contract Manager (L2CM)**: A mechanism for upgrading L2 predeploy contracts during network upgrades, serving as a prerequisite for future interop.
* **OPCMv2**: The redesigned OP Contracts Manager is applied for the first time.

## For Developers

* **Precompile gas cost changes**: Gas costs for precompiles such as `P256VERIFY` and `MODEXP` are increased. If you have contracts or applications that hardcode these values, a review is required. In particular, if you use secp256r1 (P-256) signature verification (e.g., mobile secure-element-based AA), please check the impact of the increased gas cost (6,900 gas).
* **Transaction gas limit**: The gas limit for a single transaction is capped at 16,777,216. Transactions requiring more gas than this may fail. (Deposit transactions are exempt.)
* **BN256 pairing**: Applications that call `ecPairing` (`0x08`) with more than 300 pairs may fail. Standard Groth16 proof verification is not affected.

## For Node Operators

* Node operators must upgrade to the latest node version before the scheduled Karst hard fork.
* **op-geth does not support Karst.** If you have not yet migrated to op-reth, you must do so before the hard fork. The fault proof program also transitions from op-program to kona-client.
* For op-reth-based node setup and the latest releases, please refer to the [giwa-io/node](https://github.com/giwa-io/node/releases) repository.

## Learn more

Want to learn more about Upgrade 19 (Karst)? Check out the [OP Stack documentation](https://docs.optimism.io/notices/upgrade-19).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.giwa.io/notices/en/giwa-chain/upgrade-19.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
