DEX API
XCADDEX-API
API server for XCAD DEX
The web service exposes these endpoints. You can find the sample data for each endpoint here
Where the result consists of multiple pages ( i.e. where total_pages > 1) use query parameter ?page=n where n = page number e.g. 2
Base Endpoint - /
Returns a string to indicate that the webservice is running Hello xcaddex!
https://rewards-api.xcadnetwork.com/
Get Liquidity - /liquidity
Get the liquidity for all pools at the given timestamp.
https://rewards-api.xcadnetwork.com/liquidity
address
The address of the initiator, Bech32 format - Filter by user address
timestamp
The End time, Unix time format (retrieve data from pool begining til this time ) - Filter by time range
Examples
address
http://localhost:3010/liquidity?address=zil144x80aulkm468jxul3twhu2zzfzcjql6suhma5
https://rewards-api.xcadnetwork.com/liquidity?address=zil19e24266mg4pmxzvm24v92c53lfd4kd4cadc6xl
https://rewards-api.xcadnetwork.com/liquidity?address=zil1dmqtvyp3paq08m466mecuya650xhxh3jx3mmyf
time range
http://localhost:3010/liquidity?timestamp=1645142739
https://rewards-api.xcadnetwork.com/liquidity?timestamp=1645142739
Sample Data
pool - XCAD pools
The pool identifier, XCADTokenHash,TokenHash Hex format
pool - Zil pools
The pool identifier, TokenAddress Bech32 format
amount - XCAD Pools
When the pool field contains the XCAD pool identifier this amount is the XCAD amount
amount - Zil Pools
When the pool field contains the Zil pool identifier this amount is the ZIL amount
Get Weighted Liquidity - /weighted_liquidity
Get the liquidity for all pools in between the given timestamps weighted by duration.
https://rewards-api.xcadnetwork.com/weighted_liquidity
address
The address of the initiator, Bech32 format - Filter by user address
from
Start time, Unix time format ( default for until is now) - Filter by time range
until
End time, Unix time format ( if not specify it means now) - Filter by time range
Examples
address
http://localhost:3010/weighted_liquidity?address=zil144x80aulkm468jxul3twhu2zzfzcjql6suhma5
https://rewards-api.xcadnetwork.com/weighted_liquidity?address=zil19e24266mg4pmxzvm24v92c53lfd4kd4cadc6xl
https://rewards-api.xcadnetwork.com/weighted_liquidity?address=zil1dmqtvyp3paq08m466mecuya650xhxh3jx3mmyf
time range
http://localhost:3010/weighted_liquidity?from=1645142739
https://rewards-api.xcadnetwork.com/weighted_liquidity?from=1645142739
https://rewards-api.xcadnetwork.com/weighted_liquidity?from=1645142739&until=1645229139
Sample Data
pool - XCAD pools
The pool identifier, XCADTokenHash,TokenHash Hex format
pool - Zil pools
The pool identifier, TokenAddress Bech32 format
amount - XCAD Pools
When the pool field contains the XCAD pool identifier this amount is the XCAD amount
amount - Zil Pools
When the pool field contains the Zil pool identifier this amount is the ZIL amount
Get Liquidity Changes - /liquidity_changes
Get all liquidity changes (addition / removal) for all pools.
http://localhost:3010/liquidity_changes
https://rewards-api.xcadnetwork.com/liquidity_changes
per_page
The number of records per page (default 10, max 50)
page
The page to retrieve - Paging
address
The address of the initiator, Bech32 format - Filter by user address
pool (ZIL)
The identifier of the pool, Bech32 address for ZIL-ZRC2 pools - Filter by pool
pool (XCAD)
The identifier of the pool, XCADHash,TokenHash for XCAD-ZRC2 pools - Filter by pool
Examples
per_page
http://localhost:3010/liquidity_changes?per_page=50
https://rewards-api.xcadnetwork.com/liquidity_changes?per_page=50
page
http://localhost:3010/liquidity_changes?page=2
https://rewards-api.xcadnetwork.com/liquidity_changes?page=2
address
http://localhost:3010/liquidity_changes?address=zil144x80aulkm468jxul3twhu2zzfzcjql6suhma5
https://rewards-api.xcadnetwork.com/liquidity_changes?address=zil19e24266mg4pmxzvm24v92c53lfd4kd4cadc6xl
https://rewards-api.xcadnetwork.com/liquidity_changes?address=zil1dmqtvyp3paq08m466mecuya650xhxh3jx3mmyf
pool (ZIL)
http://localhost:3010/liquidity_changes?pool=zil1zlypy5aemcs8expcrsx28jz09523j2x8l0qy4s
https://rewards-api.xcadnetwork.com/liquidity_changes?pool=zil1z5l74hwy3pc3pr3gdh3nqju4jlyp0dzkhq2f5y
pool (XCAD)
http://localhost:3010/liquidity_changes?pool=0x17c81253b9de207c98381c0ca3c84f2d151928c7,0xd534e4e0ea00d72c8ab5641e80234af531238650
https://rewards-api.xcadnetwork.com/liquidity_changes?pool=0x153feaddc48871108e286de3304b9597c817b456,0x818ca2e217e060ad17b7bd0124a483a1f66930a9
Sample Data
token_address - XCAD pools
The pool identifier, XCADTokenHash,TokenHash Hex format
token_address - Zil pools
The pool identifier, TokenAddress Bech32 format
change_amount - XCAD Pools
The amount of Liquidity added or removed (negative value). For XCAD Pool this is XCAD amount
chnage_amount - Zil Pools
The amount of Liquidity added or removed (negative value). For Zil Pool this is ZIL amount
Get Volumne - /volume
Get the swap volume in XCAD / token and Zil / tokens for the given period for all pools.
https://rewards-api.xcadnetwork.com/volume
address
The address of the initiator, Bech32 format - Filter by user address
from
Start time, Unix time format ( default for until is now) - Filter by time range
until
End time, Unix time format ( if not specify it means now) - Filter by time range
Examples
address
http://localhost:3010/volume?address=zil144x80aulkm468jxul3twhu2zzfzcjql6suhma5
https://rewards-api.xcadnetwork.com/volume?address=zil19e24266mg4pmxzvm24v92c53lfd4kd4cadc6xl
https://rewards-api.xcadnetwork.com/volume?address=zil1dmqtvyp3paq08m466mecuya650xhxh3jx3mmyf
time range
http://localhost:3010/volume?from=1645142739
https://rewards-api.xcadnetwork.com/volume?from=1645142739
http://localhost:3010/volume?from=1645142739&until=1645229139
https://rewards-api.xcadnetwork.com/volume?from=1645142739&until=1645229139
Sample Data
pool - XCAD pools
The pool identifier, XCADTokenHash,TokenHash Hex format
pool - Zil pools
The pool identifier, TokenAddress Bech32 format
in_zil_amount
The amount of XCAD or ZIL input to the swap, this field is overloaded, for XCAD pools it means XCAD, for Zils pool it means ZIL
out_token_amount
The amount of token output from the swap
out_zil_amount ls
The amount of XCAD or ZIL output from the swap, this field is overloaded, for XCAD pools it means XCAD, for Zils pool it means ZIL
in_token_amount
The amount token input to the swap
Get Swaps - /swaps
Get the swaps for all pools.
https://rewards-api.xcadnetwork.com/swaps
per_page
The number of records per page (default 10, max 50)
page
The page to retrieve - Paging
address
The address of the initiator, Bech32 format - Filter by user address
pool
The identifier of the pool, Bech32 address for ZIL-ZRC2 pools - Filter by pool
pool
The identifier of the pool, XCADHash,TokenHash for XCAD-ZRC2 pools - Filter by pool
is_incoming
The swap direction, true for Sell, false for Buy - Filter by Sell or Buy
Examples
per_page
http://localhost:3010/swaps?per_page=50
https://rewards-api.xcadnetwork.com/swaps?per_page=50
page
http://localhost:3010/swaps?page=2
https://rewards-api.xcadnetwork.com/swaps?page=2
address
http://localhost:3010/swaps?address=zil144x80aulkm468jxul3twhu2zzfzcjql6suhma5
https://rewards-api.xcadnetwork.com/swaps?address=zil19e24266mg4pmxzvm24v92c53lfd4kd4cadc6xl
https://rewards-api.xcadnetwork.com/swaps?address=zil1dmqtvyp3paq08m466mecuya650xhxh3jx3mmyf
pool (ZIL)
http://localhost:3010/swaps?pool=zil1zlypy5aemcs8expcrsx28jz09523j2x8l0qy4s
https://rewards-api.xcadnetwork.com/swaps?pool=zil1z5l74hwy3pc3pr3gdh3nqju4jlyp0dzkhq2f5y
pool (XCAD)
http://localhost:3010/swaps?pool=0x17c81253b9de207c98381c0ca3c84f2d151928c7,0xd534e4e0ea00d72c8ab5641e80234af531238650
https://rewards-api.xcadnetwork.com/swaps?pool=0x153feaddc48871108e286de3304b9597c817b456,0x818ca2e217e060ad17b7bd0124a483a1f66930a9
Sell
http://localhost:3010/swaps?is_incoming=true
https://rewards-api.xcadnetwork.com/swaps?is_incoming=true
Buy
http://localhost:3010/swaps?is_incoming=false
https://rewards-api.xcadnetwork.com/swaps?is_incoming=false
Sample Data
token_address - XCAD pools
The pool identifier, XCADTokenHash,TokenHash Hex format
token_address - Zil pools
The pool identifier, TokenAddress Bech32 format
zil_amount
The amount of XCAD or ZIL, this field is overloaded, for XCAD pools it means XCAD, for Zils pool it means ZIL
token_amount
The amount of token
is_sending_zil
The Swap Direction true means XCAD or ZIL is the input to the swap, false means XCAD or ZIL is the output
Get Transactions - /transactions
Get transactions for all pools. Transactions include swaps and liquidity changes.
http://localhost:3010/transactions
https://rewards-api.xcadnetwork.com/transactions
per_page
The number of records per page (default 10, max 50)
page
The page to retrieve - Paging
address
The address of the initiator, Bech32 format - Filter by user address
pool
The identifier of the pool, Bech32 address for ZIL-ZRC2 pools - Filter by pool
pool
The identifier of the pool, XCADHash,TokenHash for XCAD-ZRC2 pools - Filter by pool
is_incoming
The swap direction, true for Sell, false for Buy - Filter by Sell or Buy
Examples
per_page
http://localhost:3010/transactions?per_page=50
https://rewards-api.xcadnetwork.com/transactions?per_page=50
page
http://localhost:3010/transactions?page=2
https://rewards-api.xcadnetwork.com/transactions?page=2
address
http://localhost:3010/transactions?address=zil144x80aulkm468jxul3twhu2zzfzcjql6suhma5
https://rewards-api.xcadnetwork.com/transactions?address=zil19e24266mg4pmxzvm24v92c53lfd4kd4cadc6xl
https://rewards-api.xcadnetwork.com/transactions?address=zil1dmqtvyp3paq08m466mecuya650xhxh3jx3mmyf
pool (ZIL)
http://localhost:3010/transactions?pool=zil1zlypy5aemcs8expcrsx28jz09523j2x8l0qy4s
https://rewards-api.xcadnetwork.com/transactions?pool=zil1z5l74hwy3pc3pr3gdh3nqju4jlyp0dzkhq2f5y
pool (XCAD)
http://localhost:3010/transactions?pool=0x17c81253b9de207c98381c0ca3c84f2d151928c7,0xd534e4e0ea00d72c8ab5641e80234af531238650
https://rewards-api.xcadnetwork.com/transactions?pool=0x153feaddc48871108e286de3304b9597c817b456,0x818ca2e217e060ad17b7bd0124a483a1f66930a9
Sell
http://localhost:3010/transactions?is_incoming=true
https://rewards-api.xcadnetwork.com/transactions?is_incoming=true
Buy
http://localhost:3010/transactions?is_incoming=false
https://rewards-api.xcadnetwork.com/transactions?is_incoming=false
Sample Data
token_address - XCAD pools
The pool identifier, XCADTokenHash,TokenHash Hex format
token_address - Zil pools
The pool identifier, TokenAddress Bech32 format
tx_type
Transaction type "liquidity" or "swap"
tx_type = liquidity
change_amount - XCAD Pools
The amount of Liquidity added or removed (negative value). For XCAD Pool this is XCAD amount
chnage_amount - Zil Pools
The amount of Liquidity added or removed (negative value). For Zil Pool this is ZIL amount
tx_type = swap
zil_amount
The amount of XCAD or ZIL, this field is overloaded, for XCAD pools it means XCAD, for Zils pool it means ZIL
token_amount
The amount of token
swap0_is_sending_zil
The Swap Direction true means XCAD or ZIL is the input to the swap, false means XCAD or ZIL is the output
Get Distribution Info - /distribution/info
Get details about all active distributions. This info is coming from the config.yml
https://rewards-api.xcadnetwork.com/distribution/info
Sample Data
Distribution Data Generation - /distribution/generate/{id}
Generate the rewards distribution data for the given Distributor.
This needs to run at the end of each epoch to generate data for that epoch and save it to the database
id: is the index into the list of distributor configurations in the config.yml file it is 0 indexed - first config is number 0
https://rewards-api.xcadnetwork.com/distribution/generate/0
Sample Data
The data returned is simply the root of the generated Merkle tree.
Get Distribution Data for Epoch - /distribution/data/{distributor_address}/{epoch_number}
Get distribution information for a given epoch
https://rewards-api.xcadnetwork.com/distribution/data/{DistributorHash}/{epoch_number}
distributor_address
The distribution contract address in hex.
epoch_number
The epoch number to get data for. ( number between 0 and total_epochs
address
The address of the initiator, Bech32 format - Filter by user address
http://localhost:3010/distribution/data/0x4a28a0b3d3fc98a52fc128e3cd40c77a88da696e/0
https://rewards-api.xcadnetwork.com/distribution/data/0x96c300ce0697e3524190943cd05681d7abe7c1ca/0
https://rewards-api.xcadnetwork.com/distribution/data/0x96c300ce0697e3524190943cd05681d7abe7c1ca/1
address
https://rewards-api.xcadnetwork.com/distribution/data/0x96c300ce0697e3524190943cd05681d7abe7c1ca/1?address=zil19e24266mg4pmxzvm24v92c53lfd4kd4cadc6xl
https://rewards-api.xcadnetwork.com/distribution/data/0x96c300ce0697e3524190943cd05681d7abe7c1ca/1?address=zil1dmqtvyp3paq08m466mecuya650xhxh3jx3mmyf
Sample Data
distributor_address
The address of the rewards distributor smart contract, Hex format
epoch_number
The epoch number that this data applies to
address_bech32
The address of the user to be rewarded, Bech32 format
address_hex
The address of the user to be rewarded, Hex format
amount
The amount of token to reward this user for this epoch, the reward token is defined Distribution Info
proof
The Merkle branch for this user's reward for this epoch. Each node is separated by a space ' '.
The first node is he hash of the users address and the rewards amount ( the leaf), the last node is the Merkle root.
Removing the leaf and the root, all the remaining nodes is the Merkle proof that can used to claim the rewards from the distributor smart contract
Get Estimated Distribution Amount - /distribution/estimated_amounts/{user_address}
Get the estimated amount of rewards for the current epochs for all distribution for the given address. Given a user address return list of Pools and Estimated reward amount for the current epoch
https://rewards-api.xcadnetwork.com/distribution/estimated_amounts/BECH32Address
user_address
The address of the initiator, Bech32 format - Filter by user address
address
http://localhost:3010/distribution/estimated_amounts/zil144x80aulkm468jxul3twhu2zzfzcjql6suhma5
https://rewards-api.xcadnetwork.com/distribution/estimated_amounts/zil19e24266mg4pmxzvm24v92c53lfd4kd4cadc6xl
https://rewards-api.xcadnetwork.com/distribution/estimated_amounts/zil1dmqtvyp3paq08m466mecuya650xhxh3jx3mmyf
Sample Data
"0x96c300ce0697e3524190943cd05681d7abe7c1ca"
Adddress of the Reward Distributor Smart Contract
"zil1z5l74hwy3pc3pr3gdh3nqju4jlyp0dzkhq2f5y"
ZIL pool, in this example ZIL-XCAD pool
135535305328410623
Amount of token reward for this user from ZIL-XCAD pool
"0x153feaddc48871108e286de3304b9597c817b456,0x818ca2e217e060ad17b7bd0124a483a1f66930a9"
XCAD ppol, in this example XCAD-zUSDT pool
309029689620617248
Amount of token reward for this user from XCAD-zUSDT pool
Get Distribution Data for Address - /distribution/claimable_data/{user_address}
Get unclaimed distributions for the given address. Return data is required for making reward claims.
http://rewards-api.xcadnetwork.com/distribution/claimable_data/zil150uv303w8ttzcml8w200ptzq957637wel8p8ev
user_address
The address of the initiator, Bech32 format - Filter by user address
address
http://localhost:3010/distribution/claimable_data/zil144x80aulkm468jxul3twhu2zzfzcjql6suhma5
https://rewards-api.xcadnetwork.com/distribution/claimable_data/zil19e24266mg4pmxzvm24v92c53lfd4kd4cadc6xl
https://rewards-api.xcadnetwork.com/distribution/claimable_data/zil1dmqtvyp3paq08m466mecuya650xhxh3jx3mmyf
Sample Data
distributor_address
The address of the rewards distributor smart contract, Hex format
epoch_number
The epoch number that this data applies to
address_bech32
The address of the user to be rewarded, Bech32 format
address_hex
The address of the user to be rewarded, Hex format
amount
The amount of token to reward this user for this epoch, the reward token is defined Distribution Info
proof
The Merkle branch for this user's reward for this epoch. Each node is separated by a space ' '.
The first node is he hash of the users address and the rewards amount ( the leaf), the last node is the Merkle root.
Removing the leaf and the root, all the remaining nodes is the Merkle proof that can used to claim the rewards from the distributor smart contract
TODO: get sample data
Get Claims - /claims
Get all claims, optionally filtered by address and/or distributor address
Get records of rewards claims the users made
https://rewards-api.xcadnetwork.com/claims
per_page
The number of records per page (default 10, max 50)
page
The page to retrieve - Paging
address
The address of the initiator, Bech32 format - Filter by user address
distr_address
The Reward Distribuitor address, TODO: WhichFromat? Bech32 address - Fillter by distributor address
epoch_number
The epoch number - Filter by epoch
Examples
per_page
http://localhost:3010/claims?per_page=50
https://rewards-api.xcadnetwork.com/claims?per_page=50
page
http://localhost:3010/claims?page=2
https://rewards-api.xcadnetwork.com/claims?page=2
address
http://localhost:3010/claims?address=zil144x80aulkm468jxul3twhu2zzfzcjql6suhma5
https://rewards-api.xcadnetwork.com/claims?address=zil19e24266mg4pmxzvm24v92c53lfd4kd4cadc6xl
https://rewards-api.xcadnetwork.com/claims?address=zil1dmqtvyp3paq08m466mecuya650xhxh3jx3mmyf
distr_address
http://localhost:3010/claims?distr_address=TODO:
https://rewards-api.claims.com/liquidity_changes?distr_address=TODO:
epoch_number
http://localhost:3010/claims?epoch_number=0
https://rewards-api.xcadnetwork.com/claims?epoch_number=0
Sample Data
Last updated