Algodex Documentation
  • Algodex Documentation
  • Algodex
    • Algodex FAQ
    • Trading Guide
    • Trading Bot Guide
    • Token Listing Guide
  • Algodex Mailbox
    • Mailbox FAQ
    • Mailbox User Guide
  • Rewards Program
    • ALGX Liquidity Rewards Program
    • Community Leadership
    • ALGX Tokenomics
  • Developer Tools
    • Algodex SDK v2
      • Tutorial : Placing Orders
      • Tutorial: Order book
      • Tutorial: Closing Orders
    • Algodex API v1
  • Archives
    • Algodex Whitepaper v1
    • ALGX Airdrop Plan
    • Testnet Liquidity Rewards
  • App Links
    • Algodex
    • Algodex Mailbox
    • Rewards
    • Support
  • social media links
    • REDDIT
    • TWITTER
    • DISCORD
    • TELEGRAM
    • GITHUB
Powered by GitBook
On this page
  • 💱 Algodex API
  • Endpoints
  • 📝 API Documentation
  • Fetch Asset Orders
  • Fetch Wallet Orders
  • Fetch Asset TradeHistory
  • Fetch Wallet TradeHistory
  • Fetch Asset Chart
  • Search Assets
  • Fetch Wallet Assets
  • Fetch Assets
  1. Developer Tools

Algodex API v1

PreviousTutorial: Closing OrdersNextAlgodex Whitepaper v1

Last updated 2 years ago

💱 Algodex API

The following is the 1.0 backend API for Algodex. This is a DeFi service to allow users to trade assets on the Algorand network directly between each other, with wallets hosted elsewhere on MyAlgo Wallet.

The 2.0 backend is a major architectural refactoring and is currently under development.

Endpoints

Algodex Mainnet: https://app.algodex.com/[api here]

Algodex Testnet: https://testnet.algodex.com/[api here]

📝 API Documentation

Fetching a list of all orders for an ASA

Params

  • assetId: the asset ID to search orders for

  • getAssetInfo (optional): set to true to also return asset information

Example

Fetch Asset Orders

GET https://testnet.algodex.com/algodex-backend/orders.php

Returns orders for an asset

Query Parameters

Name
Type
Description

assetID*

22295876

{
   "sellASAOrdersInEscrow":[
      {
         "assetLimitPriceInAlgos":"9000.000000000000",
         "asaPrice":"9000.000000000000",
         "assetLimitPriceD":9000,
         "assetLimitPriceN":1,
         "algoAmount":498000,
         "asaAmount":987,
         "assetId":22295876,
         "appId":22045522,
         "escrowAddress":"ZJO7QGK3KASYG35D5N4CSX76OKPQLLTLJ6CZ6YTEG4GGT2OC235UJI3U6M",
         "ownerAddress":"ACWISBRHEYQKVILSCEDNWCNOSTMIOQIHV3KLPBXHDZAJHVZT7AYM6PE6ZE",
         "version":6,
         "minimumExecutionSizeInAlgo":0,
         "round":20353010,
         "unix_time":1647328756,
         "formattedPrice":"900.000000",
         "formattedASAAmount":"0.00987",
         "decimals":5
      },
      // More...
   ],
   "buyASAOrdersInEscrow":[
      {
         "assetLimitPriceInAlgos":"10.000000000000",
         "asaPrice":"10.000000000000",
         "assetLimitPriceD":10,
         "assetLimitPriceN":1,
         "algoAmount":4530000,
         "asaAmount":0,
         "assetId":22295876,
         "appId":22045503,
         "escrowAddress":"7ULXUOXU5XQ76G2QZL5ZGQZMCFJBBXU72ZCDIS5KCCDHAOLZDW4XS5HNBQ",
         "ownerAddress":"AK6WGVO34V2QPTXCJYNDZC32ZQQCZMTC3SRYPWQR4CCW266YX2CKL6H3W4",
         "version":6,
         "minimumExecutionSizeInAlgo":0,
         "round":22651961,
         "unix_time":1657060128,
         "formattedPrice":"1.000000",
         "formattedASAAmount":"4.53000",
         "decimals":5
      },
      // More...
   ]
}

Fetching a list of orders for a wallet

