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 DAO 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)
  • --concurrency: The max number of historical blocks to export concurrently. (default: 30)
  • --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.69.tar.gz (71.9 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.69-cp312-cp312-win_amd64.whl (341.7 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.69-cp312-cp312-win32.whl (306.5 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.69-cp312-cp312-musllinux_1_2_x86_64.whl (659.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.69-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (664.1 kB view details)

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

dao_treasury-0.0.69-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (692.4 kB view details)

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

dao_treasury-0.0.69-cp312-cp312-macosx_11_0_arm64.whl (416.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.69-cp311-cp311-win_amd64.whl (337.7 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.69-cp311-cp311-win32.whl (302.9 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.69-cp311-cp311-musllinux_1_2_x86_64.whl (625.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.69-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (630.7 kB view details)

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

dao_treasury-0.0.69-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (640.2 kB view details)

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

dao_treasury-0.0.69-cp311-cp311-macosx_11_0_arm64.whl (412.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.69-cp310-cp310-win_amd64.whl (338.4 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.69-cp310-cp310-win32.whl (303.8 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.69-cp310-cp310-musllinux_1_2_x86_64.whl (637.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.69-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (641.4 kB view details)

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

dao_treasury-0.0.69-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (651.5 kB view details)

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

dao_treasury-0.0.69-cp310-cp310-macosx_11_0_arm64.whl (417.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.69.tar.gz
Algorithm Hash digest
SHA256 aa53f00eafd730128671a651a9a353ada4ffc983e362163410c45b37a6683d55
MD5 26695b52303697aebc545e087987b2c4
BLAKE2b-256 723adc6bf7ba885ab387a19cfbe59ca3fe1e4224ad64473521dc4e6ac976616c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.69-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7a7617c45b81d335e9a4e3e0eddf04a0b122bbcb4bfe6f1aade6630a35c90fd0
MD5 077ad0afca414ae1ef80d1c53a3f3ed1
BLAKE2b-256 d2dfad6d1adc726a1820842bf16568913a569d180f54c277e699b7d2a86cacb2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.69-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 80a6d1970c2b2a68b953fd3ac1e8dd608f8d71dc96dc8cb1c992b162e27178b3
MD5 d7e3808556672bd509da6a43ebf4de53
BLAKE2b-256 f97c2868024eecb5dd7aa74976e0670d6459254cf4e2fbe41dd3d4be49fe9848

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.69-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5ac7439c866cf1cc83847a8340ad042e5c619e5a40bd42274b54821baa007c82
MD5 787c7100489be5a8e91d8849d0526248
BLAKE2b-256 c83e93be7f6009f405d2a24689ae68e560b895830f3b2c13b8a6144c1b58c469

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.69-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.69-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6343c1b5a27eedb53a72f614eacad86d36b91aa156c537920b30ffce9e241a46
MD5 44b835351d7d6961b448e05840b53659
BLAKE2b-256 caa5c87a44d9e3d2b857b4501d2ce7156f43cc1ed5e8d286d5d1f55d48b5e433

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.69-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 72a5efe295c0f468ceb45d59587370c5d4d16095da085431757bcb762540bbb0
MD5 3559d325c11f26c20f08ad81babf4dd7
BLAKE2b-256 22aec5cdef29e0772227820ccc7e454f364794ce893abfb177f25ebf21b21fd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.69-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 af04419f152b49e7bf2f743ab2d8e58b68252843b1d5d3393c01055ca8c0626a
MD5 738dbecff93616749e78d660aecc4866
BLAKE2b-256 461b844be91482a61887b386aac91fbe31a292f8a9b0cb4b4c7d1c4564c5478c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.69-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 18063b8a7a2202ea77fb8c8e1dd4a83f674fc0bdc610f406c25ff814f2cedb39
MD5 0cf93ebe8f6211b968357955a9ba2391
BLAKE2b-256 9ab2c34c650a75896ee35ab02c8dd9b0e5b6b71b116578a089b25ae3a83664a0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.69-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 45edec90c5c8e8bad29e85267c743b53b56638a3d0be5b8d88f1c11c3a0d01b8
MD5 9af16bd0316f9979f8c6b81831b50fa4
BLAKE2b-256 349daf8cf4d8e152e47c897e845af36c68463d00b100d4dceb8b7b6bdd10564b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.69-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c925faf114bcea3168dc606851b38a098a065bec081b11d308f9df0d894b7ea0
MD5 bd731196b499c4f5a43cb3e3b6543c42
BLAKE2b-256 c8d04966ea671c0ae1b5117258fb20cda654e10a3f95e0e819c32eb0fd79b22f

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.69-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.69-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 541431ebfed728212919c57909b82b54a48f778f0b53fea087ab3f87bc723308
MD5 9ac600209d797262aaf027e0623007aa
BLAKE2b-256 1dccbf7d2e49267059ddd0dde946f1e043862c09e9a9de6233fddf1df2344cc1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.69-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 72c98652c2f745a703f7341c1d76d959a4b2f9f9d21df642c62d21f590d57eb1
MD5 506b386ec4be58a06092f3e1aa608d09
BLAKE2b-256 a6ab9b90dea0cfca249f2688c788eedba7730c9b61ae3618b032e58c535aefbf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.69-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 34c86b56cf0cf466977d06372fa12f3e6a0c8d6d9da3aa514fd44558cb719405
MD5 db705ae0f2042d5ddec2fc5063b1f5a7
BLAKE2b-256 9aaed30f560642c4efa979fe2e67b250be28cc27c31905c15754430359eff76e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.69-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 aa138517aee1a8bd0d10d2a418efcd2322ae05178be617cfd797729198d27011
MD5 035d162a98c446a41f0b0f29dfa26dab
BLAKE2b-256 7d629da67d7f020c5b513fbddd67d54e2651f2aefea6ba5e3f3e1c81872d3f75

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dao_treasury-0.0.69-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 a019e04985a9045cd2292e0f070a83da9636e8562428fc9bae2fd0541b1865d7
MD5 188fd773b17741bb7d3f21da29bd90a3
BLAKE2b-256 e6033df313fcefdb6793d39940611e3abdfddf18b7bd2ba50ddf679533c57a2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.69-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1719aef9a903cf049fd1b3cd22ec059851b329a24a459dd984381083262b1379
MD5 7e7a3a9dd675c145ced716378a08dd81
BLAKE2b-256 fe2da1b395e7a7c091216108aec39942f8c9e7eba22e60ba34e384f751c52f33

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.69-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.69-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 be2d7a495994e1c30349c82081c756b2d4d08820303d03a3803afad06c5030fa
MD5 98bfdc1f09856926bb53c0e2a36f5e52
BLAKE2b-256 d986a23334c763be38c3d0143c042dd94154dfd0019678bf1eee0885f74796c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.69-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 04a742d9d1c75e659092e4852eaf9327483334425d274866b125a4fa93be07f9
MD5 b2a8eb9c4a822e8e6e4804d9fe272c24
BLAKE2b-256 41d7f6043a077a2f1d312802058633cbad52a754a1b9a335273ffc8ebf8720d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.69-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0a0f1e746d5a387c63675d34f0cb8113551f04df9729f002c002fa96d0ea3c3b
MD5 80f1b27d5fd9a2ac92d8b63444d6c99d
BLAKE2b-256 ea6ebe0ca57735a00d3967bf657aad183caa7f01f5865d3ca6f8a50b1f4603f0

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