> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nshield.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Send Solana assets to Hyperliquid Perps

> Builds a wallet-ready Nova Bridge route that moves SOL or USDC from Solana into Hyperliquid Perps as USDC.



## OpenAPI

````yaml /reference/public-openapi.json post /v1/bridge/solana-to-hyperliquid-perps
openapi: 3.1.0
info:
  title: Nova Security, Bridge, Token & Wallet API
  version: '2026-05-27'
  description: >-
    Open public APIs for Nova security checks, Relay-backed bridge route quotes,
    and on-chain intelligence.
servers:
  - url: https://api-nova.tech
    description: Public API
security: []
tags:
  - name: Security Model
    description: >-
      Risk checks for tokens, wallets, dapps, transactions, permissions, and
      addresses.
  - name: Nova Bridge
    description: >-
      Build wallet-ready Relay route quotes. Wallet approvals, signing, and
      broadcast stay local.
  - name: Token Data
    description: Search, profiles, prices, charts, and trending token data.
  - name: Wallet Data
    description: Public wallet overview, holdings, trades, and activity.
  - name: Trader Data
    description: Leaderboards, trade feeds, and token signals.
  - name: Monitoring
    description: Metadata-only public API request stats and scrapeable metrics.
paths:
  /v1/bridge/solana-to-hyperliquid-perps:
    post:
      tags:
        - Nova Bridge
      summary: Send Solana assets to Hyperliquid Perps
      description: >-
        Builds a wallet-ready Nova Bridge route that moves SOL or USDC from
        Solana into Hyperliquid Perps as USDC.
      operationId: sendSolanaToHyperliquidPerps
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SolanaToHyperliquidPerpsRequest'
      responses:
        '200':
          description: Wallet-ready Solana to Hyperliquid Perps route plan.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BridgeRoutePlanResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/ServerError'
components:
  schemas:
    SolanaToHyperliquidPerpsRequest:
      type: object
      required:
        - solanaAddress
        - hyperliquidAddress
        - amount
      properties:
        solanaAddress:
          type: string
          description: Public Solana wallet address sending SOL or USDC.
        hyperliquidAddress:
          type: string
          description: Public Hyperliquid Perps account address receiving USDC.
        amount:
          type: string
          description: >-
            Decimal amount to send, for example 0.1 when asset is SOL or 25 when
            asset is USDC.
          examples:
            - '0.1'
        asset:
          type: string
          enum:
            - SOL
            - USDC
            - sol
            - usdc
          default: SOL
          description: >-
            Solana asset to send into Hyperliquid Perps. The route outputs USDC
            on Hyperliquid Perps.
        amountRaw:
          type: string
          pattern: ^[0-9]+$
          description: Optional base-unit amount for clients that already handle decimals.
        slippageTolerance:
          type: string
          pattern: ^[0-9]+$
          description: Optional slippage tolerance in basis points.
      additionalProperties: false
      examples:
        - solanaAddress: 9xQeWvG816bUx9EPfQ5D9b8fRGyJitf8F6f4fH6QJjAo
          hyperliquidAddress: '0xf3d63166f0ca56c3c1a3508fce03ff0cf3fb691e'
          amount: '0.1'
          asset: SOL
    BridgeRoutePlanResponse:
      type: object
      required:
        - success
        - service
        - route
        - routePlan
      properties:
        success:
          type: boolean
          example: true
        service:
          type: string
          example: nova-bridge
        provider:
          type: string
          example: relay
        requestId:
          type: string
          nullable: true
        originChain:
          type: string
          nullable: true
        destinationChain:
          type: string
          nullable: true
        originChainId:
          type: number
          nullable: true
        destinationChainId:
          type: number
          nullable: true
        inputToken:
          type: string
          nullable: true
        inputTokenAddress:
          type: string
          nullable: true
        inputAmount:
          type: string
          nullable: true
        inputAmountAtomic:
          type: string
          nullable: true
        outputToken:
          type: string
          nullable: true
        outputTokenAddress:
          type: string
          nullable: true
        outputAmount:
          type: string
          nullable: true
        outputAmountAtomic:
          type: string
          nullable: true
        feeUsd:
          type: string
          nullable: true
        estimatedTime:
          type: string
          nullable: true
        routeSummary:
          type: string
          nullable: true
        statusEndpoint:
          type: string
          nullable: true
        transaction:
          type: object
          nullable: true
          description: >-
            Unsigned transaction payload normalized for iOS signing and
            broadcast.
          additionalProperties: true
          properties:
            kind:
              type: string
              enum:
                - solana
                - evm
            chainId:
              type: number
            chain:
              type: string
            to:
              type: string
            value:
              type: string
            data:
              type: string
            gasLimit:
              type: string
              nullable: true
            unsignedTxHex:
              type: string
              nullable: true
            unsignedTxBase64:
              type: string
              nullable: true
        approval:
          type: object
          nullable: true
          description: >-
            Optional ERC-20 approval required before the Relay bridge
            transaction.
          additionalProperties: false
          properties:
            token:
              type: string
            spender:
              type: string
            value:
              type: string
            gasLimit:
              type: string
              nullable: true
        route:
          type: string
          description: >-
            Human-readable route summary kept string-compatible for mobile
            clients.
          example: Relay Solana to Hyperliquid Perps
        routeDetails:
          type: object
          nullable: true
          description: Structured Relay route metadata.
          required:
            - id
            - from
            - to
          properties:
            id:
              type: string
            name:
              type: string
            provider:
              type: string
              example: relay
            from:
              type: string
            to:
              type: string
            inputAsset:
              type: string
            outputAsset:
              type: string
            originChainId:
              type: number
            destinationChainId:
              type: number
            originCurrency:
              type: string
            destinationCurrency:
              type: string
          additionalProperties: false
        appFeePolicy:
          type: object
          required:
            - applied
            - feeBps
          properties:
            applied:
              type: boolean
            feeBps:
              type: integer
              minimum: 0
          additionalProperties: false
        routePlan:
          type: object
          description: >-
            Relay quote steps and route details for iOS-local approval, signing,
            and broadcast.
          additionalProperties: true
      additionalProperties: false
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              example: RATE_LIMITED
            message:
              type: string
              example: Too many requests. Try again later.
            requestId:
              type: string
          additionalProperties: false
      additionalProperties: false
  responses:
    BadRequest:
      description: The request was invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    RateLimited:
      description: The request exceeded an IP, endpoint, or capability quota.
      headers:
        Retry-After:
          schema:
            type: integer
          description: Seconds to wait before retrying.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ServerError:
      description: The public API could not complete the request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'

````