Params

  • ownerAddr: the owner address to search orders for

  • getAssetInfo (optional): set to true to also return asset information

Example

Fetch Wallet Orders

GET https://testnet.algodex.com/algodex-backend/orders.php

Returns orders for a wallet

Query Parameters

Name
Type
Description

ownerAddr*

{address}

{
    // Response
    
    "sellASAOrdersInEscrow":[],
    "buyASAOrdersInEscrow":[]
}

Fetching the trade history for an ASA

Params

  • assetId: the asset ID to search the trade history for

  • getAssetInfo (optional): set to true to also return asset information

Example

Fetch Asset TradeHistory

GET https://testnet.algodex.com/algodex-backend/trade_history.php

Returns trade history for asset

Query Parameters

Name
Type
Description

assetId

22295876

{
   "transactions":[
      {
         "PK_trade_history_id":666370,
         "transaction_id":null,
         "group_id":"jBVPEG4TgT8yxfC24lIqX6uKuo1nXy9tTX3b\/zlp8jk=",
         "unix_time":1657975266,
         "block_round":22863925,
         "application_id":22045503,
         "asset_id":22295876,
         "asaPrice":"10.000000000000",
         "algoAmount":2000,
         "asaAmount":200,
         "asaBuyerAddress":"AK6WGVO34V2QPTXCJYNDZC32ZQQCZMTC3SRYPWQR4CCW266YX2CKL6H3W4",
         "asaSellerAddress":"WE3IEXZEVEM63WYRA352BKEYN3F5I3ITNCJMKGUUROCNA3G5LEGDGJJDMQ",
         "tradeType":"sellASA",
         "formattedPrice":"1.000000",
         "formattedASAAmount":"0.00200"
      },
      // More...
   ]
}

Fetching the trade history for a wallet

Params

  • ownerAddr: the owner address to search the trade history for

  • getAssetInfo (optional): set to true to also return asset information

Example

Fetch Wallet TradeHistory

GET https://testnet.algodex.com/algodex-backend/trade_history.php

Query Parameters

Name
Type
Description

ownerAddr*

{address}

Wallet address

getAssetInfo

true

Boolean Query param

// Example response
{
   "allAssets": [
      {
         "created-at-round":15917936,
         "deleted":false,
         "index":22060777,
         "params":{
            "clawback":"XTEI2ZFNQJVFNOKZIS5WN7OVOKCUKGVL5MEBYSIVUXI76NAPR4G3KPFOJI",
            "creator":"XTEI2ZFNQJVFNOKZIS5WN7OVOKCUKGVL5MEBYSIVUXI76NAPR4G3KPFOJI",
            "decimals":2,
            "default-frozen":false,
            "freeze":"XTEI2ZFNQJVFNOKZIS5WN7OVOKCUKGVL5MEBYSIVUXI76NAPR4G3KPFOJI",
            "manager":"XTEI2ZFNQJVFNOKZIS5WN7OVOKCUKGVL5MEBYSIVUXI76NAPR4G3KPFOJI",
            "name":"WaveCoin",
            "name-b64":"V2F2ZUNvaW4=",
            "reserve":"XTEI2ZFNQJVFNOKZIS5WN7OVOKCUKGVL5MEBYSIVUXI76NAPR4G3KPFOJI",
            "total":20000000,
            "unit-name":"WAVE",
            "unit-name-b64":"V0FWRQ==",
            "url":"https:\/\/glasswave.co\/wavecoin",
            "url-b64":"aHR0cHM6Ly9nbGFzc3dhdmUuY28vd2F2ZWNvaW4="
         }
      }
    ],
    "transactions": [
        {
            "PK_trade_history_id": 666444,
            "transaction_id": null,
            "group_id": "B8kNQ9\/V\/GesMBDGLpfA69jOxZM2TBaC5B6VkFFcWT0=",
            "unix_time": 1658130896,
            "block_round": 22900760,
            "application_id": 22045503,
            "asset_id": 22060777,
            "asaPrice": "90000.000000000000",
            "algoAmount": 900000,
            "asaAmount": 10,
            "asaBuyerAddress": "ZXPEYJMWFLULILWJHWB3Y6DFI4ADE7XVMGARAH734ZJ5ECXAR4YVMRZ4EM",
            "asaSellerAddress": "TQS4D62BRXX6XQY72EESMUPYVNN45MP2UYHNXP7UTFKOMINDTJCC3N5XWU",
            "tradeType": "buyASA",
            "formattedPrice": "9.000000",
            "formattedASAAmount": "0.10"
        },
    ]
}

