# NAV DeFi Composable

Dynamically returns values for a given position at a given contract address.

* Contract Address, e.g. 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984
* Function Signature, e.g. getPostitionValueInUSD(address,address,uint)
* Encoded Function Input Data, e.g. Not generalisable&#x20;
* Decimals Used for Return Value, e.g. 18
* Are Values Returns in an Array, e.g. true
* Desired Index in Array, e.g. 2
* Size of Array, e.g. 5
* Type of Data Returned, e.g. UINT256
* Is Negative, e.g. false&#x20;

{% hint style="info" %}
If a protocol contract doesn't directly have functions that would enable computing the value of the composable vault position (eg. Uni V3 LP), read-only contracts with compute logic and suitable functions are deployed. These can then be referenced in a NAV DeFi Composable method.
{% endhint %}
