Skip to main content
This guide is for business partners integrating Owly at the tenant level. It explains how to create an API wallet for a target address, start a strategy instance, receive webhook events, and manage the strategy lifecycle through Owly’s external API.
All B2B endpoints are authenticated with tenant credentials. If you are looking for standard end-user product setup, start from Core Concepts and Quick Start.

Integration Flow

The recommended order is:
  1. Create or fetch an API wallet for the target address.
  2. Set the returned public_key as the Hyperliquid API Agent.
  3. Start the Owly strategy instance.
  4. Save the returned bot identifier for later status and lifecycle calls.
  5. Receive webhook notifications if configured.

Base URL

Authentication

Every request must include these headers:

Response Format

Successful responses follow this envelope:
Error responses use:
Common HTTP status codes:

Step 1: Create or Fetch an API Wallet

Endpoint

Request Body

Success Example

Owly securely stores the API wallet private key and does not return it to the partner.
Important behavior:
  • Repeating the same request for the same target under the same tenant returns the existing wallet whenever possible.
  • If the target is already occupied by another tenant or another incompatible flow, the API returns 409.

Step 2: Set the API Agent on Hyperliquid

Use the public_key returned in Step 1 and set it as the API Agent for the target address on Hyperliquid. This step is completed by the partner on Hyperliquid. Owly does not perform the on-chain or Hyperliquid-side configuration for you.

Step 3: Start the Strategy Instance

Endpoint

Request Body

Webhook Semantics

Success Example

The name field in the response is the bot_name used by the status, stop, and close endpoints. Persist it on your side.

Webhook Notifications

If a webhook is configured, Owly can actively deliver strategy events to your callback endpoint. Webhook categories include:
  • trade event: trading-related events produced by the strategy instance
  • risk event: risk-control events produced by the strategy instance
  • status event: strategy state changes
Webhook handling expectations:
  • return 2xx to acknowledge successful receipt
  • design the receiver to be idempotent
  • assume retries and duplicate deliveries are possible
  • rely only on Owly’s external event fields and business semantics, not internal service names or internal state machines

Strategy Lifecycle Endpoints

Get Status

Success example:

Stop a Strategy

Success example:

Close a Strategy

close ends the lifecycle of the strategy instance. After closing, it no longer continues to run. Success example:

Common Errors

Minimal cURL Example

Create an API Wallet

Start a Strategy

Query Status

Integration Recommendations

  • Always follow the sequence api-wallet -> set API Agent on Hyperliquid -> start.
  • Persist the returned bot_name immediately.
  • Make webhook consumers idempotent and retry-safe.
  • Treat webhook events as Owly business notifications and do not depend on Owly internal implementation details.
  • If created = false, reuse the returned public_key.
  • If startup fails, first verify tenant authentication, Hyperliquid API Agent setup, target ownership, and whether config satisfies the current BotConfig requirements.