> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useslip.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploy the unified program

> Build, upgrade, verify, and enable Slip's unified market program on Solana devnet.

# How to deploy the unified program

This guide is for the holder of the Slip program upgrade authority. It does not grant or infer that
authority.

## Required inputs

* upgrade-authority keypair for program `8VNZ5VseAcFaYhAZxetgE5N8eiD17ZZNchGhoatYUUXw`;
* funded devnet fee payer;
* RPC that permits program deployment;
* activated TxLINE API token;
* funded six-decimal devnet USDT accounts for lifecycle verification;
* the exact reviewed commit and its generated IDL.

## Build and verify the artifact

```bash theme={null}
cd program
anchor --version
anchor build
pnpm run test:surfpool
```

Do not continue unless `anchor --version` reports 0.32.1. Record the commit SHA and hash of
`target/deploy/slip.so`. Confirm the IDL contains two accounts and five instructions before
deployment.

## Perform the authorized upgrade

Use the organization's approved Solana deployment procedure and explicit upgrade-authority key. The
repository does not embed or recover that key. Confirm the resulting transaction and executable
program account on devnet.

Do not enable the web write flag immediately after the deployment transaction.

## Verify the deployed binary

Execute a real devnet lifecycle against the upgraded program:

1. create a market from a live TxLINE fixture and visible expression;
2. stake different USDT amounts from at least two wallets on different outcomes;
3. confirm pool counters equal the market vault;
4. wait for or select a terminal fixture with an available proof;
5. run the keeper or submit `resolve_market` permissionlessly;
6. claim a winning ticket and verify proportional payout, fee, and resolver tip;
7. create and void a one-sided market, then verify its refund;
8. store transaction signatures and the deployed binary hash in the handoff.

If any instruction discriminator or account decoder disagrees with the generated IDL, stop and keep
the web write gate disabled.

## Enable the hosted product

Point both RPC variables at the verified deployment, set `NEXT_PUBLIC_SLIP_MARKET_ENABLED=true`, and
run:

```bash theme={null}
pnpm typecheck
pnpm lint
pnpm build
pnpm --filter web test:devnet
```

Publish the website only after the gated integration passes. Verify `/api/healthz`, create, stake,
resolve, claim, and `/me` from the public URL.
