# Third Party Signer Guard

This allows for more centralized mints where every single mint transaction has to go through a specific signer.

If this Signer Account does not

sign the mint transaction

minting will fail

Core Candy Machine

Owner: Core Candy Machine Core Program

Core Candy Guard

Owner: Core Candy Guard Program

GuardsThird Party Signer- Signer...

Signer

Owner: Any Program

Mint from

*Core Candy Guard Program*

Access Control

Mint from

*Core Candy Machine Program*

Mint Logic

Asset

[React Flow](https://reactflow.dev/)

### Guard Settings <a href="#guard-settings" id="guard-settings"></a>

The Third Party Signer guard contains the following settings:

* **Signer Key**: The address of the signer that will need to sign each mint transaction.

Set up a Candy Machine using the Third Pary Signer Guard

JavaScript

```
const myConfiguredSigner = generateSigner(umi);

create(umi, {
  // ...
  guards: {
    thirdPartySigner: some({ signerKey: myConfiguredSigner.publicKey }),
  },
});
```

API References: [create](https://mpl-core-candy-machine.typedoc.metaplex.com/functions/create.html), [ThirdPartySigner](https://mpl-core-candy-machine.typedoc.metaplex.com/types/ThirdPartySigner.html)

### Mint Settings <a href="#mint-settings" id="mint-settings"></a>

The Third Party Signer guard contains the following Mint Settings:

* **Signer**: The required third-party signer. The address of this signer must match the Signer Key in the guard settings.

Mint with the Third Party Signer Guard

JavaScript

When minting via the Umi library, simply provide the third-party signer via the `signer` attribute like so.

```
create(umi, {
  // ...
  guards: {
    thirdPartySigner: some({ signer: myConfiguredSigner }),
  },
});
```

Remember to also sign the transaction with the myConfiguredSigner keypair.

### Route Instruction <a href="#route-instruction" id="route-instruction"></a>

*The Third Party Signer guard does not support the route instruction.*


---

# 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://8bit-1.gitbook.io/solibrary/third-party-signer-guard.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.
