<p>The service bits are a field in the version method which indicate what services a node supports. These services are features that a node supports and tells other nodes which connect to it what it may or may not be able to request from the node. They also indicate what that node can receive.</p>

<p>For example, if a node has the <code>NODE_SEGWIT</code> service bit set, then when another node connects to it and they see <code>NODE_SEGWIT</code>, they know that they can send segwit blocks and transactions to that node, and can expect to receive segwit blocks and transactions from that node. If they did not see <code>NODE_SEGWIT</code>, then they would know to strip segwit blocks and transactions of their witnesses before sending the transaction to that node.</p>

CC BY-SA 4.0
2018-11-28T05:46:04.887Z
2018-11-28T05:46:04.887Z
Ava Chow
<pre><code>// Note that of those which support the service bits prefix, most only support a subset of
// possible options.
// This is fine at runtime as we'll fall back to using them as a oneshot if they don't support the
// service bits we want, but we should get them updated to support all service bits wanted by any
// release ASAP to avoid it where possible.
</code></pre>

<p>Reference: <a href="https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L116" rel="nofollow noreferrer">https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L116</a></p>

CC BY-SA 4.0
2018-11-28T03:49:45.760Z
related: https://bitcoin.stackexchange.com/q/52627/5406
Murch
<bitcoin-core><node-services>
What is the meaning of "service bits" in Bitcoin?
jinsong ai
# What is the meaning of "service bits" in Bitcoin?

(Asked by: username_0 on 2018-11-28)

```
// Note that of those which support the service bits prefix, most only support a subset of
// possible options.
// This is fine at runtime as we'll fall back to using them as a oneshot if they don't support the
// service bits we want, but we should get them updated to support all service bits wanted by any
// release ASAP to avoid it where possible.

```

Reference: <https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L116>

**Tags:** bitcoin-core, node-services

> **Comments:**
> **username_1**: related: https://bitcoin.stackexchange.com/q/52627/5406  

---

## 1 answers

### Answer by username_2 on 2018-11-28. Score: 3 | Accepted answer

The service bits are a field in the version method which indicate what services a node supports. These services are features that a node supports and tells other nodes which connect to it what it may or may not be able to request from the node. They also indicate what that node can receive.

For example, if a node has the `NODE_SEGWIT` service bit set, then when another node connects to it and they see `NODE_SEGWIT`, they know that they can send segwit blocks and transactions to that node, and can expect to receive segwit blocks and transactions from that node. If they did not see `NODE_SEGWIT`, then they would know to strip segwit blocks and transactions of their witnesses before sending the transaction to that node.


---

