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.68.tar.gz (68.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.68-cp312-cp312-win_amd64.whl (337.7 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.68-cp312-cp312-win32.whl (302.6 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.68-cp312-cp312-musllinux_1_2_x86_64.whl (655.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.68-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (660.2 kB view details)

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

dao_treasury-0.0.68-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (688.5 kB view details)

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

dao_treasury-0.0.68-cp312-cp312-macosx_11_0_arm64.whl (412.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.68-cp311-cp311-win_amd64.whl (333.7 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.68-cp311-cp311-win32.whl (299.0 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.68-cp311-cp311-musllinux_1_2_x86_64.whl (621.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.68-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (626.8 kB view details)

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

dao_treasury-0.0.68-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (636.3 kB view details)

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

dao_treasury-0.0.68-cp311-cp311-macosx_11_0_arm64.whl (408.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.68-cp310-cp310-win_amd64.whl (334.5 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.68-cp310-cp310-win32.whl (299.8 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.68-cp310-cp310-musllinux_1_2_x86_64.whl (633.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.68-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (637.5 kB view details)

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

dao_treasury-0.0.68-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (647.7 kB view details)

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

dao_treasury-0.0.68-cp310-cp310-macosx_11_0_arm64.whl (413.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.68.tar.gz
  • Upload date:
  • Size: 68.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.68.tar.gz
Algorithm Hash digest
SHA256 a532005aa6914a69a26d45279a6069ae5b1de6cf78d120ad124a58e40fae2bde
MD5 433267e11a5d6c05999ccbc4b9be09b1
BLAKE2b-256 14a4dac642ee405f330d1c447c4b02f26b1c708afbf526eec86d299ed4964089

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.68-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5178bc71913103595380cb3e1f3fd7347c0edbda47be609286835f8152322175
MD5 3998339f41a33235bec7197b28b2f893
BLAKE2b-256 6b5ec69deaa87400618e790da696bcbe7963ad519bbe6030f2c06f6e2b8789f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.68-cp312-cp312-win32.whl
  • Upload date:
  • Size: 302.6 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.68-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 6f54386405f2f6c69b3d2993a31ef2bb9c5bff686b391234f436d2b4d6bd5e59
MD5 7d6be267f9c9c4907ad728ee70b9c57f
BLAKE2b-256 1931b51c253911f9427affcbb0a19db631e1490b49eb055641c816e977c46adb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.68-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e3fcf98bcce150a54dca84bda0c4c26d74c1ba7248986547f042e476209f240c
MD5 18d76e03a9163eb75c02d70100936a00
BLAKE2b-256 f0467e2d5ec7560c8b83e41849e854e91f7d00361ccb0b3abb2bed1e9d742797

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.68-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.68-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f957b93f0fe65d438472494f65ce1a7cd6fe01b646f5b411e4e2313ae59c1ed5
MD5 37f6ea05bb51dac864c9171eea542590
BLAKE2b-256 08fb4d9c684c0fe5bd858a3b0584c3b13c55502dd3483cd18ed7f59d77c25eb7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.68-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 f638aaaa03be6922272075c575b62cd25ca30996c83c9590abdd3e5348c371d4
MD5 88af5c4f17ce7b279304a1966fe4c40a
BLAKE2b-256 878c21e04787496ef139327ff83a139ef3b4c2974272e64a59c57474b0ef921c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.68-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 532f1462dd61ecd6ea6c4e1340686ad6e33e5ccfab191131f32e3124c11ba1e6
MD5 add78dea57e2a0b392c6bd660459bab5
BLAKE2b-256 acab4f4de3bf8a27ed988c458706da032952051aecf82f14b1271c40454d02aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.68-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fd417573a981dae4ea6a0454d01d03515f38729e1d600dc9226b3a22145df32e
MD5 df27bc2c4e535c858be4cd983ffadbef
BLAKE2b-256 b49efe26b636300afea1ded7d180ecc4111ce5ebdee5b732c49016a3645ed7b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.68-cp311-cp311-win32.whl
  • Upload date:
  • Size: 299.0 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.68-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 455d665d99ed6ed3b5c04e0ed6cacabe3edb44ce10307288fae7b34acba2506a
MD5 bf9e98502f03b8871fc8bea4117a114b
BLAKE2b-256 b6a03a727e7106fdca6b1681e6bd1ad8d043c42bb57528cfd57206bbf1adbc57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.68-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b9a56366aa0a166fed8efdeabade35ed6afb7b9c609199e7dbf80d7a88e8e4e1
MD5 e217310d461980f73c078693f5de0014
BLAKE2b-256 40706fcefc1567b47a6270674dfe3088cdbc12bea0b088f426319f3180a8c6af

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.68-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.68-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c259823b6e37a92e495139edbf180821d50322afdbd47215669323b4b311e72a
MD5 17835884c18bedf6eb002374f61da3b6
BLAKE2b-256 da2fe16df4831d528818df2680a0c36ea6b9d4f132cf8bedfe0ef411ac38de8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.68-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 1b68e8f885980badf9a9e758e427fee551caa4f1f7dfcf5b8f19776e879dd49b
MD5 4d14be941235efbec1918d999829ccb2
BLAKE2b-256 c41ec2d60d1e072468660895af3a61347a0be8b259c5a6cd995b159966cecdca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.68-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca0012ff2c036ec752b642edc466e6217e2322d1625265db5fcc9df6d955336a
MD5 db2c2cf899557b6f2bc88924077fa100
BLAKE2b-256 3f65de96c8fcf6eefac2ab71e62674a72c5f79bb696b34b9ebf90062ed018a50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.68-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e7c96e7a985ee25d1df817286155e75fee1de9f8a680040ce6e4d60b2cf91b78
MD5 f6b01fe56245505109ad5815d82702c0
BLAKE2b-256 e659b27715431b1c471615165939d7fded00d57f9820065af11fc9bd0b9c1ddf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.68-cp310-cp310-win32.whl
  • Upload date:
  • Size: 299.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.68-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 a3e117f9cf4fd0465537f8f616e483636578e6e2c36126b8c600da61c8c75b53
MD5 234061988217d46a8dba6e1dcca45162
BLAKE2b-256 a45254f0ef7219bf9cf1137c6f826a7290bb4e04c041ee3504bc5db264ee5532

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.68-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 25eacc2339778a844bcc465031fe82cf43d0a77d43a7172a166e993c2051644a
MD5 e0fee067837d08c4a846c00757d4d26d
BLAKE2b-256 84a4ded1cd986ff156b0cec7b90eaa428ac299a6c95df2301e9efdb694b5bad7

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.68-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.68-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f4496152bec2ac25cb9e272403c0abe990bbe975097090c46ad84482838a37c1
MD5 cde4f8ca2944d07b4a6e36fa671b7dc8
BLAKE2b-256 d12d5afcb49db1b83dbc414740c7a9b56ffa67f4d5bb785cfd04385d060bdfdb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.68-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 1eeebe95c45011e2bdb95568a262cbc7be13555781f14bd1d0a0559ccb17bdaf
MD5 33ba14d4e7a655cf18af03031a6054aa
BLAKE2b-256 02b2c7eeae46c0a89e628168441623259be9814fd17eaa708f5df94e59848883

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.68-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f5e8d781bfb7ebd565209c65293b70c562c22fac2396ee933c84c303edd6c561
MD5 3b4a4b6504a8a2f4004ac74d4400518c
BLAKE2b-256 c607756a61f35bbd43010c1d96daac2e5535461ada9c87c59139ac0ee3074d51

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