Configure Kinetic

Kinetic is highly configurable, giving you a huge amount of power in how you manage your Kinetic instance.

Kinetic configuration is split between settings you control via Environment Variables, as well as those you can change in Kinetic itself with the Kinetic Manager.

Kinetic Environment Variables

See the full list of environment variables for Kinetic here.

Here are some things to be aware of:

Provisioning Apps

  • Provision an app via Environment Variables with your registered App Index. E.g. if your App Index is 360: APP_360_NAME, APP_360_FEE_PAYER_BYTE_ARRAY and the optional APP_360_LOGO_URL can be set to ensure your app shows up correctly in Kinetic Manager
  • You can also provision apps using Kinetic Manager, in that case, the app data is stored in your database. Using Environment Variables for app provision may make it easier to provision apps quickly from scratch.

Setting Your Auth Method

  • For Kinetic instances in production, we strongly recommend turning off password based authentication and using one of the supported SSO methods:

GitHub Login

  • Get a GitHub oAuth client ID and secret from or<your-org>/settings/applications
  • Set the callback URL to <your API_URL>/auth/github/callback
  • Set your environment variables:
  AUTH_USERS: "githubusername||Admin|githubemail@address"
  GITHUB_CLIENT_ID: "d9fa784f2c711zzzzz"
  GITHUB_CLIENT_SECRET: "a2e42904c81280c1466d95de040c516zzzzzzzz"

Discord Login

  • Get a Discord oAuth client ID and secret from
  • Set the callback URL to <your API_URL>/auth/discord/callback
  • Set your environment variables:
  AUTH_USERS: "discordusername||Admin|discordemail@address"
  DISCORD_CLIENT_ID: "d9fa784f2c711zzzzz"
  DISCORD_CLIENT_SECRET: "a2e42904c81280c1466d95de040c516zzzzzzzz"

Google Login

  • Get a Google oAuth client ID and secret from
  • Set the callback URL to <your API_URL>/auth/google/callback
  • Set your environment variables:
  AUTH_USERS: "googleusername||Admin|googleemail@address"
  GOOGLE_CLIENT_ID: "d9fa784f2c711zzzzz"
  GOOGLE_CLIENT_SECRET: "a2e42904c81280c1466d95de040c516zzzzzzzz"

Some Things To Watch Out For

  • COOKIE_DOMAINS must contain your deployed domain for your version of Kinetic, e.g.
  • Any url that contains localhost or should be changed to or whatever domain you have deployed to.
  • On Heroku, make sure not to include quote marks around your strings as Heroku won't filter them out.

Kinetic Manager

Kinetic Manager is a powerful tool for managing, maintaining and observing the performance of your Kinetic instance.

Check out some of the key features below:

Provision, View And Manage Your Apps

Kinetic Manager Note - You can add apps via your Environment Variables as well.

View Your Transactions

See a filterable list of all your transactions in one place or drill down into an individual transaction to see how long each step in the process has taken. Kinetic Manager Kinetic Manager

View Your App Hot-Wallet Status

Check your app hot-wallet balances, mints and more. Kinetic Manager

Configure Your App Settings


Add multiple mints to your Kinetic instance. Kinetic Manager

Access Control

Define who / how your Kinetic instance is accessed. Kinetic Manager


Configure your app webhooks so you can view events, verify transactions, get an automated warning if your hot-wallet balance falls below a threshold, etc.

Balance Webhook

The balance webhook allows you to receive an alert when your app's hotwallet is running low on Sol so you can top it up and ensure your app can continue to keep transacting.

Balance Webhook

E.g. In a node express server:

app.use('/balance', async (req, res) => {
  const data = req.body
Event Webhook

The event webhook allows you to receive alerts when actions have been confirmed on the Solana blockchain.

Balance Webhook

E.g. In a node express server:

app.use('/events', async (req, res) => {
  const event = req.body
Verify Webhook

The verify webhook allows you to have fine-grained control over transactions, making sure they meet your own criteria before allowing them to proceed.

Balance Webhook

E.g. In a node express server return a 200 status code to approve the transaction or a 400 to reject it:

app.use('/verify', async (req, res) => {
  const transaction = req.body
  // e.g.
  if (transaction.amount < 1000000) {

Configure Your Global Kinetic Settings

Use the admin dashboard to view your apps, see your Solana clusters, see and configure your Kinetic users and more. Kinetic Manager

What If I Get Stuck?

Pop into the kinetic-hosting channel on Discord if you have issues setting up your Kinetic instance.

Pop into the kinetic-manager channel on Discord if you have issues with Kinetic Manager.

Developer Discord

Join our fantastic developer community.

Was this page helpful to you?
Provide feedback