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.43.tar.gz (57.7 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.43-cp312-cp312-win_amd64.whl (321.7 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.43-cp312-cp312-win32.whl (287.3 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.43-cp312-cp312-musllinux_1_2_x86_64.whl (603.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.43-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (605.3 kB view details)

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

dao_treasury-0.0.43-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (636.2 kB view details)

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

dao_treasury-0.0.43-cp312-cp312-macosx_11_0_arm64.whl (315.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.43-cp311-cp311-win_amd64.whl (317.6 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.43-cp311-cp311-win32.whl (283.5 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.43-cp311-cp311-musllinux_1_2_x86_64.whl (576.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.43-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (581.7 kB view details)

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

dao_treasury-0.0.43-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (592.0 kB view details)

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

dao_treasury-0.0.43-cp311-cp311-macosx_11_0_arm64.whl (312.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.43-cp310-cp310-win_amd64.whl (318.3 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.43-cp310-cp310-win32.whl (284.4 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.43-cp310-cp310-musllinux_1_2_x86_64.whl (589.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.43-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (593.1 kB view details)

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

dao_treasury-0.0.43-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (603.7 kB view details)

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

dao_treasury-0.0.43-cp310-cp310-macosx_11_0_arm64.whl (316.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.43.tar.gz
Algorithm Hash digest
SHA256 bb7b68e9add86c86f911c5b63ea8c546be86f8562fe5916fef9d0f608bd25231
MD5 24ed40b6ba641ab9f583f5163130496b
BLAKE2b-256 e2c775aaf2b623ba45120b826089062d1d9cd9199cef6213876d7b27b0c0bd48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.43-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3d8e2ce38ad208bc35d43cc082b44abd98a71fbe8b8ce3fed29bfb61695fd6c5
MD5 a7dbc7193abb4e822792356ec24546a7
BLAKE2b-256 c18aa5b79fe8844d0273455fe7b10b8fdcf8609a0604aadef6fac13fe883d520

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.43-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 4f85e7d46adcc3771ee65d5f7eed44d6680c3dfb933561fc79bf0fa124afcf0a
MD5 077b1fc8b4e861452d36e5fa2dbd0ea5
BLAKE2b-256 a772fd19f75ead528b15e95cd372ef50fa1f724b1dd834e8afdd6373f867b9e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.43-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9323c2a7b564a1713ff79083278c76c0d6ebf27afc8b6956e34eba12cedccae6
MD5 769a5edf6f80105e9080eb15162f520b
BLAKE2b-256 d1c7bf715aa18cbac44945dea5d4a02a369dcd564e9d458f6185efa63da20494

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.43-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.43-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 89ff974cc365e218b8408581fac038dee65214d36256e2c6e821a5d158bdd6a4
MD5 b10d8332411d05830af13614dba40743
BLAKE2b-256 6aedaa6357325e4148b54bbaf861835627ae1201706d653b505efe991638c707

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.43-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 fec2f549dceee380c74d720482b259b64a0a6a42ca9a5cd16c72ed2b4ea9b421
MD5 420c2d73edd93de9b92e044a795bec67
BLAKE2b-256 1a0751e63a80049a320eb300994cfb3496bdc17f1843412bd2d6fc860b11d621

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.43-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9e4291fa0ddf9ec5dd5646e69d60f5a975f08b80138ce164718e23ddb6eb1907
MD5 6641638fecf83c1ba74c0a8cd9a62ace
BLAKE2b-256 de8624c7a11fe5efbe2041105b28f8d62323a16d1a50b3ba2d9f1cbd6214d512

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.43-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 29d2967a91e7701c2c42a46a23dd2135878a6d8ed9fb1faa3a1a9801a3ab26c2
MD5 21ff482d3ce57348aa26dffa224bd161
BLAKE2b-256 a2d6b7144babef4c74d06ab1ecc463ab0557b8b29a25536635db83820eab66b8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.43-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 0ed446e51c47c7ffd79c2616160ee51839fb54e6b462e4f12a61a075abd3d849
MD5 b8c65d396bb92564e19697f130b4e40e
BLAKE2b-256 7cd86ac8739be16aaf700554448a390afa8c439742138a3e1281ee9759f44f4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.43-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 92317a0539b3c26a32800ed2ef815995e7b9d32b5f907280baefb9675d7c8344
MD5 0cddfb21cfce9f39777b2c5df20d39fc
BLAKE2b-256 05f506333c018d6355390b43ccde479568df5791a706c8456dbf8278f634041d

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.43-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.43-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6bc3ef6c8069bd5a92725e83143c46249aa0b89cae9f686fa80fd4900e571315
MD5 beab77a23cfd6e3ff35da29f08d18e29
BLAKE2b-256 08a06a46983483fd1d3aa5f24ab371f069f68b738280b6125fff8dfd95a0e893

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.43-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 5cbfaf36afabb2eaa805beb13a34199d565cb568c98a089a2cb0035339599a7b
MD5 6ceb3a9cdbd2dcf7dc64fe9500bcc499
BLAKE2b-256 524afccd83c092fee6312b14ec51816b5299099cecfd292353830f680cd3cf53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.43-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 64d2e218dd77d43476d3b33f451f2d419f69218a9087f6e49fcd34ab57277b38
MD5 79b3cbad67d05e21ab55580362484dc1
BLAKE2b-256 4f227ad1e4bd1aaf8443fb64aeff7a1a979c4f0a43aa7a07a7961dba5b1ce541

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.43-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0495ef60ec75ef83190634c4b8e74b557b0f71a9eb538a8dfe20d12c175e4c63
MD5 33593e7ade2ff2711a76152aef45370b
BLAKE2b-256 854e1b05e9e27b0db27b19179589b0c8de3a78032a2f5f17e2b9309fc8d29121

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.43-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 f3bedcb7b8a9a053558f414afd7f5fafe819f0d968c0114b6f88d28f9d091b92
MD5 4ade53c75fd08a97f1995baff38553a7
BLAKE2b-256 2458266e11d0ca361522522910366558c9c437fd92260e073b8afdaf12931b46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.43-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b611770cc7d76a3bbc895c50e2a24d64470fc7bdfb283f637eb92454ccf501a7
MD5 e31338cb202c762980ae77d31c858812
BLAKE2b-256 095d74e26b9aa1b0a25e7762ba12045f10e0c6cddb8774e99d09e914fc3b26f2

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.43-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.43-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 301fcd85de42f7f46e7185bdfcd79915e71942f9df2142a13dd97403c5a039fa
MD5 a5fe42b14c64a163cc19c7e422c4be84
BLAKE2b-256 01db388601588e555e2b4a2ea58381b280b849c95c53992dffc550d82e5031aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.43-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 5651ee954f7cd3db4315040f6495becd113a91387b41869d7e215e7d92c8c3bb
MD5 68ac534f2e5566343116d3e071201adb
BLAKE2b-256 d3fe133d72136d7e1c67c8d366ba98419e0e8ca4c948a130762b42ef8fc0a7f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.43-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 474130dc04a4b7d4b7b3b5ab2a763586987ed9e867d0b8c89bebd69d9e598ee5
MD5 f48d46ef7437e02806c4424fdfedf14e
BLAKE2b-256 01d5d0ff561a1f76b77439ef7e3135239991500ba20cb2c4083d5634d52279e1

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