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.39.tar.gz (56.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.39-cp312-cp312-win_amd64.whl (338.7 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.39-cp312-cp312-win32.whl (301.0 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.39-cp312-cp312-musllinux_1_2_x86_64.whl (644.6 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.39-cp312-cp312-musllinux_1_2_i686.whl (673.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

dao_treasury-0.0.39-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (647.3 kB view details)

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

dao_treasury-0.0.39-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (683.8 kB view details)

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

dao_treasury-0.0.39-cp312-cp312-macosx_11_0_arm64.whl (329.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.39-cp311-cp311-win_amd64.whl (334.5 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.39-cp311-cp311-win32.whl (297.5 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.39-cp311-cp311-musllinux_1_2_x86_64.whl (618.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.39-cp311-cp311-musllinux_1_2_i686.whl (627.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

dao_treasury-0.0.39-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (621.9 kB view details)

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

dao_treasury-0.0.39-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (639.8 kB view details)

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

dao_treasury-0.0.39-cp311-cp311-macosx_11_0_arm64.whl (327.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.39-cp310-cp310-win_amd64.whl (335.2 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.39-cp310-cp310-win32.whl (298.5 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.39-cp310-cp310-musllinux_1_2_x86_64.whl (629.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.39-cp310-cp310-musllinux_1_2_i686.whl (642.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

dao_treasury-0.0.39-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (633.1 kB view details)

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

dao_treasury-0.0.39-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (651.7 kB view details)

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

dao_treasury-0.0.39-cp310-cp310-macosx_11_0_arm64.whl (331.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.39.tar.gz
  • Upload date:
  • Size: 56.5 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.39.tar.gz
Algorithm Hash digest
SHA256 03d2274e166798ca420ac8ea908ce74bdd20507da4f4b554722bf925364a38a5
MD5 64a50df4d0c91ea84808ed92600f3362
BLAKE2b-256 4dce7baad0cf1f7dad3581ec5c70fff544e93fc511e707beccf74dcc20ec1a16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.39-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b13023a3d2070a0bfa41412a86a3c63713143d6fa56818fa89f628c84cb4b033
MD5 0c02890e68ba68b1909725c22497aa9a
BLAKE2b-256 8ab94648048baa0c6fe38c93442619d6faef525ac2bfaaafe9d79733645f29b6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.39-cp312-cp312-win32.whl
  • Upload date:
  • Size: 301.0 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.39-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 e6542b379f401343d5d8bdad252b9ffbf257f1dc5f1a0d9ecdcbc2989967cac0
MD5 e1350160bba9a129792c0ca136e97cc1
BLAKE2b-256 309a39caaa5825b0ef4a75ba4eeac54d2b028208e7140de951b73041a75bbdd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.39-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 770e7db6376162d5f0769a58e8c7b59b0ada3230d76f12031960f1827a3f936b
MD5 ca0aaea226c435070e382d0f866dab9d
BLAKE2b-256 dd85de556ef4bf4307b1cb550adf05a19acffdd56b5c913dc4d6df5378f3e960

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.39-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 9480d49c2b5c20ce748c53a948f4a4405d813e129370e45783e083036106b56d
MD5 fa90191550647f5d183ad42ec76e3b20
BLAKE2b-256 c83fe470a4c3cc82af363126f221d58ece627ef7ed3df146a0c6dca1f16b9900

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.39-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.39-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8a261bed40af2681a4c2c566d2c18ad1534d67cd0b5ec90432bcdafdc412cf1f
MD5 684f118c255ef66fece3269ea3737fa9
BLAKE2b-256 ffc72537cb265dfdd2e1462bc7db05963dc6ba0498d7fe6f6ee43c5dd1f06093

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.39-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.39-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 fc78e0fb1d49e8d2ef5e3c40ece17f5217778dc5e67c3580ece31af96d2375ad
MD5 3ba73b7b828e9dbc35bca767ff8f1c0d
BLAKE2b-256 82591d9262b91ddcd31bfdba9145940fbd935802480e452bc69f70464a406cd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.39-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 945824637786a59c420221c92af78f225555010a6232dbc0be94913d826b0209
MD5 37db01dff071940901706dae57cbc3b1
BLAKE2b-256 ee28ee7584b9725dec36d78c68fcff0ec7c40eb3cff1f055a194789efc8cd26f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.39-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 363525c76b13091541953a06cd471e94d7a18ce7dcee1befb54ff9328205cb0d
MD5 1e5afc12a56dbfc1a2b3a582d7ef7ce1
BLAKE2b-256 1e6bdd9dfc0d2fa30d88d78a37381e90aabe545d449543080116814de7d65300

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.39-cp311-cp311-win32.whl
  • Upload date:
  • Size: 297.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.39-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 3e97856e51516c5c9bfaeb8d4c6674d21afa53af8a7f771f16f0125f2a810cf9
MD5 71fdada4bd50154cab5e16783e8c35f7
BLAKE2b-256 3acc446caad12875d428d119d9a2ab7b664e885479adea9a092bea131f896d76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.39-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b9209c446bc7690d4a65fadf536802f08ef273fb6e60909cbfc186238f4ec1c6
MD5 24fc9320a3ebd39db6cbea22fc8395f8
BLAKE2b-256 8b1a51a62a5e0c304c98958d71658cd5ae2952117d95e39503b793952d197349

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.39-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8046b3db19aa2b92fbfbeb18b9aafd9bf08acd35a80ef24c09b18d60e7414eaa
MD5 bac77133349bd02343c6490457ab4e41
BLAKE2b-256 66b153919530643a47e3a7f6c3bef46d849fedfa0eae4e7e32bcd02ae1f0f789

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.39-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.39-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fd84b91a06d1f20382cff384e2194fa517b4050e4f68760167e0fa191165ed45
MD5 553e6fb6c0060d0c1bfb9e4b2e1232f9
BLAKE2b-256 3998239e6bf1f09950aa53d83a9642d2a47d7eb3b8b2bd477a1fdbc493550ff0

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.39-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.39-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 23ad52a634c86f8003f3b5bdc7f95bf622cfc443f3bd04dce19abf52fdbf0ac6
MD5 2ce06a840c8c07fd1d3a01185136061e
BLAKE2b-256 c32d8c00f094d6ed08a0750f93572c8495ee6b7e7ff365e0bbc61bcfc9fcec1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.39-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 132f468c4aed66c9e44271aed3da4d3d42ae533d560ec572ac8fdd5b9537440f
MD5 352c29f7d560d6c92bdbc216ef1540ca
BLAKE2b-256 38cdbdadc5efcd5d526894af468bc05393a633751eb94c829b0887740daf2d20

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.39-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5a8abf34e0ac8c0398f3d6902944c94c7571601a4bef333b1ceda003646d2ade
MD5 3390ed3c7373f16965ad207916a95b04
BLAKE2b-256 10b836b1f135466617d71cdee3734dd33300c292b07b18d0ccb6eaa5f9828414

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.39-cp310-cp310-win32.whl
  • Upload date:
  • Size: 298.5 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.39-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 a9e66f943ab99681a8e1f21aac90c5a0f143d51c864afb3041e3cfaf09dc3b51
MD5 8deefe9957225c6635aea65344f1d6ec
BLAKE2b-256 8af11a82b4e5af0b6882be5a35b546a530fb48b0bc3772838fc049d2352b0549

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.39-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cbbac78a41c9250c80bf418a30160b42215c026aa1f6d1e763f7480750f2602b
MD5 3ba45fa27280090b941a31ac0d6d33a8
BLAKE2b-256 2672c2fc3aa7a947f2d4494c1021735372007e65dd281a722769c3784725a15e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.39-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 addff78c7e639cdbc8f691aa89243f1a5989cd0ae646ce06b6d0141f7a0c5196
MD5 794a5bd6cc4896370198d7e514fc06b4
BLAKE2b-256 3276555345496d79cc9339799e150bb258e539df55f8789a360bf184e20ca51c

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.39-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.39-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8a96e3628ea2bc154a31124d39bedd6efebec5c1f8886451f86e9db60950acee
MD5 8df0002b56b5b923959f14c657312fdb
BLAKE2b-256 cfe033d3ac48cd12bf2b303ed2d0bb2eb0204e679fd2149813929e6c1faa95ca

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.39-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.39-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 353a78d5b6a834acf5d4e605ba0dd961218f918b82e2895e821a04d6ecef153b
MD5 f17b0ee2ebbad18772de7cf7d3061a6f
BLAKE2b-256 17c6b017d6f5fdb17d958c242957fa26b7c8d35f5ae7e70667038f895fb11713

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.39-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 731cc73a8969972ea197cb1c89aedc67cdcdfde402a8c87df1d40790a4f6476d
MD5 edaadffeed173da5f3fb82a7187a36bd
BLAKE2b-256 d818eb70442f69bf93ad6d9c1a9c55595aa2019005e8e6d2863fa8fc3db9b6ed

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