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.45.tar.gz (60.2 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.45-cp312-cp312-win_amd64.whl (321.9 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.45-cp312-cp312-win32.whl (287.4 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.45-cp312-cp312-musllinux_1_2_x86_64.whl (604.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.45-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (605.5 kB view details)

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

dao_treasury-0.0.45-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (636.3 kB view details)

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

dao_treasury-0.0.45-cp312-cp312-macosx_11_0_arm64.whl (315.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.45-cp311-cp311-win_amd64.whl (317.8 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.45-cp311-cp311-win32.whl (283.6 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.45-cp311-cp311-musllinux_1_2_x86_64.whl (576.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.45-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (581.8 kB view details)

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

dao_treasury-0.0.45-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (592.1 kB view details)

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

dao_treasury-0.0.45-cp311-cp311-macosx_11_0_arm64.whl (313.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.45-cp310-cp310-win_amd64.whl (318.4 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.45-cp310-cp310-win32.whl (284.5 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.45-cp310-cp310-musllinux_1_2_x86_64.whl (589.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.45-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (593.2 kB view details)

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

dao_treasury-0.0.45-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (603.8 kB view details)

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

dao_treasury-0.0.45-cp310-cp310-macosx_11_0_arm64.whl (317.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.45.tar.gz
Algorithm Hash digest
SHA256 6ceb1f97a0516077663c188715d64f3b08eca57bb6135e499bbde27910360261
MD5 c0cf58e349d8911aac64729dd30b72a7
BLAKE2b-256 b64d5e44b0c08472b76c2a7ee4a2460cf15dedde11b6af7fc5cbe936c55fcad6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.45-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7ed190079dc07592ccd0397273266911806fecf71cd542b12dce1e3068e930bc
MD5 5433f43e7a89b2d2ccdf84d2e4b576ad
BLAKE2b-256 deca7ffa115f4fda20585ed57df739a8c6f627e985bbf7eda0a51a8560b5863f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.45-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 4be67b2e24995a03bdcec10cf8b2bf564a6f871566d7e16d15e70ef27f5802bf
MD5 4d03b0b3f2cb106de68cacc639de036e
BLAKE2b-256 0723435a126915bebbca11ff5fac58ad92e2ec822bfa96f567d3671e537c02bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.45-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f4c3cd004f615831f05083e693addd9e062451fe544aa7e88005a0a790a3d5b5
MD5 c306c076e7931fb2921533ab3c83e320
BLAKE2b-256 e48dc4dae9c0dab3baf2f7ba098150228c19715468bea3341bfa9cb0eeab41ab

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.45-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.45-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f13728f8867390908e7695d2a02ddce968729bfd5834d0aef7c6137d5a0d12ae
MD5 dc1b8dc657d97d11a40595b9272aa646
BLAKE2b-256 051dd797ea6f1ce2d2df5be81dfd29ec426df2fc1854dcf91ec863f10c5c7c62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.45-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 7e26d8034943391d9d6ad901e0031c56a01195aa6e717f69d50eb630c5ff1866
MD5 589693fe5cb972a31576f94479b8a7f7
BLAKE2b-256 bbe110f00ebbac0d4be9bf0289686821bcdad9fd1f7957ca3ae7f5b53fa58a0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.45-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 509553dd9662e537503dfb90ec5039a8b6d660ee5948cb3e0a6c01255bf4d26b
MD5 0cc16f8065ce75296c61e93977f06c87
BLAKE2b-256 783e5835ef6ffdfc8f6447777f8e1e9b427ac4adb0fdbcc024d909114e0cbaec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.45-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f86037e348ecfe3576a00fc67c123c4283ff5ebecc922120a6eda55fce161cd2
MD5 555524dd19171e1cb64ac678a3b3b80a
BLAKE2b-256 5fcc88967b6d10ae66a637065def834f1456d615693415515ac4f75dcb72a899

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.45-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 6efa79136ef712b038acd4fb5fdab65c46fdcb4f45b4d362d0026df55f1e7959
MD5 5d8d3819d54758f2bad4ddeb3194628f
BLAKE2b-256 201346a8147a337bd0b76a92414320525434989add94ad262b4f3feb5b32d8e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.45-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 10e1ac0566b64ee3da7fb7d30f32322b310bb979af01c686cdaa54aef5e81fde
MD5 edeca6b3c8a3fa2c234383c0fb534c65
BLAKE2b-256 cfde663b70e335cc77657d60baa2a06f88bae194b07289ffadf477c395675641

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.45-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.45-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 74aa0df1698b14137ecd38555694331724bfd60a0fdac230d471f1bb9bd013ec
MD5 fdf10aeefbba84a82d133117cc26f2da
BLAKE2b-256 5dc23dae1e5e246c81746fd3f76291c77e9d422740be09e5e5354be66d6dbf24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.45-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 addb08b73daa59404b3d999dc8ef907d0d090dfe6560353ea034a504a27e6b06
MD5 56d88272926ed9b1926159edce64e23a
BLAKE2b-256 7e4981727cd1912e087396f8d33fc09f4fbc24715f08341cdf221e3a175b79c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.45-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd40bdacdaebd9e4470b535e582696544468bf86881a8cca32ed6ed97f0d9c37
MD5 59dbd8e1ed8cff77a1b559d61b9f2f76
BLAKE2b-256 6e6403a11dd343b090e1bc3201638e6f8398b0f2d75b4a926bc5516f494e9012

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.45-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b572e9732599726fb766d2b27eda8f71d2252ad725867aaff1f13617833c0d32
MD5 6e0a1cc12409a939d69d616142611879
BLAKE2b-256 0a08e30b74a0b4f4d7c9a586dd1849373fc15b4dc549aec5f14991213d391c00

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.45-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 5532a323b64885dee0de1bbefd208fa7d394fa2d7b2d65e8aefbdf18a483d807
MD5 4d88fbeef1530f884681061c3d8ae22f
BLAKE2b-256 f46848681fa011050419ffb8d3081222746f292da8f8dac00a1d2806d6769f95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.45-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2ced7e391ac1721df4ee9fc39c47b46d5611aba765aa7afc021563c3f9501ffd
MD5 4775a3a1b5293d976b6eb0d3b6793ff7
BLAKE2b-256 f86213d5e1f4e4c7b9c67f215891e656bc56940ab9680bc6c1375c3c9f54c25f

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.45-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.45-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a4679f4c79e5ec6c5415e7a054738c817803337c8b5865fc0edac84ec2c92a3d
MD5 1d6220ecd119d2c6c53bc34a68c1068a
BLAKE2b-256 fb4458dfbdd33f938bc72a17374a5ab336c1dc47167516fffd9c01d8895042b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.45-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 fd38f52e1a5cf4400382acaa5f22d5ded4775b9d25c87b33e63d90e577362774
MD5 aab4d1d99f11b502f956a88b1b56a48f
BLAKE2b-256 3bc1829186ebfd4716e1d8a2b542911e02189ae9f1ca87e328ee3bc96d26c517

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.45-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f5429768bd78a6262053695806be20c4e4e5d20ee7e820bd3dec4c02ee5fff68
MD5 7252a11dc7223654d768338ff0e3ee68
BLAKE2b-256 90603192f4b67bd622026a557446dbed22f27e5f215bd4e6dd54691d380a0469

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