---
sidebar_position: 5
id: program
slug: /program
---

import MarkdownImage from "/src/components/MarkdownImage";
import { Box, Typography, Grid } from "@mui/material";
import Link from "@docusaurus/Link";
import ProgramStateAccountData from "/idl/accounts/SbState.md";
import PublicKeyButton from "/src/components/PublicKeyButton";

# Program

## Program State Account

<Grid container spacing={3} justifyContent="space-around">
  <Grid item md={6} sm={12}>
    <br />
    <Typography>
      The Program State Account is the top level account that is used to connect
      independent oracle queues.
    </Typography>
    <br />
    <Typography>
      The Switchboard V2 program can support many oracle queue's, each acting as
      independent networks with their own oracles, configuration, and security
      model.
    </Typography>
    <br />
  </Grid>
  <Grid item md={5} sm={12}>
    <MarkdownImage img="/img/L0_Architecture.png" />
  </Grid>
</Grid>

<ProgramStateAccountData />

## Deployment

Below are the public keys associated with the Switchboard V2 deployment.

### Mainnet-Beta

<table>
  <thead>
    <tr>
      <th colspan="2">Mainnet-Beta</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <b>Program ID</b>
      </td>
      <td>
        <PublicKeyButton publicKey="SW1TCH7qEPTdLsDHRgPuMQjbQxKdH2aBStViMFnt64f" />
      </td>
    </tr>
    <tr>
      <td>
        <b>Upgrade Authority</b>
      </td>
      <td>
        <PublicKeyButton publicKey="31Sof5r1xi7dfcaz4x9Kuwm8J9ueAdDduMcme59sP8gc" />
      </td>
    </tr>
    <tr>
      <td>
        <b>Program State Account</b>
      </td>
      <td>
        <PublicKeyButton publicKey="CyZuD7RPDcrqCGbNvLCyqk6Py9cEZTKmNKujfPi3ynDd" />
      </td>
    </tr>
    <tr>
      <td>
        <b>Program Authority</b>
      </td>
      <td>
        <PublicKeyButton publicKey="31Sof5r1xi7dfcaz4x9Kuwm8J9ueAdDduMcme59sP8gc" />
      </td>
    </tr>
    <tr>
      <td>
        <b>Mint</b>
      </td>
      <td>
        <PublicKeyButton publicKey="So11111111111111111111111111111111111111112" />
      </td>
    </tr>
    <tr>
      <td>
        <b>DAO Mint</b>
      </td>
      <td>
        <PublicKeyButton publicKey="11111111111111111111111111111111" />
      </td>
    </tr>
    <tr>
      <td>
        <b>tokenVault</b>
      </td>
      <td>
        <PublicKeyButton publicKey="J7nSEX8ADf3pVVicd6yKy2Skvg8iLePEmkLUisAAaioD" />
      </td>
    </tr>
    <tr>
      <td>
        <b>idlAddress</b>
      </td>
      <td>
        <PublicKeyButton publicKey="Fi8vncGpNKbq62gPo56G4toCehWNy77GgqGkTaAF5Lkk" />
      </td>
    </tr>
    <tr>
      <td>
        <b>programDataAddress</b>
      </td>
      <td>
        <PublicKeyButton publicKey="7nYabs9dUhvxYwdTnrWVBL9MYviKSfrEbdWCUbcnwkpF" />
      </td>
    </tr>
  </tbody>
</table>

### Devnet

<table>
  <thead>
    <tr>
      <th colspan="2">Devnet</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <b>Program ID</b>
      </td>
      <td>
        <PublicKeyButton publicKey="2TfB33aLaneQb5TNVwyDz3jSZXS6jdW2ARw1Dgf84XCG" />
      </td>
    </tr>
    <tr>
      <td>
        <b>Upgrade Authority</b>
      </td>
      <td>
        <PublicKeyButton publicKey="2KgowxogBrGqRcgXQEmqFvC3PGtCu66qERNJevYW8Ajh" />
      </td>
    </tr>
    <tr>
      <td>
        <b>Program State Account</b>
      </td>
      <td>
        <PublicKeyButton publicKey="BYM81n8HvTJuqZU1PmTVcwZ9G8uoji7FKM6EaPkwphPt" />
      </td>
    </tr>
    <tr>
      <td>
        <b>Program Authority</b>
      </td>
      <td>
        <PublicKeyButton publicKey="2KgowxogBrGqRcgXQEmqFvC3PGtCu66qERNJevYW8Ajh" />
      </td>
    </tr>
    <tr>
      <td>
        <b>Mint</b>
      </td>
      <td>
        <PublicKeyButton publicKey="So11111111111111111111111111111111111111112" />
      </td>
    </tr>
    <tr>
      <td>
        <b>DAO Mint</b>
      </td>
      <td>
        <PublicKeyButton publicKey="11111111111111111111111111111111" />
      </td>
    </tr>
    <tr>
      <td>
        <b>tokenVault</b>
      </td>
      <td>
        <PublicKeyButton publicKey="FVLfR6C2ckZhbSwBzZY4CX7YBcddUSge5BNeGQv5eKhy" />
      </td>
    </tr>
    <tr>
      <td>
        <b>idlAddress</b>
      </td>
      <td>
        <PublicKeyButton publicKey="CKwZcshn4XDvhaWVH9EXnk3iu19t6t5xP2Sy2pD6TRDp" />
      </td>
    </tr>
    <tr>
      <td>
        <b>programDataAddress</b>
      </td>
      <td>
        <PublicKeyButton publicKey="J4CArpsbrZqu1axqQ4AnrqREs3jwoyA1M5LMiQQmAzB9" />
      </td>
    </tr>
  </tbody>
</table>
