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

  • program keypair for 7gNEnFMDVhxFLSrtSctaPPCX7RcPbz1Lu5vtxvzobXFt and its upgrade authority;
  • funded devnet fee payer;
  • RPC that permits program deployment;
  • activated TxLINE API token;
  • funded six-decimal devnet settlement-token accounts for lifecycle verification;
  • the exact reviewed commit and its generated IDL.

Build and verify the artifact

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 exactly six unified instructions.

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. The current devnet inventory contains two funded v0.1 Matched slips. Do not upgrade while either vault holds tokens. After their immutable timeout, refund both through the currently deployed v0.1 program, verify both vault balances are zero, and only then deploy the unified-only binary.

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 token 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:
Publish the website only after the gated integration passes. Verify /api/healthz, create, stake, resolve, claim, and /me from the public URL.