# Aragon Proposal: Adopt and Implement EIP-4824 for Aragon DAOs across networks
> **TL:DR:**
> Aragon Subgraph API returns Null value for daoURI param. DAOstar has created a DAO URI for each Aragon DAO per network. We need help from Aragon's tech team to help set the DAO URI on chain for each Aragon DAO and handle the event in subgraph so that the subgraph API returns the DAO URI for each DAO.
In Aragon docs, we see a reference to EIP-4824 function implementation for Aragon OSX. Although this function exists, the data returned by this function is `'null'`
We know this by querying Aragon's Subgraph API.
For Example,
Endpoint: https://subgraph.satsuma-prod.com/qHR2wGfc5RLi6/aragon/osx-baseMainnet/version/v1.4.0/api
Query: `query ($first: Int) {
daos(first: $first) {
id
daoURI
metadata
}
}`
Response:
```
{
"data": {
"daos": [
{
"id": "0x004110a864efb1dc1b5b165adc1225c085b1445f",
"daoURI": null,
"metadata": "ipfs://QmZQn5NFaPntXFk88sCEcWbHtzv4Q2vq6nkDgvddStnVMY"
},
{
"id": "0x008f11197ce2c5074bf29184b157a562246dc57e",
"daoURI": null,
"metadata": "ipfs://Qmci82j3u78m46Uo79oaacM3mnCvKp1aaYqCpo1LptkrYD"
}
]
}
}
```
### ToDo: Set DAO URI for Aragon DAO
We want to set DAO URI for each Aragon DAO, this is a two step process
1. Create a DAO URI after the DAO creation
2. Set the DAO URI param in the DAO contract
Here is a way we could do this,
DAOstar has hosted an API endpoint on behalf of Aragon which queries subgraph endpoints of Aragon for all networks, and structures the information per DAO according to EIP-4824 schema, essentially creating a DAO URI JSON-LD for each Aragon DAO per Network
DAOstar created the DAO URIs on behalf of Aragon, they need to set it in their contract and handle the event in subgraph.
### Aragon DAO URI API Documentation
API: https://aragon-dao-uri.onrender.com/
Code: https://github.com/metagov/Aragon-DAOURI-API
#### Endpoint: `/aragon_dao/<network>/<dao_id>`
Description: Fetches specific DAO details based on the network and DAO ID.
Method: GET
URL Structure: https://aragon-dao-uri.onrender.com/aragon_dao/<network>/<dao_id>
Path Parameters:
```
network: The network the DAO is on. Refer to the list of available networks above.
dao_id: The unique identifier of the DAO. This is a part of the URL path. Ex: 0x02bbc496bebc9a06c239670cea663c43cead899f
```
Demo: https://aragon-dao-uri.onrender.com/aragon_dao/base/0x0410dc50303aecd1c67f931408bf76fbd8c65457
Reponse:
```
{
"@context": "http://www.daostar.org/schemas",
"activityLogURI": "https://app.aragon.org/#/daos/base/0x0410dc50303aecd1c67f931408bf76fbd8c65457/dashboard",
"contractsRegistryURI": "https://app.aragon.org/#/daos/base/0x0410dc50303aecd1c67f931408bf76fbd8c65457/settings",
"description": "https://ipfs.io/ipfs/QmSVQaBBkSwcpuU43rBCASGitrb7uh9FDXFSfDCQpZNMaY",
"governanceURI": "https://app.aragon.org/#/daos/base/0x0410dc50303aecd1c67f931408bf76fbd8c65457/governance",
"issuersURI": "https://aragon.org/",
"membersURI": "https://app.aragon.org/#/daos/base/0x0410dc50303aecd1c67f931408bf76fbd8c65457/community",
"name": "0x0410dc50303aecd1c67f931408bf76fbd8c65457",
"proposalsURI": "https://app.aragon.org/#/daos/base/0x0410dc50303aecd1c67f931408bf76fbd8c65457/governance",
"type": "DAO"
}
```
### 1. Set DAO URI in the DAO Proxy Contract
`daoURI` param needs to be set for the DAO Contract on Each Network
https://devs.aragon.org/docs/osx/reference-guide/core/dao/#internal-function-_setdaouri
### 2. Set DAO URI, in the subgraph so that Aragon Subgraph API returns a NaN string
Create a function to listen to `NewURI` event and set `daoURI` param
https://devs.aragon.org/docs/osx/reference-guide/core/dao/#event-newuri
https://github.com/aragon/osx/blob/1f4aa060bdf11293d99436d46d56340a3e82113d/packages/subgraph/src/registries/daoRegistry.ts