> ## Documentation Index
> Fetch the complete documentation index at: https://cantonfoundation-generated-references-json-api-reference-up.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Splice.ValidatorOnboarding

> Documentation for Splice.ValidatorOnboarding

## Templates

<div id="type-splice-validatoronboarding-usedsecret-49603">
  **template** UsedSecret
</div>

> Template used by a sponsoring SV node for enforcing that an onboarding secret is used only once.
>
> Signatory: sv
>
> | Field     | Type                                                                                     | Description                                    |
> | --------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------- |
> | sv        | [Party](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-party-57932) | The SV node that sponsored the onboarding.     |
> | secret    | [Text](/appdev/reference/daml-standard-library/prelude#type-ghc-types-text-51952)        | An onboarding secret.                          |
> | validator | [Party](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-party-57932) | The validator that onboarded using the secret. |
>
> * **Choice** Archive
>
>   Controller: sv
>
>   Returns: ()
>
>   (no fields)

<div id="type-splice-validatoronboarding-validatoronboarding-92198">
  **template** ValidatorOnboarding
</div>

> Template used by a sponsoring SV node to keep track of the onboarding of a validator candidate. We use a secret for authenticating the candidate once he has set up his participant. The secret should be unique, contain at least 256-bits of entropy, and be communicated to the candidate via a secure off-ledger channel. Once the candidate has set up his participants, he contacts the SV node via an API call and presents his secret, which triggers the SV node to add him as a validator (as a separate on-ledger action for reducing coupling with the DSO governance contracts).
>
> Signatory: sv
>
> | Field           | Type                                                                                     | Description                                        |
> | --------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------- |
> | sv              | [Party](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-party-57932) | The SV node sponsoring this onboarding.            |
> | candidateSecret | [Text](/appdev/reference/daml-standard-library/prelude#type-ghc-types-text-51952)        | The unique secret given to the candidate.          |
> | expiresAt       | [Time](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-time-63886)   | Can be used by the SV for time-bounding the offer. |
>
> * **Choice** Archive
>
>   Controller: sv
>
>   Returns: ()
>
>   (no fields)
>
> * <div id="type-splice-validatoronboarding-validatoronboardingexpire-7877">
>     **Choice** ValidatorOnboarding\_Expire
>   </div>
>
>   Controller: sv
>
>   Returns: ValidatorOnboarding\_ExpireResult
>
>   (no fields)
>
> * <div id="type-splice-validatoronboarding-validatoronboardingmatch-2118">
>     **Choice** ValidatorOnboarding\_Match
>   </div>
>
>   Controller: sv
>
>   Returns: ValidatorOnboarding\_MatchResult
>
>   | Field          | Type                                                                                     | Description |
>   | -------------- | ---------------------------------------------------------------------------------------- | ----------- |
>   | providedSecret | [Text](/appdev/reference/daml-standard-library/prelude#type-ghc-types-text-51952)        |             |
>   | validator      | [Party](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-party-57932) |             |

## Data Types

<div id="type-splice-validatoronboarding-validatoronboardingexpireresult-28676">
  **data** ValidatorOnboarding\_ExpireResult
</div>

> <div id="constr-splice-validatoronboarding-validatoronboardingexpireresult-66123">
>   ValidatorOnboarding\_ExpireResult
> </div>
>
> **instance** [HasExercise](/appdev/reference/daml-standard-library/prelude#class-da-internal-template-functions-hasexercise-70422) ValidatorOnboarding ValidatorOnboarding\_Expire ValidatorOnboarding\_ExpireResult
>
> **instance** [HasFromAnyChoice](/appdev/reference/daml-standard-library/prelude#class-da-internal-template-functions-hasfromanychoice-81184) ValidatorOnboarding ValidatorOnboarding\_Expire ValidatorOnboarding\_ExpireResult
>
> **instance** [HasToAnyChoice](/appdev/reference/daml-standard-library/prelude#class-da-internal-template-functions-hastoanychoice-82571) ValidatorOnboarding ValidatorOnboarding\_Expire ValidatorOnboarding\_ExpireResult

<div id="type-splice-validatoronboarding-validatoronboardingmatchresult-68567">
  **data** ValidatorOnboarding\_MatchResult
</div>

> <div id="constr-splice-validatoronboarding-validatoronboardingmatchresult-91618">
>   ValidatorOnboarding\_MatchResult
> </div>
>
> > | Field      | Type                                                                                                          | Description |
> > | ---------- | ------------------------------------------------------------------------------------------------------------- | ----------- |
> > | usedSecret | [ContractId](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-contractid-95282) UsedSecret |             |
>
> **instance** GetField "usedSecret" ValidatorOnboarding\_MatchResult ([ContractId](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-contractid-95282) UsedSecret)
>
> **instance** SetField "usedSecret" ValidatorOnboarding\_MatchResult ([ContractId](/appdev/reference/daml-standard-library/prelude#type-da-internal-lf-contractid-95282) UsedSecret)
>
> **instance** [HasExercise](/appdev/reference/daml-standard-library/prelude#class-da-internal-template-functions-hasexercise-70422) ValidatorOnboarding ValidatorOnboarding\_Match ValidatorOnboarding\_MatchResult
>
> **instance** [HasFromAnyChoice](/appdev/reference/daml-standard-library/prelude#class-da-internal-template-functions-hasfromanychoice-81184) ValidatorOnboarding ValidatorOnboarding\_Match ValidatorOnboarding\_MatchResult
>
> **instance** [HasToAnyChoice](/appdev/reference/daml-standard-library/prelude#class-da-internal-template-functions-hastoanychoice-82571) ValidatorOnboarding ValidatorOnboarding\_Match ValidatorOnboarding\_MatchResult
