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