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.57.tar.gz (69.5 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.57-cp312-cp312-win_amd64.whl (338.1 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.57-cp312-cp312-win32.whl (303.1 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.57-cp312-cp312-musllinux_1_2_x86_64.whl (656.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.57-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (660.2 kB view details)

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

dao_treasury-0.0.57-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (689.0 kB view details)

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

dao_treasury-0.0.57-cp312-cp312-macosx_11_0_arm64.whl (413.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.57-cp311-cp311-win_amd64.whl (334.1 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.57-cp311-cp311-win32.whl (299.6 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.57-cp311-cp311-musllinux_1_2_x86_64.whl (622.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.57-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (627.1 kB view details)

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

dao_treasury-0.0.57-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (636.9 kB view details)

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

dao_treasury-0.0.57-cp311-cp311-macosx_11_0_arm64.whl (409.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.57-cp310-cp310-win_amd64.whl (334.9 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.57-cp310-cp310-win32.whl (300.4 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.57-cp310-cp310-musllinux_1_2_x86_64.whl (633.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.57-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (637.6 kB view details)

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

dao_treasury-0.0.57-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (648.5 kB view details)

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

dao_treasury-0.0.57-cp310-cp310-macosx_11_0_arm64.whl (413.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.57.tar.gz
  • Upload date:
  • Size: 69.5 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.57.tar.gz
Algorithm Hash digest
SHA256 dbe24743693c8f4ea928d9c1b00713873f903127f1f8c676784dc8b90e3fbd92
MD5 d71d90354ba1be1c774daf3ee21a26ce
BLAKE2b-256 4565ad1b42ceda525580957de6cc4609e36f75602e25c4ef45ab6ff4a56991cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.57-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c46f3ff46955730cb5e6d91a7ef55d3a5bb3b4779fe63a0f065654e7692322fb
MD5 84d74bea9c34bfa691d3a8d4cc1a6dd8
BLAKE2b-256 8ec64fa962cf17bd82134eea474e7a14082a2a481a6b00005ff063c737b56340

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.57-cp312-cp312-win32.whl
  • Upload date:
  • Size: 303.1 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.57-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 62edd57a910c8be36c887ab36beb04a4e092400445507cab4378b3f0993744ab
MD5 c45dade4863b515d830025be711ebf2b
BLAKE2b-256 d98927bed3ecf44a14474a5e1a50f966e19579f99319917a978501e49fd1ca14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.57-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4ae0f479e7e317edc5530027e0be17551435026392576ef07da7af5717504aee
MD5 a5e138d757060f71b51b1e4d2ca9d4fb
BLAKE2b-256 3487f2c3613f55ca51f57278869ce6e33a36df9d70823369c084722ff4d7f5e9

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.57-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.57-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b1d968a5da4a4ee91a25c9e57c7243a2fddf2d000237d183d0403782050e57bb
MD5 21571105b7c52f37375db18ea65fcf17
BLAKE2b-256 b80d7fbd8e76bddf95f12826d4e4f582fe1290d1656f972c87209e2da4730c80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.57-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 d2d05e0565b136265bb7cecad4d7d6bf7bfd1ab1efe8b708ae88ef55767dcb3c
MD5 545e378c352802dbfb5fea52ffcb656e
BLAKE2b-256 900362fc68404053d9e0d24fcac09b6cb8906c69c7c240e960b087e1ef29b188

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.57-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc67fc705d5cb1d6c2b0022976a93b27978b7cbbccd21ae33e849996f220d87f
MD5 2416aaf68b3f84ef73e512e1d5e6efcf
BLAKE2b-256 a92753ad3e93b9bfab04865f426362a55efef1118e57a9992085561fce8f9c2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.57-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b30339b35c191a6aab52411a821ea7e5a19b8a1efd8ea436fa787207be3df14f
MD5 1f94142b3d8f5d54e3b17d8e6b58caaf
BLAKE2b-256 a8fab85c5e31c0a51be6eec46aea650832f90924e8907a031e685cb5cfbda105

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.57-cp311-cp311-win32.whl
  • Upload date:
  • Size: 299.6 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.57-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 72c45de6a1734830048fb7b45dc07ea5594006766d1810dde262a55b583e7363
MD5 1592c72ecd3b1ac970012195c8d5dc90
BLAKE2b-256 0233c5b5948b893574c095db899059e2a65d17d948cf85783b79e3fb89b9966b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.57-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 917fd0c0a96f621afb6cfcae9ff23f5cb3d95360d2d74c29b7b75ed9b4191c43
MD5 81913d2c6d9f25e6d292a76a4c368da3
BLAKE2b-256 41f144057c4eda3568816edde74da5741a5892be93bee9a7bb0d8cc66431deae

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.57-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.57-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 443157e648e61ace0c39b48fea0f21bdfde0a9a3430f37d1c6c805886797b9c6
MD5 232f8261205aea6a20b93759e3c1bc84
BLAKE2b-256 1959ebc9c2a969a460d4b54507d57248f3f270b3995af0c809f01d90a123c1f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.57-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 c108f8c2c9836838bed2cd03e1207bca2030646ea8c6a2f22ad1ab10467c4704
MD5 16f23e67893ee892d2c1656bdf9a4cd6
BLAKE2b-256 b4a3112638ececd855568ebc5a856126f0a97ca23e375fd121fbf82a3e7f4abf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.57-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a08adc97038adb2b8cd90c6acd0fbd6f9f1ba6f16274baa8ac728d9dafd65bf8
MD5 86afba1edcb997d0b1c6b41ab9ab79ef
BLAKE2b-256 75a236569a182a1add1d806a2cef187df87916fafd78b21fea2f6ddd918187dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.57-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 161501349af4214c1f5830dfd9a55a861104dfd5a300d829e3e013145f27e1ea
MD5 e8cf3bc2fb44b877a14b80897c67b405
BLAKE2b-256 bbb79b4ad4b3843d987df1ae5fdfdc5f9451320a401cfe854f21f11b11eb209a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.57-cp310-cp310-win32.whl
  • Upload date:
  • Size: 300.4 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.57-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 0d36c6f2141ca15fe928891a620a32a32d2317a8582e729cc2af6b2b970ea12e
MD5 472fa2b96bf2f7cce9d214f2bfbb0a5e
BLAKE2b-256 02aa4c806717bf7a41cf595b07afb030bafe54c683124207989fafe14b2eb678

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.57-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7312e07b96358ab72579a3889d407b9f294557f74bb4ac03d952739555e05638
MD5 7b08676d9aa835fad202c84b26cc66e0
BLAKE2b-256 ef507c18b940f820ddd54cb51c4433983a2caa49d1f9dbbaa0dd075ab5bd8f0a

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.57-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.57-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 222a5b9be43890ff49cc933b7d77ca60c37eaa8b1f28aafd087298b402a12124
MD5 3dc554829a2962e1923eb0baf75fab93
BLAKE2b-256 e0ca469ce2ab2082e70b41de3bd914418c24c0d3b312ec49aaa9c98e931dd2a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.57-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 cf70e9424b86046dad969099adbf4b424ab4057c3b35f1bda13e34d2f5f84ba1
MD5 db3bbf34438897e7f7079dc17025de72
BLAKE2b-256 adbe2018c6d781a491fcabd4eaaee90c01d66bff1e6484f684aee26a9f255b86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.57-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 70b15f2ae2b94877c50fe248c1cc38bf110b9e78a1cfd1913d731beae08aff06
MD5 fcf5040ee1aac577e80bdfed06d7ebea
BLAKE2b-256 0987643c05dc501d7f999a6c989402a40c9c4d04d26aeab90f7b7b0655ddb0ab

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