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.49.tar.gz (60.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.49-cp312-cp312-win_amd64.whl (326.2 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.49-cp312-cp312-win32.whl (291.1 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.49-cp312-cp312-musllinux_1_2_x86_64.whl (644.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.49-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (648.1 kB view details)

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

dao_treasury-0.0.49-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (676.8 kB view details)

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

dao_treasury-0.0.49-cp312-cp312-macosx_11_0_arm64.whl (400.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.49-cp311-cp311-win_amd64.whl (321.9 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.49-cp311-cp311-win32.whl (287.6 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.49-cp311-cp311-musllinux_1_2_x86_64.whl (610.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.49-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (615.0 kB view details)

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

dao_treasury-0.0.49-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (624.9 kB view details)

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

dao_treasury-0.0.49-cp311-cp311-macosx_11_0_arm64.whl (396.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.49-cp310-cp310-win_amd64.whl (322.7 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.49-cp310-cp310-win32.whl (287.4 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.49-cp310-cp310-musllinux_1_2_x86_64.whl (621.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.49-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (625.4 kB view details)

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

dao_treasury-0.0.49-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (636.5 kB view details)

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

dao_treasury-0.0.49-cp310-cp310-macosx_11_0_arm64.whl (401.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.49.tar.gz
Algorithm Hash digest
SHA256 e0e78fe5e942ae1d9776c4e344c69493b576e75339b2b11e66f37c9a83ccec1e
MD5 46019321bf554e319859810a085b7ee6
BLAKE2b-256 9484feaa4c437359fcbc3b433bb6ad247289e2df81b0416d19dd29c2607932d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.49-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1d361f3bb089ea387a9504dc54edbd1614eeaeb665eacf2956972ce4cafc2a8e
MD5 3bdb3dab8a51cb8d1b8ffee27177fe02
BLAKE2b-256 01df044af7751539483082358b194ad34de0044358d5340c2d250029fce0fc87

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.49-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 44f52ed8be4771d4d60c81715669bbb168463a6986f6e024da3771a669feef7b
MD5 67d0aad4f34e0e03b446e2443f7deb4c
BLAKE2b-256 32d6e334bec5616746a891a6b8811bfab847504156dbf6e26e0f27187035b584

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.49-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 097c7178ce9e11d65c0f87ae7de37b0ad5b680e37e3a3e9823da6f504522e8c3
MD5 05d96f354d9bac930c0dcb958cce31ae
BLAKE2b-256 9b932e4759ba7e46ffe5695ef69b787ff357c108914e5ee8dbf35f804e52ae4c

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.49-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.49-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ffa4713c74221af4020f15ec7ce57b44b46f911232914bb2d6bb9bfcc7d40caa
MD5 0f8f79ec9106867689847ce8fd375d56
BLAKE2b-256 477ca7afc1669b715c9875903d794e20d172826653028d3357ff402446d0f64d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.49-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 4839dcaf8d71df057f45f4179ed7420554359d5c6a822504d5abd5580754377e
MD5 3bec058a4dd7c8067991d87dc75453b8
BLAKE2b-256 9cb1c1e777959d781ac6f99ac314a924c6238cc2ff9553f5d3db5bffc743f561

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.49-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 16cd95e02d401ddab392c4a1772ede34006c33015adc7ce78b96d750df0a9296
MD5 11fc0e0e186ec4f0184ca97cbde2bc02
BLAKE2b-256 20c05155fbf2bad0bdcd414bcf96f7466212a280a33fa622502757ec685ba3f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.49-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1c79bcddcda15523d150b97a518cbbf03c5c58265f44655abaef7ab4f96a9d44
MD5 aaf5ead2689a5a5ec6841572053293d9
BLAKE2b-256 758108640587d0664a12e596e905a027e12ac288d0ecd7b2a63f7a50d84ea00a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.49-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 efcbf0283149dc1197ef5d708a17cc7011e56cbc643701ff9941ed95575a6920
MD5 a252a378492a512f6e56291b036c1d62
BLAKE2b-256 8a6ba6e3c9bd8edf9b455af55e0bdb620ddbd780089432b469c525e39fc4d6ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.49-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0b560a253cc6a9f9866ecf3af3f97e96264934d18beaa5cc76891e0dbccc0048
MD5 778c3816d4ef973a4ff85fe456ef291a
BLAKE2b-256 f4e76e1cadafadf624c8bcfc6b5cb770866fd70e8e892c38ccd30a18d5db5581

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.49-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.49-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8cf49b0d6362f48d337baa5fdb7c7199465471eb0459173d839701bccf0695f1
MD5 bde5527e9766a2c968b69b3be18036a8
BLAKE2b-256 32675777089d006af324540071edb2c34a93dc4a4dd6557fdc3f3817629b894c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.49-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 7f19142ca872c608b9800c4c5a62b6a98a9309b2e504f0a12d41a1633215af36
MD5 2efa1cf6ed132ca180e4ff70e2945e7c
BLAKE2b-256 64218475b6b82e582d20d2f43b582cfaba8a53e24f40e68bc6f4e889271d9a34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.49-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5a262b7db2d22ecabe61e47faab85debea3a73d657d21a7b83bdffe82d8d7e0a
MD5 52475be7124b819e3fed4fbbdf85e9c6
BLAKE2b-256 c083605d12501f759b5d80305f4504698eb76fbe2890d221bdef0a53e454c8e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.49-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c15140a72a053ebac40e481433a2e4d4f962fcae6daa517924187a8e17f80c59
MD5 751e8d63d593d581106d4001a4f9a08b
BLAKE2b-256 566a4496aa95157aa09081ec5c8f433b27d771cba8e4ded52963422f214f8ec9

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.49-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 e95805391e520f1e13ed5e083aa18ca292964c0a4bd5a3d08066d26dd4e715fb
MD5 47eed2f2aa1aeb79744ac35db50ce1fa
BLAKE2b-256 74bf2b644077b8bcf12a0eb14ca3dc268f3e916a6c21c6276b8e79ba95ac801d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.49-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2d53b830ad33580c846faee8da6159764c7443adbe51299bff8d1813bb9028a6
MD5 5ef2e8de2ed0e050c9143cc3e4ae0e75
BLAKE2b-256 74f2bb17d1048d610ddaa0dc20d255ad72ea7f47012934ced45fc7e574b1d0c2

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.49-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.49-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aa33cc01aec353e7976d53c010e387fdddb8cbac966e738e2adae80af4558780
MD5 8552ec7502af1d009bb1749f22c709a6
BLAKE2b-256 e9c4709524b70020e5460460b2a2ca8fe962c1712f07072bed642a50c3f5317b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.49-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 4e661c007b5965d374cef76a1dc081512c6b7a35a17b984267b356da490a58f9
MD5 5b9db13ab781143365dd959b3fed23f3
BLAKE2b-256 e6b16b52c9a1b2df7f7e2a10a97a790ad55de048aeeb754cf9fdbba572fa42fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.49-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3e52c3049506635caf1dfe12be6953389f8453d39c8409d8999da0eb36348907
MD5 cd4a21dab91b4ea2238b295604099a84
BLAKE2b-256 47160d1e09f50f784e506e969bd4d3e6e643cc61020625261484e464dff5e981

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