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.47.tar.gz (60.4 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.47-cp312-cp312-win_amd64.whl (322.1 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.47-cp312-cp312-win32.whl (287.7 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.47-cp312-cp312-musllinux_1_2_x86_64.whl (604.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.47-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (606.1 kB view details)

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

dao_treasury-0.0.47-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (636.9 kB view details)

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

dao_treasury-0.0.47-cp312-cp312-macosx_11_0_arm64.whl (382.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.47-cp311-cp311-win_amd64.whl (318.0 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.47-cp311-cp311-win32.whl (283.9 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.47-cp311-cp311-musllinux_1_2_x86_64.whl (577.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.47-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (582.5 kB view details)

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

dao_treasury-0.0.47-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (592.8 kB view details)

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

dao_treasury-0.0.47-cp311-cp311-macosx_11_0_arm64.whl (378.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.47-cp310-cp310-win_amd64.whl (318.6 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.47-cp310-cp310-win32.whl (284.7 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.47-cp310-cp310-musllinux_1_2_x86_64.whl (589.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.47-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (594.0 kB view details)

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

dao_treasury-0.0.47-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (604.5 kB view details)

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

dao_treasury-0.0.47-cp310-cp310-macosx_11_0_arm64.whl (383.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.47.tar.gz
  • Upload date:
  • Size: 60.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for dao_treasury-0.0.47.tar.gz
Algorithm Hash digest
SHA256 0a3e144f074510d408aa5f02e58783a34e2a1353929d1a2d1b3fcf7c3a30e6b5
MD5 61567181c3a5eeb0696fb51c8235e8af
BLAKE2b-256 1df3f22c1a89eabb9986dcd5b87f6be13bd820007fe378fbfd43f6825aba4b53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.47-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ec5e9466c03b52bfaa8c279394c432ca75d04aa82ccb59fcf78b5bad95df5a05
MD5 0a5dd019e6fd102fa1601c1a45477cb6
BLAKE2b-256 7f7ef61322fcd1c1bdabaa35e6fcd3638c27a03be32d8611c9a08bb685edb335

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.47-cp312-cp312-win32.whl
  • Upload date:
  • Size: 287.7 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for dao_treasury-0.0.47-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 017bf24e18ff531065e574f76db4c0f6b5073f210fc3bd02ecd0e57ad42abdae
MD5 4f4a0a304af03fcef0241c2a7c3daaaf
BLAKE2b-256 e329da6b74469a46a3c9f260670133e117ac6b4c683ec6a7470f979d4a2baee9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.47-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a87c59e0a266d0cf10f215c504121f47e1e4eb241460a887a195905539e54f1b
MD5 54fcf720a1d11f57e2877f807e89a88f
BLAKE2b-256 a154bd5139f5a9a9712643010a828cfd86c1e9cf060bd190260cbbeb491aa4f4

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.47-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.47-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0e2659512f665116414eb91556e4bf40467218d63addef233aaed417f0ddea7f
MD5 64ba3f552f935292ec0abd8464617bee
BLAKE2b-256 8a7ec69ec4b77a6493640e35161a665165926148a4e0758173478b26f67b33c7

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.47-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.47-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 cb8c4053ac3683b9f39f8a130b53194e76f879b244c2f9ba9861f9e9c22c8920
MD5 bf7eba40fff8578cd0ba12f6bfaacd68
BLAKE2b-256 fdf69fc6ed01fe18b98981de4a4d86710ff30c2dad416c4e86aea962acbb821d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.47-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3634da3fd69fe2559a200ed775bd081b0f97dcdb2b998d832412bd48127ecdad
MD5 bf76704e831bb4848d7acec84b227fa2
BLAKE2b-256 5587ad882aa9cbb8826f78bbeb2c72bcdbe849b7f761dfcec7c70c3fccc1debe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.47-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a0f96716ad72dedb7b4eafb85c1f8ce794772e69831f4fba322252f564425307
MD5 62146f13c76f838676da0df528ab57f5
BLAKE2b-256 d91b5e2d8245cdb521f1ad83339c71f560c8b79244343f3d7bbdb15124b9021d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.47-cp311-cp311-win32.whl
  • Upload date:
  • Size: 283.9 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for dao_treasury-0.0.47-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 8bf54186b374e3685ffbd36982b9043d244f87b0adbf4dd1a20f6ef46d1a1b0f
MD5 f91ac4dad670466ccfbfc44a6d6295e3
BLAKE2b-256 74500375046a7648b752c223aea1434dbfe7aefdb9bda4943314fba7df01c682

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.47-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6ef6af5dca6a857a3b43860291b07ec0cfd72d8d0204372ce301ca1aa966052f
MD5 a556cf485e6945434010d356eb3a6ab0
BLAKE2b-256 a2bab2c4793ca994c6590c28da64f291904c8049a1dbacef694553c2aa88ff0d

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.47-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.47-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 db36c358821ac0043fa894bd3afa604201b2a18721941955dc3b32cff342bbe5
MD5 ca2a7ce9b8bae3dc43395f94936801b5
BLAKE2b-256 dc25060f5ee558ecd775bcadcc900c6cb6a7e24935b97cb4ea00098ce16a78fb

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.47-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.47-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 2f46c4137a57f4a86a604322ab26e0db15aebe4dd2cbf99020514f79c2067d1f
MD5 de9939a2332b918a91f324e961ab581d
BLAKE2b-256 be1524ad1aba086e3d7a7946a582d9ae8757652959e640fabf5cb85fc91cc985

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.47-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6359df205262540744e711cfdd9435ebbf1b58e08d819ddd60b546c31bf97ffd
MD5 651b3cb56eeffa0d86bdad533c6d963e
BLAKE2b-256 ac3a07413215df2e33047aaca587489fcdb7257d69ec9110ebe94ed123083b5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.47-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0834617dfcb4dfa02a6cb5b8a1e863cae1582614c6f4ab2144d8a5db380604c0
MD5 d097deda5f3deff5c4791042601ee070
BLAKE2b-256 61ceea67f854fbc391c119ddf273f315abf253ed98844439880935d09e2a66a8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.47-cp310-cp310-win32.whl
  • Upload date:
  • Size: 284.7 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for dao_treasury-0.0.47-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 54579399d89e77694e24f37073ff7fb6328f4f83127fc93cbbba9063e261b021
MD5 2141de0bfbe16edc0a308ce64325cefe
BLAKE2b-256 d1bd08dfe85f51d7b705f4c1b68639d1d45b4425acfe2cead7ed549ee5da2aea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.47-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ef22ad867ce9f50d2b64e77a8c19362de7663e5d808fb14660714dbf6aeba0c9
MD5 d5d2d20180573af712aab883080948d6
BLAKE2b-256 ebce61966924c12fba301f261b137521037ed457799e3beb8d2612bc9a06d7b2

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.47-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.47-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e6052e67b3065d3e67ddbf6179f0261902a9e5cba4cd14df71325be6ed7c8248
MD5 bad54e1bfb9a194e947f11ac5f496848
BLAKE2b-256 0b0342b70bbabb6e0a2154f6019ebdfdac6f5fda0036965f0a7be92b3cc068f0

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.47-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for dao_treasury-0.0.47-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 c9d0df46fd7a2a85b96cb71e764314493081891d96e816851d5616a0a4c31f55
MD5 a0f5db682570b36df87ea61761abdbbe
BLAKE2b-256 8d75b6fd0e2627925be3180cf6887028d12979a8ad2a91403a67e8ca9b9bda38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.47-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca65b9938f5a8169f680844d943bfa4ef48cde67bd81db480195ff333515aa21
MD5 80dc8ca1dca96d83daff75b84a311745
BLAKE2b-256 89c14d79835cc0775d46111ba7e46ac9f29ee62f54e54c11aa1b5f47ad4c55f8

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