Skip to main content

Produce comprehensive financial reports for your on-chain org

Project description

DAO Treasury is a comprehensive financial reporting and treasury management solution designed specifically for decentralized organizations. Built as an extension to eth-portfolio's Portfolio Exporter, DAO Treasury automates the collection and visualization of financial data, enabling organizations to monitor and report on treasury activities with clarity and transparency.

Key Features

  • Financial Reporting for DAOs: Extends core portfolio functionalities to generate detailed reports tailored for on-chain organizations.
  • Dashboard Provisioning: Utilizes Grafana dashboards—defined in JSON files within the .grafana/provisioning directories—to offer real-time, dynamic visualizations of treasury data.
  • Automated Data Export: Features a treasury export tool that, once configured (with a supported brownie network and Docker), continuously captures financial snapshots at set intervals.
  • Ease of Contribution: Non-technical users can easily update or create dashboard visuals using Grafana’s intuitive UI. The Contributing Guidelines document provides a step-by-step guide to defining new visuals and dashboards and integrating those changes into the repository, ensuring that anyone can contribute to the visual reporting aspect of the project.

Requirements

  • Python 3.10 or higher.
  • At least 16GB of RAM.
  • All dependencies installed as specified in the project’s pyproject.toml file.

Prerequisites

  • First, you will need to bring your own archive node. This can be one you run yourself, or one from one of the common providers (Tenderly, Alchemy, QuickNode, etc.). Your archive node must have tracing enabled (free-tier Alchemy nodes do not support this option).
  • You must configure a brownie network to use your RPC.
  • You will need an auth token for Etherscan's API. Follow their guide to get your key, and set env var ETHERSCAN_TOKEN with its value.
  • You'll also need Docker installed on your system. If on MacOS, you will need to leave Docker Desktop open while Yearn Treasury is running.

Installation

pip install dao-treasury

Usage

Run the treasury export tool:

# For pip installations:
dao-treasury run --wallet 0x123 --network mainnet --interval 12h

For local development (from source installation), use:

poetry run dao-treasury run --wallet 0x123 --network mainnet --interval 12h

CLI Options:

  • --network: The id of the brownie network the exporter will connect to (default: mainnet)
  • --interval: The time interval between each data snapshot (default: 12h)
  • --daemon: Run the export process in the background (default: False) (NOTE: currently unsupported)
  • --grafana-port: Set the port for the Grafana dashboard where you can view data (default: 3004)
  • --renderer-port: Set the port for the report rendering service (default: 8091)
  • --victoria-port: Set the port for the Victoria metrics reporting endpoint (default: 8430)
  • --start-renderer: If set, both the Grafana and renderer containers will be started for dashboard image export. By default, only the grafana container is started.

After running the command, the export script will run continuously until you close your terminal. To view the dashboards, just open your browser and navigate to http://localhost:3004!

Docker

When you run DAO Treasury, eth-portfolio will build and start 4 required Docker containers on your system. Additionally, DAO Treasury will build and start 2 more required containers:

  • grafana

    • Provides a web-based dashboard for visualizing your treasury data.
    • Pre-configured with dashboards and plugins for real-time monitoring.
    • Uses persistent storage to retain dashboard settings and data.
    • Accessible locally (default port 3004, configurable via --grafana-port).
    • Supports anonymous access for convenience.
    • Integrates with the renderer container for dashboard image export.
    • Loads dashboards and data sources automatically via provisioning files.
  • renderer

    • Runs the official Grafana image renderer service.
    • Enables Grafana to export dashboards as images for reporting or sharing.
    • Operates on port 8091 by default (configurable via --renderer-port).
    • Tightly integrated with the Grafana container for seamless image rendering.
    • Note: The renderer container is only started if you pass the --start-renderer CLI flag.

How it works:

  1. DAO Treasury collects and exports treasury data.
  2. Grafana displays this data in pre-built dashboards for analysis and reporting.
  3. The renderer container allows dashboards to be exported as images directly from Grafana (if enabled).

Additional Information:

  • All containers are orchestrated via Docker Compose and started automatically as needed.
  • Grafana provisioning ensures dashboards and data sources are set up out-of-the-box.
  • All dashboard data and settings are persisted for durability.
  • Dashboard images can be generated for reporting via the renderer (if enabled).

Screenshots

DAO Transactions Dashboard

image

Contributing

We welcome contributions to DAO Treasury! For detailed guidelines on how to contribute, please see the Contributing Guidelines.

