How a change to the protocol actually ships

A GIP is a proposal. A GGP is a vote. Knowing the difference lets you tell a discussion from a decision, which is most of reading this ecosystem accurately.

1 of 5 in the Governance path intermediate 11 min

Checked against Graph Horizon (2025-12-11)

Last read 2026-08-30 Due again 2026-11-30

Every protocol claim below was read at these sources on 2026-08-30. Where they disagree with each other, the lesson says so.

Most confusion about The Graph’s roadmap comes from reading a proposal as though it were a decision. The process distinguishes them clearly, and once you can tell them apart the ecosystem becomes considerably easier to follow.

GIP: the proposal.

A Graph Improvement Proposal is a written argument for a change. It lives in the public repository, carries a number, and goes through discussion on the forum.

A GIP has a status. Draft, under discussion, approved, and so on. A GIP existing means somebody wrote it down. It does not mean anybody agreed.

GIPs are also where the reasoning is recorded, which makes them the best documentation of why the protocol is shaped as it is. GIP-0051 on exponential rebates, for instance, explains the Cobb-Douglas problem more clearly than any secondary source, and openly records where the new mechanism could be gamed.

GGP: the vote.

A Graph Governance Proposal is what actually gets voted on. Several GIPs may be bundled into a release and voted as one GGP.

The vote happens on Snapshot, with each Council member able to vote. Six positive votes mean the proposal is accepted, which follows directly from the Council being a six-of-ten multisig.

GIP written forum discussion bundled into a GGP Council vote deployed

Why two stages.

The separation does real work. Anyone can write a GIP, so the proposal stage is permissionless and open. Executing a change to contracts holding a great deal of value cannot be, so the decision stage is bounded and accountable.

Bundling into releases also reflects reality: protocol changes ship together, get audited together, and are deployed together. Voting on each individually would produce combinations nobody tested.

Reading status correctly.

This is the practical skill. When you read that The Graph “is adding” something, work out which stage it is at:

  • A GIP in draft or discussion is somebody’s argument. It may never ship.
  • A GIP approved but not deployed is decided and not yet real. The distinction matters if you are planning around it.
  • A deployed change is current behaviour, and even then the tooling may lag, which the allocations lesson shows concretely.

Announcements, conference talks and enthusiastic threads routinely blur these. The repository does not, which is why it is worth going there.

A live example.

GIP-0089, the Innovation Allocation, is worth following through the whole pipeline because it completed recently and it changed real numbers.

It was written as a GIP, discussed publicly, approved by Council on 2026-08-26, and took effect on 2026-08-31, redirecting a share of protocol issuance to the Foundation treasury. The forum thread carries the argument, the figures and the objections.

Read it as a specimen of the process rather than only for its content. Everything about how change happens here is visible in that one thread.

Check yourself

What is the difference between a GIP and a GGP?

How many positive Council votes accept a GGP?

You read that The Graph 'is adding' a feature. What should you check first?