Constructor
config params
api
base api
base rpc api
cosmosRestApi
cosmosRpcApi
explorerGraphqlApi
explorerRest
explorerWebsocketApi
osmosisRestApi
osmosisRpcApi
websocket api
Spidex authentication
Create API Key
Create an API key to authorize access to private APIs.
const timestamp = spidex.utils.getTimestamp();
spidex.initConfig({
web3Provider: provider,
currentAccount: yourAccount
});
const signature = await spidex.utils.sign({
provider: spidex.config.web3Provider, // or provider
signer: spidex.config.currentAccount, // or yourAccount
primaryType: IPrimaryType.createApiKey,
message: {
method: 'POST',
requestPath: IRequestPath.createApiKey,
timestamp = '',
}
});
await spidex.private.createApiKey({
'SPIDEX-TIMESTAMP': timestamp = '',
'SPIDEX-ADDRESS': spidex.config.currentAccount,
'SPIDEX-SIGNATURE': signature.substr(2),
})
Optional
SPIDEX-on boarding
await spidex.private.onBoarding({
derived_pub: '',
}, {
'SPIDEX-ADDRESS': '',
'SPIDEX-SIGNATURE': '',
})
Optional
referee_Spidex config data
Spidex Cosmos rpc api
Spidex Osmosis rpc api
Spidex private api
All Private APIs need to be accessed by using the API KEY. Please create api key first!
Get account
await spidex.private.account({
address,
})
Optional
headers: IHeadersParamsCancel Order
Cancel pending order.
await spidex.private.cancelOrder({
order_hash
})
Optional
headers: IHeadersParamsCreate API Key
Create an API key to authorize access to private APIs.
const timestamp = spidex.utils.getTimestamp();
spidex.initConfig({
web3Provider: provider,
currentAccount: yourAccount
});
const signature = await spidex.utils.sign({
provider: spidex.config.web3Provider, // or provider
signer: spidex.config.currentAccount, // or yourAccount
primaryType: IPrimaryType.createApiKey,
message: {
method: 'POST',
requestPath: IRequestPath.createApiKey,
timestamp = '',
}
});
await spidex.private.createApiKey({
'SPIDEX-TIMESTAMP': timestamp = '',
'SPIDEX-ADDRESS': spidex.config.currentAccount,
'SPIDEX-SIGNATURE': signature.substr(2),
})
Optional
SPIDEX-Create Order
Initiate transactions, go long/short/close long/close short, all through this interface.
await spidex.private.createOrder({
vault_address: '0x239721212121....',
symbol: 'BTCUSDC',
side: 'BUY',
price: '1000',
amount: '2000',
salt: 100,
expiration: Date.now() + 3600 * 24 * 30 * 1000,
signature: 'asx239da1212121...', // eip712Signature spidex.tools.sign
timestamp: '', // of signature timestamp
})
Optional
timestamp?: stringOptional
vault_Optional
headers: IHeadersParamsdelete apiKeys
await spidex.private.deleteApiKeys({
// ...
})
Optional
headers: { Deposit Margin
Add margin to a position
await spidex.private.depositMargin({
// ...params
})
Optional
headers: IHeadersParamsQuery Funding Records
await spidex.public.fundingRecords({
symbol,
limit,
offset
})
Optional
params: { Optional
limit?: numberOptional
offset?: numberOptional
symbol?: stringOptional
headers: IHeadersParamsget apiKeys
await spidex.private.getApiKeys({
// ...
})
Optional
headers: IHeadersParamsQuery margin transfers
await spidex.private.getMarginTransfers({
// ...headers
})
Optional
limit?: numberOptional
offset?: numberOptional
headers: IHeadersParamsQuery Order
Query the specified order according to the order hash
await spidex.private.getOrder({
hash
})
Optional
headers: IHeadersParamsQuery Orders
Query the historical pending orders of the current user
await spidex.private.getOrders({
// ...params
})
Optional
limit?: numberOptional
maker_Optional
offset?: numberOptional
side?: stringOptional
status?: string | string[]Optional
symbol?: stringOptional
vault_Optional
headers: IHeadersParamsQuery Position
Query the current user's position information
await spidex.private.getPosition({
// ...params
})
Optional
headers: IHeadersParamsQuery Latest Trades
await spidex.private.getTrades({
// ...params
})
Optional
limit?: numberOptional
maker_Optional
offset?: numberOptional
vault_Optional
headers: IHeadersParamson boarding
await spidex.private.onBoarding({
derived_pub: '',
}, {
'SPIDEX-ADDRESS': '',
'SPIDEX-SIGNATURE': '',
})
Optional
referee_Withdraw Margin
Withdraw margin to a position
await spidex.private.withdrawMargin({
// ...params
})
Optional
headers: IHeadersParamsSpidex public api
Get account
await spidex.private.account({
address,
})
Optional
headers: IHeadersParamsCompile DSL
Compile DSL script into contract binary
await spidex.public.compileDsl({
dsl_code: '',
})
Query Latest Deals
await spidex.public.getDeals({
// ...params
})
Optional
limit?: numberQuery Depth
Query market depth
await spidex.public.getDepth({
symbol: 'BTCUSDC',
address?: spidex.config.currentAccount,
})
Optional
address?: stringOptional
type?: stringQuery KLines
Query the market K line
await spidex.public.getKlines({
// ...params
})
Query Market Info
Query market transaction information
await spidex.public.getMarket({
symbol
})
Query Markets Info
await spidex.public.getMarkets()
Query Trade Volumes
await spidex.public.getTradeVolumes({
limit
})
Optional
limit?: numberQuery Vault Incomes
await spidex.public.getVaultIncomes({
address: '',
interval: '1h',
limit: 100,
})
Optional
limit?: numberQuery Vault Detail
await spidex.public.getVaultInfo({
address: ''
})
Query vault purchases
await spidex.public.getVaultDeposits({
vault_address: '',
user_address: '',
offset: 0,
limit: 10,
})
Optional
limit?: numberOptional
offset?: numberOptional
user_Optional
vault_Query vault redeems
await spidex.public.getVaultRedeems({
vault_address: '',
user_address: '',
offset: 0,
limit: 10,
})
Optional
limit?: numberOptional
offset?: numberOptional
user_Optional
vault_Query Vaults Info
Query transaction vault information
await spidex.public.getVaults({
// ...params
})
Optional
params: { Query symbol index price
await spidex.public.indexPrice({
symbol: '',
})
Query liquidable able positions
await spidex.public.liquidablePositions({
symbol,
})
Optional
symbol?: stringQuery liquidated
await spidex.public.liquidated({
address,
limit,
offset
})
Optional
address?: stringOptional
limit?: numberOptional
offset?: numberQuery liquidator
await spidex.public.liquidator({
address,
limit,
offset
})
Optional
address?: stringOptional
limit?: numberOptional
offset?: numberGet specs
await spidex.public.specs()
Get vault shares
await spidex.public.vaultShare({
vault_address,
user_address,
})
Get vault shares
await spidex.public.vaultShares({
vault_address,
offset,
limit
})
Optional
limit?: numberOptional
offset?: numberOptional
user_Optional
vault_Spidex rpc api
Spidex utils
Optional
fourthOptional
secondOptional
thirdOptional
timestamp: stringOptional
domainGet the value is not '' 、 undefined or null of object.
Optional
contract?: stringOptional
domainOptional
provider?: providerOptional
signer?: stringOptional
signingOptional
contract?: stringOptional
domainOptional
provider?: providerOptional
version?: SignTypedDataVersionweb3 tools
Spidex websocket
app info
osmosis and spidex chain config
spidex ignite client
spidex configs
contracts
The spidex.initConfig is required by spidex.utils.sign for spidex.private POST APIs.
Static
getGenerated using TypeDoc
Example