<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "Bitcoin",
  "identifier" : "/documentation/Bitcoin/RPCTransport",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Bitcoin"
    ],
    "preciseIdentifier" : "s:7Bitcoin12RPCTransportP"
  },
  "title" : "RPCTransport"
}
-->

# RPCTransport

Abstracts the raw data transport for JSON-RPC calls.

```
protocol RPCTransport : Sendable
```

## Overview

Conforming types handle sending a JSON-RPC request and returning the raw
response `Data`. Decoding is handled by `RPCClient`, not the transport.

> Important: `send(_:path:)` is a **required** method with no default
> implementation. All conformances must handle the `path` parameter
> explicitly — a default impl would let third-party conformances silently
> drop wallet scoping.