> For the complete documentation index, see [llms.txt](https://codex.irrevocable.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codex.irrevocable.dev/sdk-reference/dispatch/join-quest.md).

# Join Quest

Players join a Quest by "Acting On" your Quest Publication on Lens protocol through the Kinora Open Action Contract. This action ensures their interaction is recorded both within the Kinora Contract Suite, where each player maintains a unique profile linked to their Lens profile ID, and additionally within Lens networks and communities.

{% code overflow="wrap" fullWidth="true" %}

```typescript
const lensprovider = new ethers.providers.JsonRpcProvider(
    "https://lensprovider.com",
    232,
  );

const {txHash, error, errorMessage } = await newDispatch.playerJoinQuest(
    "8776305547672229303710652256128036480640562614756544519403188376059",
    new ethers.Wallet(process.env.PLAYER_PRIVATE_KEY, lensprovider));
```

{% endcode %}

**Player Join Quest Props:**

{% code overflow="wrap" fullWidth="true" %}

```typescript
/* Enter the Lens postId of the invoked Quest. */
postId: string;

/* Wallet instance for the Player on Polygon Network. */
wallet: ethers.Wallet;
```

{% endcode %}

**Result Object:**

<pre class="language-typescript" data-overflow="wrap" data-full-width="true"><code class="lang-typescript"><strong>/* The txHash for acting on the Publication and joining the Quest. */
</strong>txHash?: `0x${string}`;

/* Boolean to indicate whether an error was encountered during joining. */
error: boolean;

/* Message of the encountered error. */
errorMessage?: string;
</code></pre>
