<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "Bitcoin",
  "identifier" : "/documentation/Bitcoin/RPCClient/call(_:params:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Bitcoin"
    ],
    "preciseIdentifier" : "s:7Bitcoin9RPCClientC4call_6params10Foundation4DataVSS_SayAA8RPCParamOGtYaKF"
  },
  "title" : "call(_:params:)"
}
-->

# call(_:params:)

Returns raw JSON-RPC response data. Caller decodes as needed.

```
func call(_ method: String, params: [RPCParam] = []) async throws -> Data
```

## Parameters

`method`

The RPC method name.

`params`

The parameters to pass to the RPC method.

## Return Value

The raw response `Data`.

## Discussion

Rare use case (<1% of calls) — typed methods cover ~94 RPCs.

> Throws: `RPCError` if the response contains a JSON-RPC error,
> or transport errors.