While implementing your new Venice pipeline, you’ll want to run Venice either locally or to the cloud.

Thankfully the process is straightforward:

  1. One-click deploy using Vercel
  2. Add environment variables (e.g. API key, database credentials, JWT secret)
  3. Test your integration & push any changes
  4. Open a pull request back into Venice’s GitHub repo


One click deploy with Vercel

Using Vercel, your instance of Venice will be up and running in just a few minutes. See Environment variables for more information on the expected environment keys and values.

Deploy with Vercel
  1. Click the Deploy button above
  2. Create a repository on Vercel
  3. Go to Supabase and create a new project
  4. On Supabase, go to Settings > Database and scroll down to Connection String and click URI
  5. Copy that link and insert it as your POSTGRES_OR_WEBHOOK_URL in Vercel — remember to add your password to the URL when you paste it into Vercel
  6. On Supabase, Go to Settings > API and scroll down to get your JWT token. Copy this and paste it into Vercel
  7. Go to Plaid > Team Settings > Keys and copy the Plaid ID and Sandbox Secret key into Vercel
  8. Deploy Vercel
  9. Once Vercel is ready, click to open the domain it deployed to
  10. Create a test account & login
  11. Click Add next to Connections to test your new integration
  12. Visit the database or table in Supabase to see the data

Hook up to a test database (e.g. Supabase)

Here’s a quick video from our founder on how to hook Venice up to a custom database in just a few minutes using Supabase.

Venice demo

Need help?

Join our community

Join our community of founders & developers building the future of finance together

Reach out

Need a custom integration? Reach out to our support team and we’ll have a quote back to you in no time!

Environment variables

During the deployment process, you’ll notice Venice relies upon a few environment variables to configure itself. Most of these are optional and have sensible defaults to fall back on, but feel free to customize any you wish.

These environment variables are also found within the .env.example file you can use to deploy Venice locally to your machine.


NEXT_PUBLIC_Supabase_URL(Required) The URL of the Supabase project to use (from their settings dashboard)
NEXT_PUBLIC_Supabase_ANON_KEY(Required) The public anon key of the Supabase project to use.
POSTGRES_OR_WEBHOOK_URL(Required) The URI of the database or webhook to sync data to.

Pass a valid postgres(ql):// url for stateful mode. Will be used Primary database used for metadata and user data storage

Pass a valid http(s):// url for stateless mode. Sync data and metadata be sent to provided URL and you are responsible for your own persistence
JWT_SECRET_OR_PUBLIC_KEY(Required) The JavaScript Web Token (JWT) secret used for signing and verifying tokens (found within your Supabase project settings).

Used for validating authenticity of access tokens


int_plaid__clientId(Required) string = The client identifier from your Plaid dashboard.
int_plaid__secrets__sandbox(Optional) string = The secret key from your Plaid dashboard for sandbox mode.

Note: this environment is for testing only and will not work with real banking credentials.
int_plaid__secrets__development(Optional) string = The secret key from your Plaid dashboard for development mode.

Note: Development environment can be used with real banking credentials.
int_plaid__secrets__production(Optional) string = The secret key from your Plaid dashboard for production mode.

Note: Plaid requires you to get approval before using production mode.
int_plaid__productsArray<assets | auth | balance | identity | investments | liabilities | payment_initiation | transactions | credit_details | income | income_verification | deposit_switch | standing_orders | transfer | employment | recurring_transactions>

The default value is an array: ["transactions"]
int_plaid__countryCodesArray<US | GB | ES | NL | FR | IE | CA | DE | IT>

The default value is ["US"]
int_plaid__languageen | fr | es | nl | de

The default value is "en"
int_plaid__clientName(Optional) string with a default value of “This Application”. The name of your application, as it should be displayed in Link (max length of 30 characters)<br /><br />If a value longer than 30 characters is provided, Link will display This Application` instead.


There are three environments Venice operates in when creating new connections, and they correspond to the same environments in data aggregators like Plaid.

  • sandbox: access to test data only (e.g. Platypus bank using user_good & pass_good credentials)
  • development: limited access to live data
  • production: access to live financial data

The default is sandbox. To change the environment when creating new connections, append &env=development (or &env=production) to the end of the add pipeline URL.

This setting only affects new connections. Existing connections store which environment they are part of and automatically use the correct environment-specific keys from environment variables when communicating with data aggregators.