# protx\_register\_prepare {disallowed} - Dash

#### Parameters

`submethod` - string

None

`collateralHash` - string (hex)

The collateral transaction hash.

`collateralIndex` - string (hex)

The collateral transaction output index.

`ipAndPort` - string

IP and port in the form IP:PORT.

Must be unique on the network. Can be set to 0, which will require a ProUpServTx afterwards.

`ownerAddress` - string (hex)

The Dash address to use for payee updates and proposal voting. The corresponding private key does not have to be known by this wallet.

The address must be unused and must differ from the collateralAddress.

`operatorPubKey` - string (hex)

The operator public key. The private key does not have to be known.

It has to match the private key which is later used when operating the masternode.

`votingAddress` - string (hex)

The voting address. The private key does not have to be known by your wallet. It has to match the private key which is later used when voting on proposals.

If set to an empty string, ownerAddress will be used.

`operatorReward` - number

The fraction in % to share with the operator. The value must be between 0.00 and 100.00.

Note: If non-zero, ipAndPort must be zero as well.

`payoutAddress` - string

The Dash address to use for masternode reward payments.

`feeSourceAddress` - string

Optional.

If specified, the wallet will only use coins from this address to fund the ProTx. If not specified, payoutAddress will be used. The private key belonging to this address must be known in your wallet.

`submit` - boolean

Optional.

If true (default), the resulting transaction is sent to the network.

#### Request

```java
curl --location --request POST 'https://go.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{"jsonrpc": "2.0",
"method": "protx",
"params": ["register_prepare", null, null, null, null, null, null, null, null, null, null],
"id": "getblock.io"}'
```

#### Response

```java
{
    "result": "null",
    "id": "getblock.io",
    "status_code": 405,
    "message": "Method not allowed"
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.getblock.io/api-reference/dash-dash/dash_protx_register_prepare.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
