View Source Hyperliquid.Api.Exchange.ActivateOutcomeDeployer (hyperliquid v0.3.0)

Activate or deactivate an account as a HIP-4 outcome deployer.

Activation claims a venue name: 2-4 lowercase ASCII letters, subject to the same rules as HIP-3 perp DEX names. The name must be unique across the venue names of all deployers — including deactivated ones, whose names stay reserved — and must not collide with an existing perp DEX name (nor spot).

Active deployers must maintain the deployer staking requirement, which stacks with any other staking requirements the account has. Deactivation requires that the minimum deployer staking duration (183 days, restarted on re-activation) has elapsed and that the deployer has no active outcomes.

Deployers must use Standard account abstraction.

See: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/hip-4-deployer-actions

Wire format

The docs page carries two different shapes for this action. The action format block specifies {"activate": {"venueName": ...}} and {"deactivate": null}, which is what this module sends. A later sentence on the same page instead says to deactivate with "isDeactivate": true, and the nktkas TypeScript SDK implements that older boolean form with no venue name at all. The activate/deactivate form is the newer of the two: it is the only one that can carry a venue name, and venue names are specified at length on the same page.

Summary

Functions

Activate the signing account as an outcome deployer under venue_name.

Deactivate the signing account as an outcome deployer.

Functions

Link to this function

activate(venue_name, opts \\ [])

View Source
@spec activate(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, term()}

Activate the signing account as an outcome deployer under venue_name.

Parameters

  • venue_name: 2-4 lowercase ASCII letters, unique across all venue names
  • opts: Optional parameters

Options

  • :private_key - Private key for signing (falls back to config)
  • :vault_address - Act on behalf of a vault

Returns

  • {:ok, response} - Activation result
  • {:error, term()} - Error details

Examples

{:ok, result} = ActivateOutcomeDeployer.activate("abcd")
@spec deactivate(keyword()) :: {:ok, map()} | {:error, term()}

Deactivate the signing account as an outcome deployer.

Requires that the minimum deployer staking duration has elapsed and that the deployer has no active outcomes. The venue name stays reserved.

Parameters

  • opts: Optional parameters

Returns

  • {:ok, response} - Deactivation result
  • {:error, term()} - Error details

Examples

{:ok, result} = ActivateOutcomeDeployer.deactivate()