Enjoy!

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dao_treasury-0.0.34.tar.gz (55.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dao_treasury-0.0.34-cp312-cp312-win_amd64.whl (329.0 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.34-cp312-cp312-win32.whl (291.4 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.34-cp312-cp312-musllinux_1_2_x86_64.whl (630.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.34-cp312-cp312-musllinux_1_2_i686.whl (658.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

dao_treasury-0.0.34-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (634.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

dao_treasury-0.0.34-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (668.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

dao_treasury-0.0.34-cp312-cp312-macosx_11_0_arm64.whl (322.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.34-cp311-cp311-win_amd64.whl (324.8 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.34-cp311-cp311-win32.whl (288.5 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.34-cp311-cp311-musllinux_1_2_x86_64.whl (604.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.34-cp311-cp311-musllinux_1_2_i686.whl (615.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

dao_treasury-0.0.34-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (609.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

dao_treasury-0.0.34-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (626.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

dao_treasury-0.0.34-cp311-cp311-macosx_11_0_arm64.whl (320.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.34-cp310-cp310-win_amd64.whl (325.8 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.34-cp310-cp310-win32.whl (289.8 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.34-cp310-cp310-musllinux_1_2_x86_64.whl (616.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.34-cp310-cp310-musllinux_1_2_i686.whl (628.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

dao_treasury-0.0.34-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (619.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

dao_treasury-0.0.34-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (636.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

dao_treasury-0.0.34-cp310-cp310-macosx_11_0_arm64.whl (325.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file dao_treasury-0.0.34.tar.gz.

File metadata

  • Download URL: dao_treasury-0.0.34.tar.gz
  • Upload date:
  • Size: 55.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for dao_treasury-0.0.34.tar.gz
Algorithm Hash digest
SHA256 c51918ade8095755b74125f5a59e86ec36ee7d278ed4ef37af1c5eef9b237845
MD5 7e16459ae7383b85fd637ab6a07abcfc
BLAKE2b-256 e6b59cc75eeaefe1bccc56a99835c662804e4181b790a1838f6b1c450b157ce5

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 472ad43b4e340698ac85ad2b27791831b4c4a4c357478acd90a3151cbdf38ab0
MD5 cd2e2869104042669668fa69a4b2ab77
BLAKE2b-256 a07ba4fa5da2ca5f3af733ec868e8c63983bfcc684227bcee3451099437f075a

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp312-cp312-win32.whl.

File metadata

  • Download URL: dao_treasury-0.0.34-cp312-cp312-win32.whl
  • Upload date:
  • Size: 291.4 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for dao_treasury-0.0.34-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 4c006ea90d433fcda540e4182e14244e00b540ada94a47b35efd26cd25edb3fa
MD5 98b3bae72d06ef8cc3dfbacae7d910f8
BLAKE2b-256 f658d3aa547819b34dcfc88ddc367f26b725dfba78c995e8e37bcd53ed628af2

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e5aee40153163fa3da3dfe750fae77262f0f00165b4fce891a7a802f1f6cc82c
MD5 c1df115315e045b90d5baf926cfb48cc
BLAKE2b-256 0762349be817c42173fd73fe8a8e975e233471f96fa2a59b6e96b84cf098868c

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 040a747ce14f821cd150d037ea7fa4d652a3278ae25f38d4f6f64107cd3b5043
MD5 6fac0a9603b8f97cec7ee3ed075e9013
BLAKE2b-256 72fe19295156598277b13f2e3d4e42ceae692cc060d0766a5795d36d423ed25c

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f1cd3c5e70e08250268bd21014ba4d60e00815aee1ada961b115878a55dedc33
MD5 168101b6c9b75840a0919cf8477d2781
BLAKE2b-256 bb08e27cd52f1322e91e9f4030764084e908e47a57186fae0df146323f7e6aa5

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 bb40b6850ff0d3034c37d0ecaa8d299955746944c04ec7c0e46fe4738ab86685
MD5 2f78a45b359a8615a4b0f35419285d78
BLAKE2b-256 4cafb33e4c384f434c74f23f70715d42e9b110a70d8bd3e916a3e0328fc988a7

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 85bf4fa93f41a8eba448a15703ac45ac29e5f0fa84de99a67b7c4e1bb7b4dc34
MD5 22c1e32a3912f4c7a6543dea79b5825a
BLAKE2b-256 9685c864c3d67db1fc71e5598f04b66ddc41c468ba945364e13a6d0e75603c28

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e52c2f44e8425117b12a85741f94e831545afab86489af71688ed6f58ec069e3
MD5 86334edbfa24ee509fc177acea648e4f
BLAKE2b-256 8ba854acfe535a0aa779f72ead3f1f4f426eff53656df1c2498757d7ed7c00fa

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp311-cp311-win32.whl.

File metadata

  • Download URL: dao_treasury-0.0.34-cp311-cp311-win32.whl
  • Upload date:
  • Size: 288.5 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for dao_treasury-0.0.34-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 23d3786d46344c9cb18f151d463a84ba63d232aa81589a718cbbf0ee20f4bc4f
MD5 72c783a6c2590ec1217654b420b4dcda
BLAKE2b-256 289951d23da191ebd7b0d76653a6c38b937059b11db7d1eff5b781a43e7dcba7

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2ddabf83a63392f0d32f8acba0baa305f4a838de42a0a8018acaeed5348b9ce5
MD5 e8a2727dd481833dbe2dbf526d80c711
BLAKE2b-256 468153c9de765558174af44667d07bf9cfdd3057c1acc4adf506a84078d12fc6

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 fb6afc8bc61950f8579afee3c7e26c5483006b9c9580d19aecd1e7db786baa72
MD5 80cc34e6178450c37daff141fcabc349
BLAKE2b-256 482b6ad549f67582c9d7aa4265e798d12784b46e542284ccc62cdbd35b226d9a

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8d9f76fdbe658a938460b27e5b1cc17944ada0f4ee7e26eb41810784128141e5
MD5 e8c3e2e44501868635c5112efe026571
BLAKE2b-256 6426d01bda51133df89f7f62edb4b0e067001b22e1ddae3dd0615e6caec66536

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 fece662dbcfc83e29c076406c8a67bd9151e16c24dc130cbf391c3c7485513e9
MD5 fb28d48ac13b06b8e42e59b7b5f0b55d
BLAKE2b-256 1d0b0f3de6a07a051fea9af6180e90af9e7b802ec47b0b364673329a753ac193

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 17d60c02f27513ee3a2040ee43c67c5a1ad586f5f830956899493a39b838b472
MD5 1238f43d5443660aef87d3cb8bd00284
BLAKE2b-256 9b151357af3f4ffa9d9c301fb3eeb21a44e995430fdf050fb424ebf61b274ee3

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 090700eef85564539410d4a7cee0282f5662b2f43f70d94c6ea30ffa13f6e7fe
MD5 249b9d1fc310c46375b55c3d4188820b
BLAKE2b-256 0db15e82203863aa3d4c7add61569eee8402be041f32c12028a5640c96263edf

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp310-cp310-win32.whl.

File metadata

  • Download URL: dao_treasury-0.0.34-cp310-cp310-win32.whl
  • Upload date:
  • Size: 289.8 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for dao_treasury-0.0.34-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 cd2b079e3133b76ff546c234cf9d6fc3ff394517da905e225b75a46a7ccd4284
MD5 ac7d541c77dc3c74153f87e65ccab549
BLAKE2b-256 2a74f9c2016704747813ab88f8dba8d0bfb5d210fcaca744eb93de3b2dec8d77

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5014ac69d1668a639b6eb6b87d9af2a08f9e0c1742a87ae497c80907bfabf2ff
MD5 8f8c5cd9c11a109a72ac7249b6775c36
BLAKE2b-256 733f462e9b2077c8b1f4b60104c02dfb1949b0862e9d94c55cbb49cd55b3bbd3

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 079d5d7b8301b79018437e747c66e8c092ee35d7222ca9bc915e3ad171c5ff5a
MD5 03ba6570418f01578d84a9cbc6a5fcee
BLAKE2b-256 7c2c7c1782b154f019e0897a078acd76b309335fd9085344a7e1de2c60ba8770

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b7018fa88a595ba92b1e4ead704bedb9a64fddbc4a7e093387df76cf8098704f
MD5 b1738f9e9f71c09be71c08b51b012918
BLAKE2b-256 ccb8df26c5cc630e4dc2a51ff6e31aa3e53f6d037b857363db2c2620de40ee95

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 6696aff4ad1cf78021744190fefacd44e97adaa1b2135e5e227f652a3eed9d04
MD5 2483f92ba45df19ae54f7cb6513b05fb
BLAKE2b-256 f7f5c6d5db95767a59b02a7d6fc9064c01a5d2773f19228bba1dd63b2fcd5328

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.34-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.34-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 859e909911d12fd4862f8e15a5907b755dc98b98da4f2b182b4e7fd07ac4fb4f
MD5 4a04a21d13a858603a717431347cf4eb
BLAKE2b-256 33537c00e31d488aa526cc02b8f73a049cacb60ed4b58680eb8d4db9436f77bb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page