Hallswap API
Hallswap API allows developers to access liquidity on Hallswap supported chains. Supported chains: Injective, Sei, Archway, Oraichain, Neutron, Terra, Migaloo, Chihuahua
Last updated
Hallswap API allows developers to access liquidity on Hallswap supported chains. Supported chains: Injective, Sei, Archway, Oraichain, Neutron, Terra, Migaloo, Chihuahua
Last updated
GET
Simulates and returns the most optimal swap route between any two tokens within a chain. This simulation may route across multiple different pools to maximise returns, and is the same API that the website uses.
chainId
: the chain ID that you wish to swap on. Supported chain IDs include:
injective-1
pacific-1
archway-1
Oraichain
neutron-1
phoenix-1
migaloo-1
chihuahua-1
from
: the denom or contract address of the asset that is being sold
to
: the denom or contract address of the asset that is being bought
amount
: the on-chain amount of from
(ie. must NOT be a floating point number)
slippageBps
: the slippage in basis points (ie. 50
represents 0.5% slippage)
Returns a JSON with the following fields:
returnAmount
: the expected on-chain amount of to
that the caller can expect from executing the swap
minimumReceive
: the minimum on-chain amount of to
that the swap must output for the tx to succeed (this is calculated using the given slippageBps
)
contractInput
: an object containing the input to the Hallswap contract with the following fields (note that this field is meant to be used as is - check out the examples below):
address
: the address of the smart contract to run the executeMsg
executeMsg
: the JSON containing the execute message
funds
: an array of objects with the following fields:
denom
: the denom of the asset to send for the swap
amount
: the on-chain amount of denom
to send for the swap
route
: an array of objects with the following fields:
returnAsset
: an object containing the following fields:
symbol
: the symbol of the asset that you get from the swap
icon
: the icon of the asset that you get from the swap
dex
: the dex that the swap is executed on
Such a response can be expected if:
chainId
is invalid
from
or to
does not exist
from
is equal to to
amount
is negative
slippageBps
is bigger than 10000
No routes are found
Injective: inj16lkekzp36vj6a9zjl778a2s5nd9f6ft67w2e90
Sei: sei1w5t009q9zr8ky8v84sx9n4r9m6ss9ge7xfkuc6xrh479fjg4qmysrqk4lq
Archway: archway1tjg47350zpgskprjmcm6chuytnx3q893mru8fqg8jakkw2cjwt5s2unkar
Oraichain: orai1wl3kn5lx6mf67pqmlefus7ge9wj57e3jyp39mzrhwa4hs00q6e9sp3044z
Neutron: neutron12k4hr2ecm3c8mjjsn6dc9c043xv8p7v4795qt9g2dwp4nmmlgxdqvz2ujp
Terra: terra1e3nqr8vwu32pzgasraud9avpwdd8phmqgre5kpwlytgedj2emkkq3l67hy
Migaloo: migaloo10l2nactp2af8uw3xupgmmpsng85fngguk5jj0qy57vc3lfllan9sarp6hf
Chihuahua: chihuahua1w029h820yzthj3kqfvv6dzd6h84ys26uxg6x0zd3zmc93kutqe9qrwgsn7
Note that this example uses TypeScript and the package, but can also be adapted fairly easily to cosm.js or feather.js should you prefer to use them.