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.33.tar.gz (55.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.33-cp312-cp312-win_amd64.whl (329.0 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.33-cp312-cp312-win32.whl (291.4 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.33-cp312-cp312-musllinux_1_2_x86_64.whl (630.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.33-cp312-cp312-musllinux_1_2_i686.whl (658.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

dao_treasury-0.0.33-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (634.0 kB view details)

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

dao_treasury-0.0.33-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (668.8 kB view details)

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

dao_treasury-0.0.33-cp312-cp312-macosx_11_0_arm64.whl (322.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.33-cp311-cp311-win_amd64.whl (324.8 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.33-cp311-cp311-win32.whl (288.5 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.33-cp311-cp311-musllinux_1_2_x86_64.whl (604.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.33-cp311-cp311-musllinux_1_2_i686.whl (615.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

dao_treasury-0.0.33-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (609.5 kB view details)

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

dao_treasury-0.0.33-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (626.1 kB view details)

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

dao_treasury-0.0.33-cp311-cp311-macosx_11_0_arm64.whl (320.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.33-cp310-cp310-win_amd64.whl (325.8 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.33-cp310-cp310-win32.whl (289.8 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.33-cp310-cp310-musllinux_1_2_x86_64.whl (616.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.33-cp310-cp310-musllinux_1_2_i686.whl (628.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

dao_treasury-0.0.33-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (619.7 kB view details)

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

dao_treasury-0.0.33-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (636.8 kB view details)

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

dao_treasury-0.0.33-cp310-cp310-macosx_11_0_arm64.whl (325.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.33.tar.gz
  • Upload date:
  • Size: 55.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.33.tar.gz
Algorithm Hash digest
SHA256 a5567f1e20db730dbdc1e92d4a94c7ad3ef6749425fda96f46b824bdfb88f4f9
MD5 1cd66d1f671c40aefecef209a69410de
BLAKE2b-256 2f7b4b5e093b9a5371bf649e390821ec25fb824e76539851fc868e6939006d3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.33-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 59e69c0f4111346878b71ef75fbd5cbf4fecf7b2707512d42ddd8f605bc9c787
MD5 9657b81022c7e0dc3a4c0cdffcafae4d
BLAKE2b-256 169f99ca56370e8cb7b46cfd82c68ae4c861ccb20909cc45fc046a4c90963144

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.33-cp312-cp312-win32.whl
  • Upload date:
  • Size: 291.4 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.33-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 176bf21d47f5403ad4e3b8efaadba99356b9851de3ba39cbccb706f5751599a5
MD5 01e298514529ee6d773c1fc608996933
BLAKE2b-256 f776d4a1cd2e0fb74608efab77ff9295d863837045b4786bc58eea0b02cfd7f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.33-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 38046cf0c79f4dc80db43322814e701ca5316b1f4a87fac5ce33f6076b134976
MD5 464379ed1e54ec07d162d16fa8c3cdcf
BLAKE2b-256 efd6952c9f871590d430cee9957daf4086bbf7b839b1cb8558bb49256697b5be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.33-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2a18bf6e1e2592998c9881d322cd784f1abe6fc9dfa374e6ede4038846a748ea
MD5 0052c657554b56d7b77a9f95de89f93d
BLAKE2b-256 c22acf0bf69be64a28d73f5e381e4288dacfe6cdc7d1b6eaf7a748e3f45bafe8

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.33-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.33-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 95124b495c88fad4879d3e7fff91ccc9683cd76dfe48b1786b6a58332990ea8d
MD5 280329bc8b6e5deee0742155824c3eab
BLAKE2b-256 90251490a004b4556938e5bb1f7f173d5be9d7d11d4fa095e1b21b8347766925

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.33-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.33-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 088eaa98c75a88cd3ba098437b129e6040e8c9f05ee0e06fab8ca330bdb597da
MD5 81cbc32e97ff1e169103c98c29ad4d07
BLAKE2b-256 59c5733776f2e5e6d3d177e2f19f6a4b20783782a68fe9e20c2fdc127980d821

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.33-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8e90c6f1b286391e579b35786699ce7f463e49c248515addec79a1f7eacb2462
MD5 2691babb6f149afe114a81cb7f6206cc
BLAKE2b-256 e5f887eb5379ca9833abdfc758ec1f81e4040e8c00a50c684d87122dd82f8d02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.33-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 eb447c1633931dbacf688ea2b6dd6ef2b1bcf455da55cfd370bd92ff029beecd
MD5 3e10795e07332643bfc5b5c936b905d7
BLAKE2b-256 1b90641b17f9ea8ee414e384d3b4a43694f559ecc3ed20911902825495b5839f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.33-cp311-cp311-win32.whl
  • Upload date:
  • Size: 288.5 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.33-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 1463d11d89e0aa13f1563f49a336d68f4e1af06e9a2a5e9497f08d9f902e9b68
MD5 896a54d5374897ce2a6b09aa07fc1108
BLAKE2b-256 6222e341701cce42541a64b738b565bcc6d3a2363eee36c003e415dd3cac3641

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.33-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b1f2604da63c8bcf2e0af5ddee049696447216a0776021b7299295b3c026fd57
MD5 421ce91d0fcd1c87f9aad2f3c74a35b4
BLAKE2b-256 f0a113fa175296991798a856aee18a95a8dd8b542678cf6ca8f840baff50a533

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.33-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 3c040ad68375322b5df436bd8954c18aafcf7c738d72b4aabedca596c786b8db
MD5 0fa26d6865e21a5465c0e0cf6e539ff6
BLAKE2b-256 87d62b49dd93b33fdcea8cca7dc498d28d4ff8b0b72694db8c0330b103d7d63d

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.33-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.33-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fd424edbebae9e95fa1f0b0ea8d1ce764a49b48477afd0b62f2a56312f5c3fe3
MD5 1c02240bf633a5a0cd158d5892925188
BLAKE2b-256 f1cd532f92aae74e8e6bd946a87b1cedcf9e90d4263e14dab22424fbd18243d2

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.33-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.33-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 16095628c997520d2e3c9c0f137407d24bc98341f034286b5b098bbbab028eda
MD5 29b48f8a0da22b81c8d580e8469f89a9
BLAKE2b-256 8d5329680cd8d08321b3411c503957aca85826190dfeb8c9f879d9d65c0b7d4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.33-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0aea3b7724b02f40a81e1a81b9fd344a18825da0d805aec9952c91329aa52e08
MD5 1be385aa0af03f6bfd7b03dd4fb5b9c4
BLAKE2b-256 061e170536aace43932036213191be9542a072ab1fd90fb8b58a7b6909f38a28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.33-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4b9472b2cd0efa009ef13d8b47ceb024119c74943df5126dda3bba31987f1ff0
MD5 8d039936ed3b09c2695c4ae3cd35788a
BLAKE2b-256 d68edd9105805c98d135bcfdaae78c9ec760983f1f1d1d4bf7e406fd5c57661e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.33-cp310-cp310-win32.whl
  • Upload date:
  • Size: 289.8 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.33-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 fb8109ec71dbd0ae85416a82fe51893d41e9ddb2c71142dd9a055462de8895ce
MD5 08dbdd4b49f1a6b25c18134da54e7554
BLAKE2b-256 83ff05d138a526e3c2599ef1fbbc28197a14ea77293eb3bc2be813007279250e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.33-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5e759e05a277338ab41f28d1378e8b288b284871f3bbf1bb0b9a30a21d79ce12
MD5 67f3dc41d732c1eed6c9d5914c37ef52
BLAKE2b-256 f9734e6c7dfde3e2b352920ca68aaff86e6e80509d3a411cefcca776830db8f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.33-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 3c0aa55d067ffc345c0fb24aa272d4dcb812a976a758fd9fbb955b3eb0484873
MD5 975fc8b734c2bb042225dd1d7fdd547e
BLAKE2b-256 d624bc2edb15cad0861ad7bd38e660445c50caf25faf0f76f1f585cb368f6472

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.33-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.33-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9ca981c32948ce74d1a1bb573b64a3ebd0a261b1284b831e1a1ac344bf10e279
MD5 72cf9fbaecff8811fea9c31c92c0aa4b
BLAKE2b-256 7c8d2e636b22a875bc9d74c4049f2833ad858baecf33a2a132686182ab962f54

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.33-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.33-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 ca0d9b09c29b203116ba394c015115c91a474522e2e12e9ee52e0741be765172
MD5 42e8e9cc41836e7bb25d46325db1b43a
BLAKE2b-256 e9efce4415ef79bd361cbe1f9aba2fbbf00d2cf5e9dbbd4a398dd6d4b6bd511c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.33-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8aa3e4e7fbe08b5e1ca6ba6fa10c79ae585e78f547d8a6f9f06d6e7e2e8b20b3
MD5 0447016f4d0ec1b118092e6b1b58073e
BLAKE2b-256 6547631f280ee4a0fb55b5b5ec178f1d5f807bba589136dd77ec3585d02b1dd0

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