---
title: "Get protocols"
method: GET
path: "/v1/protocols"
tags: ["Protocols"]
---

# Get protocols

`GET /v1/protocols`

Returns a list of protocols.

## Query parameters

- `sort` SortParameter
  - `asc` string, nullable — **Ascending** sort mode (optional, i.e. `sort.asc=id` is the same as `sort=id`). \ Specify a field name to sort by. Example: `?sort=balance`.
  - `desc` string, nullable — **Descending** sort mode. \ Specify a field name to sort by descending. Example: `?sort.desc=id`.
- `offset` OffsetParameter
  - `el` integer, nullable — **Elements** offset mode (optional, i.e. `offset.el=123` is the same as `offset=123`). \ Skips specified number of elements. Example: `?offset=100`.
  - `pg` integer, nullable — **Page** offset mode. \ Skips `page * limit` elements. This is a classic pagination. Example: `?offset.pg=1`.
  - `cr` integer, nullable — **Cursor** offset mode. \ Skips all elements with the `cursor` before (including) the specified value. Cursor is a field used for sorting, e.g. `id`. Avoid using this offset mode with non-unique or non-sequential cursors such as `amount`, `balance`, etc. Example: `?offset.cr=45837`.
- `limit` integer

## Response `200`

- Protocol[]
  - `code` integer — Protocol code, representing a number of protocol changes since genesis (mod 256, but `-1` for the genesis block)
  - `hash` string, required — Hash of the protocol
  - `version` integer — Global version number
  - `firstLevel` integer — Block height where the protocol was applied
  - `firstCycle` integer — Index of the first cycle started with the protocol
  - `firstCycleLevel` integer — Level of the first block of the first cycle started with the protocol
  - `lastLevel` integer, nullable — Block height where the protocol ends. `null` if the protocol is active
  - `constants` ProtocolConstants, required
    - `rampUpCycles` integer — The number of cycles where security deposit is ramping up
    - `noRewardCycles` integer — The number of cycles with no baking rewards
    - `consensusRightsDelay` integer — Delay in cycles after which baking rights are assigned
    - `delegateParametersActivationDelay` integer — Delay in cycles after which the parameters from `set_delegate_parameters` operations take effect
    - `blocksPerCycle` integer — A number of blocks the cycle contains
    - `blocksPerCommitment` integer — A number of blocks that indicates how often seed nonce hash is included in a block. Seed nonce hash presents in only one out of `blocksPerCommitment`
    - `blocksPerSnapshot` integer — A number of blocks that indicates how often a snapshot (snapshots are records of the state of stake distributions) is taken
    - `blocksPerVoting` integer — A number of block that indicates how long a voting period takes
    - `timeBetweenBlocks` integer — Minimum amount of seconds between blocks
    - `attestersPerBlock` integer — Number of bakers that assigned to attest a block
    - `hardOperationGasLimit` integer — Maximum amount of gas that one operation can consume
    - `hardOperationStorageLimit` integer — Maximum amount of storage that one operation can consume
    - `hardBlockGasLimit` integer — Maximum amount of total gas usage of a single block
    - `minimalStake` integer — Required number of tokens to get 1 roll (micro tez)
    - `minimalFrozenStake` integer — Required number of tokens to be frozen by bakers (micro tez)
    - `blockDeposit` integer — Security deposit for baking (producing) a block (micro tez)
    - `blockReward` integer[], required — Reward for baking (producing) a block (micro tez)
    - `attestationDeposit` integer — Security deposit for sending an attestation operation (micro tez)
    - `attestationReward` integer[], required — Reward for sending an attestation operation (micro tez)
    - `originationSize` integer — Initial storage size of an originated (created) account (bytes)
    - `byteCost` integer — Cost of one storage byte in the blockchain (micro tez)
    - `proposalQuorum` number, double — Percentage of the total number of voting power required to select a proposal on the proposal period
    - `ballotQuorumMin` number, double — The minimum value of quorum percentage on the exploration and promotion periods
    - `ballotQuorumMax` number, double — The maximum value of quorum percentage on the exploration and promotion periods
    - `lbToggleThreshold` integer — 1/2 window size of 2000 blocks with precision of 1000000 for integer computation
    - `consensusThreshold` integer — Attestation quorum
    - `minParticipationNumerator` integer — Number of attested slots needed to receive attestation rewards
    - `minParticipationDenominator` integer — Number of attested slots needed to receive attestation rewards
    - `denunciationPeriod` integer — Number of cycles after double baking/(pre)attestation where an accusation operation can be injected
    - `slashingDelay` integer — Number of cycles after double baking/(pre)attestation evidence where slashing happens
    - `maxDelegatedOverFrozenRatio` integer — The ratio of delegated tez over the baker’s frozen stake
    - `maxExternalOverOwnStakeRatio` integer — The ratio of external staked balance over the baker’s own staked balance
    - `delegationPowerDivider` integer — The divider by which delegation power is divided
    - `smartRollupOriginationSize` integer — Initial storage size of an originated (created) smart rollup (bytes)
    - `smartRollupStakeAmount` integer — Smart rollup commitment bond (mutez)
    - `smartRollupChallengeWindow` integer — Window (in blocks) when it's possible to refute pending commitment
    - `smartRollupCommitmentPeriod` integer — Period (in blocks) for publishing commitments
    - `smartRollupTimeoutPeriod` integer — Period (in blocks) when a refutation game player must make a turn
    - `dalNumberOfShards` integer — Number of DAL Shards
    - `dictator` string, nullable — Governance dictator
    - `endorsersPerBlock` integer — **DEPRECATED**
    - `endorsementDeposit` integer — **DEPRECATED**
    - `endorsementReward` integer[] — **DEPRECATED**
  - `extras` unknown

---

[API](https://skmtc.dev/tzkt/apis/tzkt-api.md) · [All operations](https://skmtc.dev/tzkt/apis/tzkt-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tzkt/tzkt-api/revisions/a2e2aba5e534/schema)
