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.36.tar.gz (56.1 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.36-cp312-cp312-win_amd64.whl (329.0 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.36-cp312-cp312-win32.whl (291.6 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.36-cp312-cp312-musllinux_1_2_x86_64.whl (632.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.36-cp312-cp312-musllinux_1_2_i686.whl (660.6 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

dao_treasury-0.0.36-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (635.7 kB view details)

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

dao_treasury-0.0.36-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (670.7 kB view details)

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

dao_treasury-0.0.36-cp312-cp312-macosx_11_0_arm64.whl (323.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.36-cp311-cp311-win_amd64.whl (325.6 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.36-cp311-cp311-win32.whl (289.0 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.36-cp311-cp311-musllinux_1_2_x86_64.whl (606.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.36-cp311-cp311-musllinux_1_2_i686.whl (616.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

dao_treasury-0.0.36-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (611.2 kB view details)

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

dao_treasury-0.0.36-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (628.1 kB view details)

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

dao_treasury-0.0.36-cp311-cp311-macosx_11_0_arm64.whl (321.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.36-cp310-cp310-win_amd64.whl (326.3 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.36-cp310-cp310-win32.whl (290.2 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.36-cp310-cp310-musllinux_1_2_x86_64.whl (618.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.36-cp310-cp310-musllinux_1_2_i686.whl (630.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

dao_treasury-0.0.36-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (621.2 kB view details)

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

dao_treasury-0.0.36-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (638.8 kB view details)

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

dao_treasury-0.0.36-cp310-cp310-macosx_11_0_arm64.whl (325.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.36.tar.gz
  • Upload date:
  • Size: 56.1 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.36.tar.gz
Algorithm Hash digest
SHA256 c5c4667e2eb5b7be988bc4402359ff6318c205cefa81c4557d159aa59886bff1
MD5 715fd7ec91fe25b2eac0bc68eabcc592
BLAKE2b-256 93afbaa7723f15a0f30dc9268f747c3def32d64f0572e525091071e2bccbeff1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.36-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2aaa3da9453b615f2ad0f2300d02207670ac4cbb79d846d6403181d901c4d84d
MD5 d9077a958df62da5df2e28f8bc4f9232
BLAKE2b-256 3a6d5b236c8b3c9b8b18082b59eccfb11dd59d0571d11ba84e0d543c753608eb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.36-cp312-cp312-win32.whl
  • Upload date:
  • Size: 291.6 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.36-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 cbe7423fa76041b0c7aeabe5b859d87cfee0aaa99d1245b4be83134739727563
MD5 5ad1d5f1f338d869b885accc3dc229c9
BLAKE2b-256 a80b736cc0ca10d48e34cba15745e1887bcf19e9281bcd62bc20711ab48c39be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.36-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f89f8bd75865a9c8d22fe8772bf44bdfbdba48c743ce8f9eec748f2a92fae5e1
MD5 a034a03a08ec2a46acce568f8d1606a1
BLAKE2b-256 07d4088939075e07b9dfdc2d335c8c4781ba96ff43d7ea05e583c79337e6fa1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.36-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 5b2cde05e7003456c00972d19bf657d08c5b6e05cac375a193c0c51abb0e1357
MD5 b3dba983146b53f82eaa1f5dfa385b8c
BLAKE2b-256 31812039e8ad13e61060ab94fb4b49c20307b0b931d1337c4301f0e026d4493d

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.36-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.36-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 58838880d9a5071aeda2db82f2c6574fae240823fbec197c4e6b3ba9d0c42082
MD5 012ab0b194c2dc66683dd4463c915999
BLAKE2b-256 bdd8d7b62541ab975f3fe1174f3044f19d1fb5b28c78204ba2ce19bc134334af

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.36-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.36-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 b05c26eaebfc6618ed5217a5ab3ff0bce9dbd659c4a79a04041e7e8efbb11988
MD5 0169e6b5909cc783d084478545c21bc4
BLAKE2b-256 af6f3003ec69e58c79a9b1ee05d30e18c025bb1d74011ac76eeb8e53f6d08dfc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.36-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8775347de6a2cf71edc528a3d77e73b17d7621c6d14c5ba4b0054f77fecbb5f5
MD5 0686cffea27fc9c27ab7b59712d8be64
BLAKE2b-256 605c58177d611b4071d35f535ad8b7096cb468595a1291a90e9ccc78373a6404

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.36-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 712f8ed797def1cf2b5505839efd19485f00015d54b4f1a66a9239e0d45f763e
MD5 4b15a4f791eef6edc5732316405a8714
BLAKE2b-256 15cfd5b8e33503c341f251487f465920cd3e386eda665f45724444ba64e0031e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.36-cp311-cp311-win32.whl
  • Upload date:
  • Size: 289.0 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.36-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 95b37a379e3e7a4e073a394d875742bb8c8e56d87673f24106a53451e9853d57
MD5 49a2fc84115b8887852fbe10339ff262
BLAKE2b-256 92fcaad4549d58afca33143b63103de46884ddb4c3e242de52e0473b2ab91f76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.36-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dd32cf2762ee521310731e9721c3af6d345027616105f07a23aa9a16ef4e5015
MD5 8f89504eada9dd360490cfb13c8307ac
BLAKE2b-256 22fb5b631243c624934ac3543186542d0ae8c4ca91bcf8d83787576b637b996f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.36-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 bec4313a38840d985ff8f009f3cbaa124379a846db2d6a4214670627a9e52d30
MD5 9e5e62f68ba5ff6bd835ae3bee574791
BLAKE2b-256 c3687ceee4dcae56f326f5596eae45c4010a7f3954e4c2154c967e13737baf84

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.36-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.36-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f0f9ef924eb0bbf5cc5838b7b999da03642f84a3ce15a64231b5f980b1d36b18
MD5 579c8f4fa2616d6c5097c26e52f32ee3
BLAKE2b-256 66397a216628d1fdf862851a8d9eb48110a42bfad76d409dbf6f33137637af21

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.36-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.36-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 4f1ef710e20e9436e5aed4d4821e66b054334e61cae18637da8c01f8a461fdbc
MD5 d5e17c7973e94ad7d53ee3633c545451
BLAKE2b-256 b7e12044a0c41a402bc0c69141d1d91925b35938511c7da89ea53d4c71d7d735

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.36-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ce40a803f05ce20cf2794d676a41435df4904a39aa4fdf8735b16be12def094
MD5 53b1c723bbcad40b4e857528ad57d0ca
BLAKE2b-256 3324a5c067a9dc8df71c6dbd8c15f73e553dfdb3e94ce825716665ae9f8896df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.36-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2c0b46b3b57ee202c6d4c3e7e6e2eb51c63c932e982cd9e239271fd99636fb55
MD5 0081b044ce3956c8fad3674fc8986108
BLAKE2b-256 b6f584021310bd66294a6035050fecc329ea1c3233626ae02a43f37396e6bb92

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.36-cp310-cp310-win32.whl
  • Upload date:
  • Size: 290.2 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.36-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 8b70a6c8c111b48fe0acd3875e228496ade71bac944d76a466a3770bf56e4dda
MD5 37bdfa8eed77130f89c48bc12009fd3e
BLAKE2b-256 b69823c647b576670f8ce755dc641ac4d0fa79141628757ef7415ca5c4f5b265

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.36-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f3a7a8af34b2fdceb9548c52de086be7f9e1ef5b5cb810e619edb0e42ee1816f
MD5 491bbda74029af2ca22a60ef78af50ee
BLAKE2b-256 ed56224d2c7dbd762e8b0ae3218ca96b01a4ad7a58d5b2fbc0f6d162cd7cffcc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.36-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f135acad64b30cd311d7bd14e03641389dd43726330a6fa3cc48f337cbb42ee3
MD5 52c2b0467982ee4172cf4cea461835f5
BLAKE2b-256 a58211db55f1606e647a6178b0764c18ece8a24a3ffa248fc68c28af80eedacf

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.36-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.36-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fa6428d093d84bbd08d33a71c854df5426c3e0587e92698df9f7468885100ac1
MD5 f90cd6cdc44d4df24c144caa0b69446c
BLAKE2b-256 055addd8718dc7d8b635e9123be72cb9e760e636842c86ad986b144c172b620c

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.36-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.36-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 740e4d8a512f943c68f9517872576f5a1236276a7d994190b82f33e394a29a73
MD5 b735f9c01372b13d6bd2021a4b95bb9e
BLAKE2b-256 0ccb72647a12b90b621985931ea0632a95d6fa98ddba498b072ba16c401692f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.36-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f1e2e93809350bb9bd5714bc4e709b4a4c5cbbe6151033928a5d59700464bcc
MD5 557d1acb960b7f21422eb48eada099c3
BLAKE2b-256 a7655375f83c2ed416d68672272e0a352953d17c35b106aea74b89df624ec3a0

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