> For the complete documentation index, see [llms.txt](https://docs.getrekt.trade/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.getrekt.trade/docs/deployment.md).

# deployment

GetRekt's intended website is [getrekt.trade](https://getrekt.trade/). Domain ownership, DNS/TLS connection, and a production GitBook space have not been verified. No live GetRekt package or Vault is published in the deployment record.

The current build still contains a 2100× ceiling, the earlier reward curve, and no referral settlement. Implement and verify the requested 2000× ceiling, $REKT halvings, and referral rules before releasing a GetRekt candidate. See [implementation status](broken://pages/c7eabe8af8c3f2ae7c1c1dce69dad717e5d1ac7a).

{% stepper %}
{% step %}

## Establish the administrators

Three administrators create and retain their own keys. `/setup.html` accepts public keys to derive a 2-of-3 multisig. Each signer independently checks the full public keys, ordering, weights, threshold, and resulting address. Private keys, recovery phrases, and keystores never belong in chat, Git, or a public configuration.

Separate administration, emergency response, oracle publication, upgrade governance, and fee collection. The oracle signer must not also control upgrades. A role transfer alone does not establish upgrade protection. Follow the [wallet setup guide](broken://pages/55b2e884ebb2f1dd09fdf0e33ed80efbe523555e).
{% endstep %}

{% step %}

## Prepare and publish a testnet candidate

Install locked dependencies and run the relevant JS, SDK, service, and Move checks. Build explicitly for testnet; Pyth's defining packages differ between networks. Record the source revision and artifact digests.

Publish the governance package, then publish the market and install its real UpgradeCap in the timelock. The installation transaction must also destroy the governance package's own UpgradeCap. Initialize the Vault with native testnet USDC and the real InitCap. Verify all role owners on-chain.

Record actual package, Vault, capability, genesis, Pyth, and RPC values in `deployment/public.json`. Run `node deployment/check.mjs`; an incomplete or undeployed configuration should fail. Never substitute arbitrary strings for missing audit or transaction evidence.
{% endstep %}

{% step %}

## Run the services

`services/oracle` consumes timestamped Lighter BBO and independent reference data, persisting sequence numbers and submission records. `services/keeper` reads positions and claims to plan permissionless maintenance. Services default to non-broadcast operation; active mode requires an explicit signer, package/Vault/capability allowlist, and gas limits.

Validate source time, transport delay, Pyth publish time, and local receive time separately. Update Pyth with officially verified price proofs; rereading an old object is insufficient. Stale data, excessive confidence intervals, depegs, or inconsistent journals must stop price-dependent operations and raise an alert.

Keep health and metrics endpoints on controlled networks. RPC failover must retain the same genesis. Back up transaction journals and rehearse recovery; logs should identify transactions without exposing signing secrets.
{% endstep %}

{% step %}

## Produce end-to-end evidence

On testnet, exercise cash and debt positions, FIFO payment, liquidation, staking, role restrictions, upgrade delays, and bridge recovery with real chain receipts.

Both Ethereum Sepolia → Sui and Base Sepolia → Sui must record burn, attestation, receive/mint, opening, and closing transactions. Test rejected wallet requests, RPC interruption, page reload, lost responses, replay, and wrong recipients.

Complete sustained oracle operation, latency and confidence measurements, liquidation availability tests, state reconstruction, and independent model comparisons. The new referral and issuance rules also require boundary, conservation, and abuse tests. Independent economic review must address debt-loss rewards and coordinated trading.
{% endstep %}

{% step %}

## Release

Rebuild with mainnet dependencies, verify the mainnet multisig and fee addresses, and approve a gas budget. Publish the contracts, all capabilities and owners, source evidence, and upgrade controls. An approved manifest must be pinned from the trusted build environment using the current variable `SUI21_TRUSTED_MANIFEST_SHA256`.

Enable execution and bridging only after the required evidence passes. File paths and environment variables retain legacy identifiers until a coordinated code migration changes them.

For GitBook, connect the repository through Git Sync; `.gitbook.yaml` selects `docs/`. Connecting `getrekt.trade`, choosing a documentation subdomain, setting DNS/TLS, configuring wallet-domain trust, and operating monitoring require the real account resources. A published preview or documentation site does not demonstrate that financial services are live.
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.getrekt.trade/docs/deployment.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
