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.31.tar.gz (54.6 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.31-cp312-cp312-win_amd64.whl (321.1 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.31-cp312-cp312-win32.whl (284.1 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.31-cp312-cp312-musllinux_1_2_x86_64.whl (622.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.31-cp312-cp312-musllinux_1_2_i686.whl (648.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

dao_treasury-0.0.31-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (624.6 kB view details)

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

dao_treasury-0.0.31-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (655.2 kB view details)

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

dao_treasury-0.0.31-cp312-cp312-macosx_11_0_arm64.whl (314.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.31-cp311-cp311-win_amd64.whl (316.9 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.31-cp311-cp311-win32.whl (280.6 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.31-cp311-cp311-musllinux_1_2_x86_64.whl (594.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.31-cp311-cp311-musllinux_1_2_i686.whl (605.5 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

dao_treasury-0.0.31-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (599.9 kB view details)

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

dao_treasury-0.0.31-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (611.5 kB view details)

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

dao_treasury-0.0.31-cp311-cp311-macosx_11_0_arm64.whl (313.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.31-cp310-cp310-win_amd64.whl (317.7 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.31-cp310-cp310-win32.whl (281.5 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.31-cp310-cp310-musllinux_1_2_x86_64.whl (606.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.31-cp310-cp310-musllinux_1_2_i686.whl (618.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

dao_treasury-0.0.31-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (609.8 kB view details)

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

dao_treasury-0.0.31-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (621.8 kB view details)

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

dao_treasury-0.0.31-cp310-cp310-macosx_11_0_arm64.whl (317.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.31.tar.gz
Algorithm Hash digest
SHA256 cbf59dd7feb67420bdf924de27e17179f45dab88751709536e29fab0a36a4f82
MD5 1fa67004d8766a1815c36381545d67b0
BLAKE2b-256 7946b052386d95a2a56db290cb71cf8a427ea5f96d78ce596c882d9d08c92a83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.31-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 191e2272a84021d919e1fa250f8b669256036c356449fec28a1d851e5420bf4c
MD5 aefe17bbd1e9643a2ecabe31c11153c6
BLAKE2b-256 ee181028b6c5a35e1c6a4e4eb419216f6b66171b0699628fbe70abddf56651e9

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.31-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 0a9af26012dbd1edea78c6dc14bcdb17d1ff936af71e676c4a19651215cce801
MD5 2f7d05ae642ca66cb504455af991dd00
BLAKE2b-256 5e1693f7513ddc8b747011d1fb9cf33f8564e09266da85d7cf586799817c8863

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.31-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 aca6bcd02e736a58a1c3fd1ca31ff63bfba822f044a7534ad701d03110434337
MD5 42b37abb8dc447575f8e2d7a7150fe56
BLAKE2b-256 5809934b7d788b22b0f17c422827e486d0bf1c0574b86e0af593374358dbc609

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.31-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 420d498919d58a96f7f2b042f79621178091a00d8e74b17f3e3c7e9dad4248a0
MD5 5f5f6c4f7c51fcab8c07d7a8144cd7bd
BLAKE2b-256 98c30e1dc074217eb7121f045d6d3e666c48a8247fde643f0fcce8eb03f6ed05

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.31-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.31-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b1f5905015881accc507badd84ec6c81467d59ae45de9402a6eeb2ad240a3c37
MD5 9c3b33817d659c52330dbed5bb16a661
BLAKE2b-256 ded41077fcae950592cdf05057b5815d8c4a82ab294ca8711173f40b0c12ce09

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.31-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.31-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 56b9800cd8ba5427bad8c237fde4449a2bab55e5d101b753476f58732f313c51
MD5 1bfd392be3fccbec2674a21c6f92a274
BLAKE2b-256 b6af6fc8527f9b5dbaa1dcc2cd7bde1677826c6d0abc984a026e6f2b2a27086e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.31-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cbea848496273cb8829d99495e869646e476482be0f80b86ab39ffa8d264c154
MD5 deb910957f148d05e95cdd8b1c381c94
BLAKE2b-256 1b052777018943d5e46c93226e7b9928736b3319786f025ca3eac48b7c6f0494

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.31-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 89fa3ccb5d8ec4f632d7607971a0d8946de5f890818f06d7a7187e5bd27442ae
MD5 ce8fd07b160166a371a9eb6be91462e2
BLAKE2b-256 c8fc1481183529ba90e1db7228aeae1ab62506bf87f92ad9a5a37dbd5a7408ab

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.31-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 69d93e07bc68b2c27682ad4e5748ac9998f5931d78ae8469f51c18a480e71474
MD5 a8a9f56dcf0bdfbeb4c22406f6bee2da
BLAKE2b-256 bb3ec698ff0e2bea646040c7e97dd4e7e65b830b4e2c2023f5ab7248731bdc0c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.31-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3fc0774ec8b85bd2e7fc6526b7829994a110144581bf8b099598b686d3d1d0d4
MD5 150e90f68618ac62c19cd201103bbcc3
BLAKE2b-256 f52d1da3eae3e581a0d31e52c0d189835037d38ee58dc838cc76ad226a97ba28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.31-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7ebb5fedc20ef0d21aeaabff1b31fb0f9620915bf0465a6996a721b7964e8b9d
MD5 a4998f5c567af59da1ec9e6f02e42b2c
BLAKE2b-256 16b69692b5f45ab05a8407041b4beebbb0b0715fa607cfa2fed37c4e2d5a36fa

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.31-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.31-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b422b2f4bdb778113e98d1f9a604690dfeef824a5dbee61f512152c2f2757165
MD5 4a25d51ee2f97eef6c8c3c49ad3857da
BLAKE2b-256 dfbbe4f2683cecb770577d8eb5177e5216da78d15513b8a7781620f90cfd107e

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.31-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.31-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 a3ece3ea493feab17ac17db5d9af9627a3bbe02682f0ca98ceda8fe289902663
MD5 34a6417a1d20d9cc277b0ddcb43581b9
BLAKE2b-256 dd52194f5ccd05a433ac1b654e05a9cbe25c1989378d8505cf9693765132767b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.31-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba6479d5a301bda60b578edc92d1cb1263eccd85cb4a9690f1eded7b674c859e
MD5 87fbb5f08c4700bcd3b6bbbf0192b4c5
BLAKE2b-256 593504188d283ffccdcf6d5e0c93ff7591623117d1ad2e968721ff8cbc25dc05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.31-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e344f1a5c552e4d82ac6efe4eaf138581169954bd77173ae01cecb1d5d3eddb2
MD5 4408877a6ce036e92243f99f1167fd97
BLAKE2b-256 ea0a15026ed023de354eed3d018a3c7dde2816dc83a3fca2804ad66e8ac9d443

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.31-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 02fbbab33953a3746d70563441b53f701ba50c7c1b4dcafb9aaa5012374dd43e
MD5 bf7fa977ea8805817b0a46d40de4689a
BLAKE2b-256 18281591c38efb7c60e90030694b143bbc1f2b455196278a5cfec68b3d49c44f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.31-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0173d58d57e73403a9d1f6f95c09d2963aae4c2d3a63346b1c6997df0d20406f
MD5 6d1f42f068a30b3b1de8cfc8eb3d8df5
BLAKE2b-256 0c00a61559e9ceb3b28912dfc1f8a946a68bfd7695c944022d4df744e1cf0846

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.31-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 fbd65af955164af6d31838e7f71d5d6afbf361e8b1207a6dc6d7b132f0e83b39
MD5 77c92033c16635d88f1884677d074f75
BLAKE2b-256 8f343e823bc119dc097d92eed0378ef9de48a6129fe3b84918d482759fe5d00a

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.31-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.31-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5aa5a52488b74ba11f119402771fa84248c2f6b3bfd24b1e13791fc2ce2617f2
MD5 94936cf2a0c9c5dda42a94202e53b65b
BLAKE2b-256 8d44131bcf88f5ff3326930a4d57b99bd3ee3f59baee64bf918f9b967c767da0

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.31-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.31-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 a231bf1a03c81cab3923c367f20b13810ed7f11f20403ee4c91b6845d65be49d
MD5 bcf8c81cdbf5eb2da8d5bc3a1a28a55d
BLAKE2b-256 ee579b6e2176b97f7c3b62485e627b0d7a3ae03993f63b0aedd0df2d477e14f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.31-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b51c235ae3ff053edfc6d67715447d84ae61c023581ff5514953227a40d6ed34
MD5 0fdc179994967103ddb085768e0276f2
BLAKE2b-256 7ddb95b26534e9a6c2ef7fa445e834ea01f010f7755a27e4cf0ba5599197c5dc

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