HyperliquidPolymarket
Issues a short-lived, server-authenticated quote for an enabled multi-step transfer route in either
direction. The example below shows the forward route with schemaVersion: 1.
Endpoint
Request Body
100000000 base units is 100 USDC.
Response
200: Quote
429: Rate Limited
503: Unavailable
The values above illustrate the response shape. Quote amounts, addresses, identifiers, and
timestamps are generated by the active deployment.
Quote Semantics
- Quotes expire 60 seconds after issuance.
- In a version 1 quote, each step’s
sourceAmount is the amount sent for that step.
minimumDestinationAmount is the signed, enforced lower bound for completing that step. Read
the returned quote; do not assume a fixed conversion rate or output percentage.
- All step and fee amounts are unsigned integers in the asset’s smallest unit. USDC and pUSD use 6
decimals, so
"1000000" means 1 USDC or 1 pUSD.
mac is an authentication code that lets the server detect any change to terms.
- The transfer is attributed to
terms.userAddress; that same user must sign execution.
Preserve the entire quote object. Do not edit, omit, recalculate, or replace any term before
putting it in executeProtocolTransfer.
Reverse-Route Quotes
A reverse route discovered with schemaVersion: 2 uses the same request fields and returns
quote.terms.schemaVersion: 2. Its signed terms differ from the forward quote:
funding replaces fundingAsset and contains kind: "polygon_pusd_withdrawal", asset,
sourceAmountBaseUnits, withdrawalLedgerAmount, and source: "balance".
sourceAmountBaseUnits is an integer in micro-pUSD; withdrawalLedgerAmount is the equivalent
decimal pUSD amount formatted to eight decimal places.
- The first step’s
sourceAmount is { "kind": "fixed", "amount": "100000000" }, for example.
- A later step can use
{ "kind": "previous_step_actual_output" } so it sends the amount actually
received from the preceding step.
- The bridge step includes
bridgePolicy with kind: "polymarket_withdrawal_v1",
recipientAddress, and bindingWindowMs. Version 1 provider payment instructions are not part
of this version’s signed terms.
Both versions return the authenticated { terms, mac } quote. Preserve whichever version the
server returned and include it unchanged in
Execute Transfer.
Errors
400: malformed request, unsupported route, amount below the provider minimum, or conflicting
transfer payment instructions.
429: the quote limit was reached. The current limits are 10 quotes per user per minute and 60
quotes globally per minute.
503: protocol transfers, the quote provider, or quote capacity are temporarily unavailable.
At most 16 quote requests are processed at once.