---
title: "EndpointHolder"
description: "the process that serves the durable engine's endpoint on this machine, written beside the stack: its process id, the hash of the binary it runs, its release, its port and when it started; a newer release takes the endpoint over from an older one, the same release shares it, and an older one never takes it back"
section: concepts
address: /concepts/endpointholder
contract: 0476e35e6e275db5
---

# EndpointHolder

the process that serves the durable engine's endpoint on this machine, written beside the stack: its process id, the hash of the binary it runs, its release, its port and when it started; a newer release takes the endpoint over from an older one, the same release shares it, and an older one never takes it back

[figure: EndpointHolder 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 |
|---|---|---|---|
| `pid` | `count` | yes |  |
| `binary_hash` | `hash` | yes |  |
| `started_at` | `time` | yes |  |
| `port` | `count` | yes |  |
| `release` | [ReleaseStamp](/concepts/releasestamp) | no | absent on a binary built before releases were stamped, which every stamped release reads as older |



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