Fetching all recently traded ASAs, their prices, and information

Params

None currently. This will eventually have different sort parameters.

Fetching chart info for an ASA

This currently returns the trades aggregated for the daily frequency. This will eventually different chart options

Params

assetId: the asset ID to get the chart information for chartTime: Time interval to pick from ['1m', '5m', '15m', '1h', '4h', '1d']

Example

Fetch Asset Chart

GET https://testnet.algodex.com/algodex-backend/charts2.php

Returns chart for an Asset

Query Parameters

Name
Type
Description

assetId*

15322902

Asset ID

chartTime*

15m

Can be either of ['1m', '5m', '15m', '1h', '4h', '1d']

{
   // Response
   "current_price":"758.006622516556",
   "previous_trade_price":"758.006622516556",
   "last_period_closing_price":"758.006622516556",
   "asset_info":{
      "asset":{
         "created-at-round":13596306,
         "deleted":false,
         "index":15322902,
         "params":{
            "clawback":"PBSSJ2W6FDXVRPT4L4FGHTX2IHY3VREI44SB7VJTVT75UT6ER3CTVD6B74",
            "creator":"PBSSJ2W6FDXVRPT4L4FGHTX2IHY3VREI44SB7VJTVT75UT6ER3CTVD6B74",
            "decimals":6,
            "default-frozen":false,
            "freeze":"PBSSJ2W6FDXVRPT4L4FGHTX2IHY3VREI44SB7VJTVT75UT6ER3CTVD6B74",
            "manager":"PBSSJ2W6FDXVRPT4L4FGHTX2IHY3VREI44SB7VJTVT75UT6ER3CTVD6B74",
            "name":"Lamps",
            "name-b64":"TGFtcHM=",
            "reserve":"PBSSJ2W6FDXVRPT4L4FGHTX2IHY3VREI44SB7VJTVT75UT6ER3CTVD6B74",
            "total":100000000000,
            "unit-name":"LAMP",
            "unit-name-b64":"TEFNUA=="
         }
      }
   },
   "chart_data":[
      {
         "asaVolume":0.000604,
         "algoVolume":0.457836,
         "low":"758.006622516556",
         "formatted_low":"758.006623",
         "high":"758.006622516556",
         "formatted_high":"758.006623",
         "close":"758.006622516556",
         "formatted_close":"758.006623",
         "open":"758.006622516556",
         "formatted_open":"758.006623",
         "dateTime":"2022-07-26T16:30:00Z",
         "unixTime":1658853000,
         "date":"2022-07-26"
      },
      {
         "asaVolume":0.000604,
         "algoVolume":0.457836,
         "low":"758.006622516556",
         "formatted_low":"758.006623",
         "high":"758.006622516556",
         "formatted_high":"758.006623",
         "close":"758.006622516556",
         "formatted_close":"758.006623",
         "open":"758.006622516556",
         "formatted_open":"758.006623",
         "dateTime":"2022-07-26T14:30:00Z",
         "unixTime":1658845800,
         "date":"2022-07-26"
      },
      // More...
   ],
   "spread_info":{
      "max_bid":"1801.0000",
      "min_sell":"953.0302",
      "spread":-847.9698
   }
}

Getting complete asset information for an asset that is traded or untraded

This will fetch asset for an information that is either traded or untraded

Params

  • assetId: the assetId of the asset

Searching Asset information by name or ID

This will query both Algodex and Algoexplorer and present results for both

Params

query: The query string. This can be an integer (for the asset id), or a string to search for the asset name or unit name. Partial name matches work as well.

Examples

Search Assets

GET https://testnet.algodex.com/algodex-backend/asset_search.php

Search for an asset

Query Parameters

Name
Type
Description

query*

15322902

User can query by [Asset ID, Asset Name]

