# Function: fastifyTRPCPlugin()

> 

> **fastifyTRPCPlugin**\<`TRouter`\>(`fastify`, `opts`, `done`): `void`

Defined in: [packages/server/src/adapters/fastify/fastifyTRPCPlugin.ts:68](https://github.com/trpc/trpc/blob/7c907acfd8b31929214792e3b8c2ad7a8ac72563/packages/server/src/adapters/fastify/fastifyTRPCPlugin.ts#L68)

A Fastify plugin that serves a router over HTTP, and over WebSockets
with `useWSS`.

## Type Parameters

| Type Parameter |
| ------ |
| `TRouter` *extends* [`AnyTRPCRouter`](https://trpc.io/docs/typedoc/server/index/type-aliases/AnyTRPCRouter.md) |

## Parameters

| Parameter | Type |
| ------ | ------ |
| `fastify` | `FastifyInstance` |
| `opts` | [`FastifyTRPCPluginOptions`](https://trpc.io/docs/typedoc/server/adapters/fastify/interfaces/FastifyTRPCPluginOptions.md)\<`TRouter`\> |
| `done` | (`err`?) => `void` |

## Returns

`void`

## Example

```ts
server.register(fastifyTRPCPlugin, {
  prefix: '/trpc',
  trpcOptions: { router: appRouter, createContext },
});
```

## See

https://trpc.io/docs/server/adapters/fastify#create-fastify-server
