Skip to content
API reference

List tradable tokens and your terms

GET
/v2/params
curl --request GET \
--url https://api.hyperstream.dev/v2/params \
--header 'X-API-Key: <X-API-Key>'

Every token you can trade, each with its two fixed fees, and your commercial terms. Any listed token trades against any other, so pairs are not enumerated.

Not rate limited and not paused during maintenance, so it doubles as a readiness check for your key. The minimum trade size is not here: /v2/quote returns it when a size is too small.

Tokens and terms.

Media typeapplication/json

The tokens you can trade, each with its fixed fees, and your commercial terms.

object
tokens
required

Every token you can trade. Any listed token can be traded against any other. A token with no configured fee is omitted.

Array<object>
object
chainId
required

Spoke chain id.

integer
token
required

Address in the chain’s native display form: EVM 0x hex, TRON base58.

string
symbol
required
string
decimals
required

Decimals of this token on this chain. They vary per chain.

integer
depositFee
required

Fixed fee when this token is the source, in its own base units. Charged even if the order never fills.

string
/^\d+$/
withdrawFee
required

Fixed fee when this token is the destination, in its own base units.

string
/^\d+$/
terms
required

Your terms. The bps and the commission wallet come from the on-chain integrator registry the hub reads at publish; orderTtl is an API setting.

object
operatorBps
required

Khalani’s fee, in basis points of the amount left after the flat fee.

integer
commissionBps
required

Your commission, in basis points of the same amount.

integer
commissionWallet
required

Hub address your commission is paid to on settlement. The zero address if none is set.

string
/^0x[0-9a-fA-F]{40}$/
orderTtl
required

Seconds from /v2/build until the order’s deadline. The clock starts at build, not at deposit. An API setting each build signs into its order.

integer

Example

{
"tokens": [
{
"chainId": 42161,
"token": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"symbol": "USDC",
"decimals": 6,
"depositFee": "150000",
"withdrawFee": "150000"
},
{
"chainId": 8453,
"token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"symbol": "USDC",
"decimals": 6,
"depositFee": "150000",
"withdrawFee": "150000"
}
],
"terms": {
"operatorBps": 3,
"commissionBps": 2,
"commissionWallet": "0x1c0ce7f3a2d4ab69a33e4a8f5b9a3c4d2e1f0a9b",
"orderTtl": 3600
}
}

The X-API-Key header is missing.

Media typeapplication/json

An error raised by the route itself.

object
error
required
string
detail
object
minSrcAmount

Smallest deposit that would quote, in source base units.

string
/^\d+$/
maxSrcAmount

Largest deposit that would quote, in source base units.

string
/^\d+$/
maxOutcomeAmount

Largest output that would quote, in destination base units.

string
/^\d+$/
missing

The deployment setting this direction needs.

string

Example

{
"error": "X-API-Key required"
}

The key is unknown or past its rotation window, or your integrator registry row is disabled or invalid. A 403 is always about your account: do not retry.

Media typeapplication/json

An error raised by the route itself.

object
error
required
string
detail
object
minSrcAmount

Smallest deposit that would quote, in source base units.

string
/^\d+$/
maxSrcAmount

Largest deposit that would quote, in source base units.

string
/^\d+$/
maxOutcomeAmount

Largest output that would quote, in destination base units.

string
/^\d+$/
missing

The deployment setting this direction needs.

string

Example

{
"error": "Unknown or inactive integrator"
}

Unhandled failure. Retry once, then escalate with the x-request-id response header.

Media typeapplication/json

Maintenance, a malformed JSON body, or an unhandled failure. Carries message, not error.

object
message
required
string
name
required

MaintenanceException (503), BadRequestException (malformed JSON) or InternalErrorException (500).

string

Example

{
"message": "Internal Error",
"name": "InternalErrorException"
}

Your terms could not be read from the hub. Never about your key or account. Retryable.

Media typeapplication/json

An error raised by the route itself.

object
error
required
string
detail
object
minSrcAmount

Smallest deposit that would quote, in source base units.

string
/^\d+$/
maxSrcAmount

Largest deposit that would quote, in source base units.

string
/^\d+$/
maxOutcomeAmount

Largest output that would quote, in destination base units.

string
/^\d+$/
missing

The deployment setting this direction needs.

string

Example

{
"error": "Integrator terms are temporarily unreadable"
}