[
    {
        "assetName": "Lamps",
        "unitName": "LAMP",
        "verified": false,
        "destroyed": false,
        "assetId": 15322902,
        "isTraded": true,
        "decimals": 6,
        "total": 100000000000,
        "priceChg24Pct": 0.0007417558230212168,
        "price": "758.006622516556",
        "formattedPrice": "758.006623",
        "hasOrders": true,
        "formattedASALiquidity": "140.339924",
        "formattedAlgoLiquidity": "234882.457618"
    }
]

Getting package and smart contract version

This is for checking compatibility between the client and the server. If the escrowContractVersion is different, then any orders placed into the order book will not show up in the UI!

Getting asset information for a wallet address

This will query Algodex and return all the assets belonging to a wallet, along with price information and how many are in orders

Params

  • ownerAddr: the owner address to retrieve the assets for.

Examples

Fetch Wallet Assets

GET https://testnet.algodex.com/algodex-backend/wallet_assets.php

Returns asset for a wallet

Query Parameters

Name
Type
Description

ownerAddr*

{address}

Wallet Address

{
    "allAssets": [
        {
            "assetId": 16525344,
            "amount": 48596878092,
            "asaInOrder": 0,
            "name": "Alex Play 1",
            "unit_name": "ALEX1",
            "decimals": 5,
            "formattedTotalASAAmount": "485968.78092",
            "formattedASAInOrder": "0",
            "formattedASAAvailable": "485968.78092",
            "formattedPrice": null,
            "formattedTotalAlgoEquiv": null
        },
        {
            "assetId": 24253358,
            "amount": 1,
            "asaInOrder": 0,
            "name": "AlgoDesk Test ASA",
            "unit_name": "AD-TEST",
            "decimals": 0,
            "formattedTotalASAAmount": "1",
            "formattedASAInOrder": "0",
            "formattedASAAvailable": "1",
            "formattedPrice": null,
            "formattedTotalAlgoEquiv": null
        },
    ]
}

Getting asset information for all assets

Examples

Fetch Assets

GET https://api-testnet-public.algodex.com/algodex-backend/assets.php

Return assets list

Query Parameters

Name
Type
Description

id

22295876

Asset ID (Returns single object}


// Example response without ID Query
{
   "ok":true,
   "rows":366,
   "data":[
      {
         "id":15322902,
         "unix_time":1658853136,
         "price":758.006622516556,
         "priceBefore":758.001,
         "price24Change":0.0007417558230212168,
         "isTraded":true
      },
      {
         "id":33698417,
         "unix_time":1658331321,
         "price":0.760032540259,
         "priceBefore":0.760032540259,
         "price24Change":0,
         "isTraded":true
      },
   ]
}

// Example response with ID Query
{
   "ok":true,
   "rows":1,
   "data":[
      {
         "id":22295876,
         "unix_time":1657975266,
         "price":10,
         "priceBefore":10,
         "price24Change":0,
         "isTraded":true
      }
   ]
}

https://testnet.algodex.com/algodex-backend/orders.php?assetId=15322902
https://testnet.algodex.com/algodex-backend/orders.php?ownerAddr=SPFRPFCZR4OSKKTCNGY5KOCS55RXWC6VJYU7SGQ4EUEVFIDUPAL4EKLJ3Q
https://testnet.algodex.com/algodex-backend/trade_history.php?assetId=15322902
https://testnet.algodex.com/algodex-backend/trade_history.php?ownerAddr=SPFRPFCZR4OSKKTCNGY5KOCS55RXWC6VJYU7SGQ4EUEVFIDUPAL4EKLJ3Q
https://testnet.algodex.com/algodex-backend/charts2.php?assetId=15322902&chartTime=15m
https://testnet.algodex.com/algodex-backend/asset_search.php?query=15322902
https://testnet.algodex.com/algodex-backend/asset_search.php?query=LAMP
https://testnet.algodex.com/algodex-backend/asset_search.php?query=DOUG
https://testnet.algodex.com/algodex-backend/asset_search.php?query=LAM
https://testnet.algodex.com/algodex-backend/wallet_assets.php?ownerAddr=WYWRYK42XADLY3O62N52BOLT27DMPRA3WNBT2OBRT65N6OEZQWD4OSH6PI
algodex-php
https://api-testnet-public.algodex.com/algodex-backend/assets.phpapi-testnet-public.algodex.com