Skip to main content

Technical overview

User-signed actions use direct EIP-712 signing without phantom agent abstraction. These are used for administrative operations like approving agents, transferring funds, and managing withdrawals.
The Hyperliquid Python SDK v0.18.0+ provides wrapper functions for all user-signed actions, handling the EIP-712 complexity internally.
Connect to a reliable Hyperliquid RPC endpoint to get started with user-signed actions.

Key characteristics

Agent wallets explained

Agent wallets are separate keypairs authorized to sign L1 actions on behalf of your account:

Properties

  • Stateless — No funds or positions held
  • Nonce isolation — Independent nonce tracking from master account
  • Limited scope — Can only sign L1 actions, not transfers or withdrawals
  • Revocable — Can be revoked by the master account

Use cases

  • Trading bots — Automated trading without exposing master key
  • API integrations — Third-party services can trade for you
  • Security isolation — Limit exposure if agent key is compromised

Supported user-signed actions

Each action has its own signing wrapper function, but all use sign_user_signed_action() internally:

Complete agent approval example

This example shows how to create and approve an agent wallet:

Using an approved agent

Once an agent is approved, it can perform L1 actions on behalf of the master:

USDC transfer example

Transfer USDC between accounts using user-signed action:

Withdrawal example

Withdraw funds to Layer 1:

Technical implementation

EIP-712 structure for agent approval

EIP-712 structure for USDC transfer

Domain configuration

All user-signed actions use this domain:

TypeScript implementation

Agent architecture diagram

Security best practices

Agent wallet security
  • Generate unique agent keys for each integration
  • Store agent keys separately from master keys
  • Regularly rotate agent keys
  • Monitor agent activity
  • Revoke unused agents promptly
Critical limitations
  • Agents CANNOT transfer funds
  • Agents CANNOT withdraw to L1
  • Agents CANNOT approve other agents
  • Agents CAN place and cancel orders
  • Agents CAN modify leverage

Common use cases

Trading bot deployment

1

Create agent

Generate a new agent wallet for your bot
2

Approve agent

Use master account to approve the agent
3

Deploy bot

Bot uses agent key to sign L1 actions
4

Monitor activity

Track orders and positions created by agent
5

Revoke if needed

Master can revoke agent access anytime

Multi-account management

Error handling

Common errors

Example error handling

Summary

User-signed actions handle administrative operations on Hyperliquid. They use direct EIP-712 signing with chain ID 0x66eee. The SDK’s wrapper functions make it easy to approve agents, transfer funds, and manage your account securely.
Last modified on April 13, 2026