# Vercel Marketplace

> Vercel Marketplace provider state: installations per configuration id, provisioned resources, plans, invoices kept by event time and meter reports sent to Vercel. Only the service role calls it; createVercelMarketplace() in better-supabase/blocks/vercel-marketplace verifies webhooks, exchanges SSO codes and reports usage.

- Category: Developer platform
- Module: `vercel-marketplace`
- Modes: `managed`
- Docs: https://bettersupabase.com/docs/blocks/vercel-marketplace
- Page: https://bettersupabase.com/blocks/vercel-marketplace

## Install

```bash
npx better-supabase add vercel-marketplace
```

## Configure

Add the block to `better-supabase.config.ts`:

```ts
import { defineConfig } from "better-supabase/config";

export default defineConfig({
  blocks: {
    // Modes: "managed". The default is "managed".
    "vercel-marketplace": { mode: "managed" },
  },
});
```

## Client

The block has no React entry yet. Its server-side TypeScript is in `better-supabase/blocks/vercel-marketplace`.

## Events

- `marketplace_installation.removed`
- `marketplace_installation.upserted`
- `marketplace_invoice.state_changed`

## Related blocks

Works with: [outbox](https://bettersupabase.com/blocks/outbox.md), [audit](https://bettersupabase.com/blocks/audit.md)
