Skip to main content

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

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:
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.