Skip to main content

GMX API

This section covers how to retrieve staking information on GMX.

You can read more about the GMX ecosystem in this blog.

Video Tutorial on GMX and esGMX​

New Positions by Trader​

The following query retrieves new positions created by a specific trader on the GMX DEX

{
EVM(dataset: archive, network: arbitrum) {
Events(
where: {
Log: {
SmartContract: { is: "0x489ee077994B6658eAfA855C308275EAd8097C4A" },
Signature: { Name: { is: "IncreasePosition" } }
},
Arguments: {
includes: {
Name: { is: "account" },
Value: { Address: { is: "0x92812499fF2c040f93121Aab684680a6e603C4A7" } }
}
}
}
orderBy: { descending: Block_Time }
) {
Log {
Signature {
Name
Parsed
Signature
}
}
Arguments {
Name
Type
Value {
... on EVM_ABI_Boolean_Value_Arg {
bool
}
... on EVM_ABI_Bytes_Value_Arg {
hex
}
... on EVM_ABI_BigInt_Value_Arg {
bigInteger
}
... on EVM_ABI_Address_Value_Arg {
address
}
... on EVM_ABI_String_Value_Arg {
string
}
... on EVM_ABI_Integer_Value_Arg {
integer
}
}
}
Block {
Time
}
}
}
}

Latest Liquidated Positions​

The following query retrieves the latest liquidated positions on the GMX DEX, providing information on the account, collateral token, index token, position, reserve amount, realised PnL, and mark price.

{
EVM(dataset: archive, network: arbitrum) {
Events(
where: {
Log: {
SmartContract: { is: "0x489ee077994B6658eAfA855C308275EAd8097C4A" },
Signature: { Name: { is: "LiquidatePosition" } }
}
}
limit: { count: 100 }
orderBy: { descending: Block_Time }
) {
Log {
Signature {
Name
Parsed
Signature
}
}
Block {
Time
}
Call {
Signature {
Name
}
}
Transaction {
Hash
}
Arguments {
Name
Type
Value {
... on EVM_ABI_Boolean_Value_Arg {
bool
}
... on EVM_ABI_Bytes_Value_Arg {
hex
}
... on EVM_ABI_BigInt_Value_Arg {
bigInteger
}
... on EVM_ABI_Address_Value_Arg {
address
}
... on EVM_ABI_String_Value_Arg {
string
}
... on EVM_ABI_Integer_Value_Arg {
integer
}
}
}
}
}
}

Latest GMX Events​

You can run the query here.

The following query retrieves the latest GMX events on the Arbitrum network:

{
EVM(network: arbitrum) {
Events(
where: {
Log: {
SmartContract: { is: "0x489ee077994B6658eAfA855C308275EAd8097C4A" }
}
}
orderBy: { descending: Block_Time }
limit: { count: 10 }
) {
Log {
Signature {
Name
Parsed
Signature
}
}
Arguments {
Name
Type
Value {
... on EVM_ABI_Boolean_Value_Arg {
bool
}
... on EVM_ABI_Bytes_Value_Arg {
hex
}
... on EVM_ABI_BigInt_Value_Arg {
bigInteger
}
... on EVM_ABI_Address_Value_Arg {
address
}
... on EVM_ABI_String_Value_Arg {
string
}
... on EVM_ABI_Integer_Value_Arg {
integer
}
}
}
Block {
Time
}
}
}
}

These queries help you explore the latest activities and positions on the GMX protocol.