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.32.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.32-cp312-cp312-win_amd64.whl (323.7 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.32-cp312-cp312-win32.whl (286.2 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.32-cp312-cp312-musllinux_1_2_x86_64.whl (625.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.32-cp312-cp312-musllinux_1_2_i686.whl (653.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

dao_treasury-0.0.32-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (628.7 kB view details)

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

dao_treasury-0.0.32-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (663.6 kB view details)

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

dao_treasury-0.0.32-cp312-cp312-macosx_11_0_arm64.whl (317.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.32-cp311-cp311-win_amd64.whl (319.5 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.32-cp311-cp311-win32.whl (283.2 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.32-cp311-cp311-musllinux_1_2_x86_64.whl (599.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.32-cp311-cp311-musllinux_1_2_i686.whl (610.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

dao_treasury-0.0.32-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (604.3 kB view details)

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

dao_treasury-0.0.32-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (620.7 kB view details)

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

dao_treasury-0.0.32-cp311-cp311-macosx_11_0_arm64.whl (315.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.32-cp310-cp310-win_amd64.whl (320.5 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.32-cp310-cp310-musllinux_1_2_x86_64.whl (611.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.32-cp310-cp310-musllinux_1_2_i686.whl (623.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

dao_treasury-0.0.32-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (614.4 kB view details)

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

dao_treasury-0.0.32-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (631.5 kB view details)

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

dao_treasury-0.0.32-cp310-cp310-macosx_11_0_arm64.whl (319.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.32.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.32.tar.gz
Algorithm Hash digest
SHA256 24e13eab4e1e4873a007145ff1e8047c5e95e0f2c2633a3ed11fd555d984869b
MD5 aba4446a767fe52d010405107c359a3b
BLAKE2b-256 7158cd02a9f1d38b4c364433b3c08ea40842bdddf01c589a42643f1eae16b235

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.32-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 abb216e02f882ed031d09b0492670cf3a0df9a1ab95b7e062d511c9fc2c8cc01
MD5 069c53ad37f41e06cb351ab6408fcd7f
BLAKE2b-256 91ee11535ff3368730150831c6bb054b061991ee6e2879af33c56a30b402bc82

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.32-cp312-cp312-win32.whl
  • Upload date:
  • Size: 286.2 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.32-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 849674054a231a3509e450f2539b273aca16b4ee6adf49f7ccae6275aacdd591
MD5 b5b37b9ea579e9aef6321f9a6a082f78
BLAKE2b-256 17915105f84fa8fa3c0f0a06ee5b69ad004604d390d49b7dd26cd730f022ce04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.32-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3497f2820d25610dd17c4f474847814b61ca082188b05d4c2ccbedebe459c7e0
MD5 340eb8dbb9d31c9d676f58c384bf8932
BLAKE2b-256 356b676051dff728293ce0627a798ec4cbd861edc193a552e8376d2dde0ca556

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.32-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 18db964e184f23a67c666278a5634eab44c4a7cae7c6599d8af1f5c8f295d77d
MD5 e2db4f5c8d702bdf28b039dbf1c4985d
BLAKE2b-256 83c1220a77d829ef8c4f9e6fe38dc7d7d714e55b6145b54e34c378058ea8b453

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.32-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.32-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c351aab8ea0aa2c463b91b840b64d9dffc63757526bf201ccc8680afacba70eb
MD5 aba5382950b39ba3845b4fcb6f6f8ca6
BLAKE2b-256 aaa7fed5fa2fcd4636b7c021025625298af1466f6876c9542f4f5f3768bcfd59

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.32-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.32-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 cd0c2c3858914ae88e60d874abab8364a3f2afca73e44aa403bcf46685473654
MD5 58f9d0dde254cf65e71c35f28446d814
BLAKE2b-256 6e48410a4cb26bb9ed7434c20305cb7829eb7183d91fca8fafa3359b826f70cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.32-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ef46a619b9596a91ef2256ddfe7a0577272c2675c8de7358fa5e1878f67fce2
MD5 872edda4e6d5151157157238888c8b98
BLAKE2b-256 3e99a6b9488b629a2636298ccd87d59de3d96ccbce08cd5f73537a85e7cf60ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.32-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a334353302393e0670f637ad8b3965e34a32f16b6e5256e23cf3528f5e4dc04f
MD5 8a21298743868af4d562b84a2844d656
BLAKE2b-256 f691077981af56c3fa649cda61de26fa4f9bddb59b3b640dd0b83673f553b71d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.32-cp311-cp311-win32.whl
  • Upload date:
  • Size: 283.2 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.32-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 3c5e3aa66b534c53873f56f9207f06264cb70cfa7ee2f73e02f86a7aef5db0f9
MD5 118de1f83ff42aefb3cbbc8c73f6ba74
BLAKE2b-256 8da0785a96f1c7f4ea21c0bbcfad2b6237647a2ba43e9b5354709cabcb9ac738

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.32-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e845d243dc7604a140c06a8a3bb981faaf5e790e5ef516ead98c43d4a82233bc
MD5 3da0b05c95b533831a9a4d450f807fcf
BLAKE2b-256 f3309e94aeb9a16c325a7b34eab8c308e480df7d16d9853f5a8b2375c2f889a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.32-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 4fd55458b91c20dde3a2f69f040918065407f318bdfdb220618d8d1c1ae07131
MD5 a1399fd94c781aa58b384630a52764c1
BLAKE2b-256 26cd0a702d81faf6681ded018da8831587111a9d3ae4bbf9e241cf31d88d2328

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.32-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.32-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 36b776846eb8b27ac1e7559568747269df0e3b046f56ac9f19749809ba2e0a7f
MD5 e16e4034eae908e25407f44bbe7ebad2
BLAKE2b-256 1ffdb8ab547a109bcc054976fa2bcb1c8e6eb467b5ddf2477b6e1e551ee44c01

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.32-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.32-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 9936711518424e71404caaf66067d3d2a11a929d2b5311f53f90e7515cdf7c43
MD5 111d3b2a15eb033eb7b88e2a282b1364
BLAKE2b-256 5fd3cafee8c8fe397a21bf671a566907c87f5bb30f1c1969c6059dc3b21118f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.32-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5a2d6c2e75e442e5527b05425832358d2c552434d0bde724aa39dbffd3ecfc39
MD5 872f4983f5082931beb0f42a3c69dab0
BLAKE2b-256 e1c2603e3b9aaa2f3c52e74df92782e64e942b0a93495710f7b2af9d9c7d5bbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.32-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 24bad2456a05e3d3dd3a7ad0049bf64e733779324758428ec369f82240f9133e
MD5 4af280bd5bb37777d653d1ec3242771c
BLAKE2b-256 f6a609edb75bae066fa752bb0607ff100e899245d447ab5ebae4aa776d84cbd6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.32-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.11.12

File hashes

Hashes for dao_treasury-0.0.32-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 023da14cc9725168904d4eea36b6b2134db7e93c01003382ffd0942734c98b76
MD5 6a301cd4eb28a96111f858f4cbde79b2
BLAKE2b-256 b4f7cd0afde0be91f3c710e959f57d13075772de5155767613935cb9a19fdf74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.32-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 77083e9edcd794679c601915a36f5a1b8e178a589c956301403828e04ced428f
MD5 8385d22c6614c631e9287291fd6ea85e
BLAKE2b-256 8b6995694a3c06e13ed8d61e732f07ae959a0392f17b1008bfd80be7867c3cff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.32-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 163e57e0115b3258ef594c8c70b732f04cf907bbcec9b9064a3475354ae94836
MD5 734ca7d4660097b3eae3d2f30a7fc659
BLAKE2b-256 e313873335b9329be11bcae41d37e09fa4ed2e5aed8e16710caf68a0ea1f2b1f

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.32-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.32-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fe6d9badc8e5b65e7824e60c73f59afb607e006097a4b132169bf36c2a3afc87
MD5 bada625e57ee742948b98499849ffa59
BLAKE2b-256 be7e717c20220b3553ab011dc93bb92457297fe6c4f511f30eaae4fa7c9bc2f2

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.32-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.32-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 6bd3cb66b6cccf4706fccde6c8060f2d5dd76994249264c863b08ebbe9de09cf
MD5 88f6bf3415239e72103327d53a2403fa
BLAKE2b-256 d13fbdc8b37d4fe80aa118f09d64ca752fc4a51bb70989e5ee796f91a4af30a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.32-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 63db5eba493debf4386831977abc203244cc21ced43ba25ce485d3674f2079a5
MD5 cad1d32fb7b96dd68c0cd46d524fff2b
BLAKE2b-256 fa3a1da2c87fee351916940ac79e7af060579ba915effb1440b941fdcf6d46bd

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