---
# System prepended metadata

title: API R&D

---

# API R&D

```json
{
    "currencies": ["USD", "AED"]
    "evm": [
        "0xA367C471fFEdbB3230793e0aaf045c38e57eDf98",
        "0xA367C471fFEdbB3230793e0aaf045c38e57eDf98"
    ],
    "evmos": [
      "haqq154x38zzgec....ppqafx5hxqzj",
      "haqq154x38zzgec....pqafx5hxqzj"
    ],
    "juno": [
      "juno154x38zz...5hxqzj",
    ]
}
```

Uniswap V3
Compound V3
Alpha Homora V2
Aave V2/V3 
Yearn V2
Lido
1inch


```json
{
    "0xA367C471fFEdbB3230793e0aaf045c38e57eDf98": [
        {
            "network": "arbitrum"
            "assets": [{
                "name": "Ethereum"
                "symbol": "ETH",
                "balance": 0.0000012 //  
                "price": [
                    {
                        currency: 'usd',
                        price: 10                    
                    }, {
                        currency: 'aed',
                        price: 12                    
                    }    
                ]
            }]
        },
        {
            "network": "arbitrum"
            "assets": [{
                "symbol": "",
                "price": ""
            }]
        }
    ],
    "haqq154x38zzgec....ppqafx5hxqzj": [{
        "network": "haqq",
        "assets": [{
            "symbol": "",
            "price": ""
        }]
    }],
}
```


```ts
interface BalanceRequest {
    [chain: string]: Array<string>
}

type Price = {
    currency: string,
    price: number
}

type BalanceResponse = Array<{
    address: string
    balances: Array{
        network: string,
        assets: Array<Token>
    }
}>

type DefiResponse = Array<{
    address: string,
    protocols: Array{
        network: string,
        name: string,
        positions: Array<Positions>
    }
}>


type Positions = FarmingPosition | LockedPosition | StakedPosition;

type FarmingPosition = {
    type: 'farming',
    rewards: Array<PositionAmount>,
    supply: Array<PositionAmount>,
}

type LockedPosition = {
    type: 'locked',
    supply: Array<PositionAmount>,
}

type StakedPosition = {
    type: 'stake',
    supply: Array<PositionAmount>,
}

type PositionAmount = {
    amount: number,
    token: Token,
}

type Token = {
    symbol: string,
    name: string,
    price: Array<Price>
}

```



