---
title: "ServerInfo"
description: "what the app server returns in the handshake: its user agent, the protocol version, the contract hash and its capabilities"
section: concepts
address: /concepts/serverinfo
contract: 0476e35e6e275db5
---

# ServerInfo

what the app server returns in the handshake: its user agent, the protocol version, the contract hash and its capabilities

[figure: ServerInfo is a value at none scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | value |
| scope | none |
| key | none |
| store | none |
| family | harness |



## Fields


| field | type | required | note |
|---|---|---|---|
| `user_agent` | `text` | yes | the platform's name and its version with the commit as build metadata, scale-intelligence/0.1.1+abc1234 |
| `protocol_version` | `text` | yes |  |
| `contract_hash` | `hash` | yes |  |
| `release` | [ReleaseStamp](/concepts/releasestamp) | yes | the release the server runs, so a client can show it and a report can name it |
| `capabilities` | `[text]` | yes |  |



## Routes that use it
No route takes or returns ServerInfo directly. The record holds it, and the objects that point at it reach it.
