Skip to main content
POST
/
v1
/
bridge
/
hyperliquid-perps-to-solana
Withdraw Hyperliquid Perps USDC to Solana
curl --request POST \
  --url https://api-nova.tech/v1/bridge/hyperliquid-perps-to-solana \
  --header 'Content-Type: application/json' \
  --data '
{
  "hyperliquidAddress": "<string>",
  "solanaAddress": "<string>",
  "amountUsdc": "<string>",
  "amount": "<string>",
  "receive": "SOL",
  "amountRaw": "<string>",
  "slippageTolerance": "<string>"
}
'
{
  "success": true,
  "service": "nova-bridge",
  "route": "Relay Solana to Hyperliquid Perps",
  "routePlan": {},
  "provider": "relay",
  "requestId": "<string>",
  "originChain": "<string>",
  "destinationChain": "<string>",
  "originChainId": 123,
  "destinationChainId": 123,
  "inputToken": "<string>",
  "inputTokenAddress": "<string>",
  "inputAmount": "<string>",
  "inputAmountAtomic": "<string>",
  "outputToken": "<string>",
  "outputTokenAddress": "<string>",
  "outputAmount": "<string>",
  "outputAmountAtomic": "<string>",
  "feeUsd": "<string>",
  "estimatedTime": "<string>",
  "routeSummary": "<string>",
  "statusEndpoint": "<string>",
  "transaction": {
    "chainId": 123,
    "chain": "<string>",
    "to": "<string>",
    "value": "<string>",
    "data": "<string>",
    "gasLimit": "<string>",
    "unsignedTxHex": "<string>",
    "unsignedTxBase64": "<string>"
  },
  "approval": {
    "token": "<string>",
    "spender": "<string>",
    "value": "<string>",
    "gasLimit": "<string>"
  },
  "routeDetails": {
    "id": "<string>",
    "from": "<string>",
    "to": "<string>",
    "name": "<string>",
    "provider": "relay",
    "inputAsset": "<string>",
    "outputAsset": "<string>",
    "originChainId": 123,
    "destinationChainId": 123,
    "originCurrency": "<string>",
    "destinationCurrency": "<string>"
  },
  "appFeePolicy": {
    "applied": true,
    "feeBps": 1
  }
}

Body

application/json
hyperliquidAddress
string
required

Public Hyperliquid Perps account address sending USDC.

solanaAddress
string
required

Public Solana wallet address receiving SOL or USDC.

amountUsdc
string

Decimal USDC amount to move from Hyperliquid Perps.

amount
string

Alias for amountUsdc.

receive
enum<string>
default:SOL

Asset to receive on Solana.

Available options:
SOL,
USDC,
sol,
usdc
amountRaw
string

Optional Hyperliquid USDC base-unit amount for clients that already handle decimals.

Pattern: ^[0-9]+$
slippageTolerance
string

Optional slippage tolerance in basis points.

Pattern: ^[0-9]+$

Response

Wallet-ready Hyperliquid Perps to Solana route plan.

success
boolean
required
Example:

true

service
string
required
Example:

"nova-bridge"

route
string
required

Human-readable route summary kept string-compatible for mobile clients.

Example:

"Relay Solana to Hyperliquid Perps"

routePlan
object
required

Relay quote steps and route details for iOS-local approval, signing, and broadcast.

provider
string
Example:

"relay"

requestId
string | null
originChain
string | null
destinationChain
string | null
originChainId
number | null
destinationChainId
number | null
inputToken
string | null
inputTokenAddress
string | null
inputAmount
string | null
inputAmountAtomic
string | null
outputToken
string | null
outputTokenAddress
string | null
outputAmount
string | null
outputAmountAtomic
string | null
feeUsd
string | null
estimatedTime
string | null
routeSummary
string | null
statusEndpoint
string | null
transaction
object

Unsigned transaction payload normalized for iOS signing and broadcast.

approval
object

Optional ERC-20 approval required before the Relay bridge transaction.

routeDetails
object

Structured Relay route metadata.

appFeePolicy
object