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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.51-cp312-cp312-musllinux_1_2_x86_64.whl (644.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.51-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (648.6 kB view details)

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

dao_treasury-0.0.51-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (677.1 kB view details)

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

dao_treasury-0.0.51-cp312-cp312-macosx_11_0_arm64.whl (401.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.51-cp311-cp311-win_amd64.whl (322.4 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.51-cp311-cp311-win32.whl (288.0 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.51-cp311-cp311-musllinux_1_2_x86_64.whl (610.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.51-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (615.3 kB view details)

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

dao_treasury-0.0.51-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (625.2 kB view details)

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

dao_treasury-0.0.51-cp311-cp311-macosx_11_0_arm64.whl (397.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.51-cp310-cp310-win_amd64.whl (323.1 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.51-cp310-cp310-win32.whl (287.7 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.51-cp310-cp310-musllinux_1_2_x86_64.whl (621.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.51-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (625.7 kB view details)

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

dao_treasury-0.0.51-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (636.7 kB view details)

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

dao_treasury-0.0.51-cp310-cp310-macosx_11_0_arm64.whl (401.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.51.tar.gz
  • Upload date:
  • Size: 60.6 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.51.tar.gz
Algorithm Hash digest
SHA256 039e1bef0af9a4af25268c96f22365a116c16fe54170667cae8857390c8f99bd
MD5 2a28b29b9469b2a4451c5eb31059bed1
BLAKE2b-256 d0cdf285daadd5cb3035b120076be64e9e098d85e2f050455f748c88b71303dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.51-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7fb5dc3e427874affae0397173aa35aaa6f9ed7924d0232e2562e848b54b35d7
MD5 6d9e5f157927cfcaadd86d4c1195724d
BLAKE2b-256 eccede988ed4b0741e7fa3d1e0ab30b7ce31d16415c2d23cdb0fbea3ede83675

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.51-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.2.0 CPython/3.13.7

File hashes

Hashes for dao_treasury-0.0.51-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 80853458d4348f3e7ef3e07da41fef0ade81d9d1eb19eaf98a5fb20059dc098b
MD5 911d1f2df3974d154ec5802b6d8f7d9e
BLAKE2b-256 14f3f5c18f1eba6a12bca9a76a1be8a118a42f7f3416c73346196dd59d1918f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.51-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9b1607eeba69829502ffe5b913167c09325ef5855aa9e5479f41321a3cffa4fd
MD5 002f214b368441d605a5a243ffbff0ae
BLAKE2b-256 50bd25f816d80608b8e4acd7abcb904fedd336affd5b003bcd01e6e206b5c431

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.51-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.51-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4856457f2c3bbddef916a0e30411c93839ac38388a452da2017d56beeb315093
MD5 0bf15758559f1977fa2d04e997576a33
BLAKE2b-256 802e7bd89395f3a14d2a070a2f27030dfe54a3afa520f7d541154c75e16d5a3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.51-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 536e9d656ba455d359ec023c049a71ce0a9b9131a7ba8feaa32cac55a306091f
MD5 121714c67ba8b7c6c714766ea452f08e
BLAKE2b-256 603102ec610619f32889cbfda6237dd119328ee8e0a561e4d1a89921892b182e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.51-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 17eb22dc87dd2e2914f9b31889027082e5629ddbd9bac6c9d876b458f2150957
MD5 279e0364eec9d7a9451290a4fef85528
BLAKE2b-256 4ff572daff143bb21e0ac505956b856521ff155a482fa0ea97f8beea4452a8f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.51-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 60b37a8a31e5f1e09deee886b3b10495b6269522470e1052872d5e15a54c720e
MD5 f8146583ddc9b406e5ade542545c8a09
BLAKE2b-256 7b590c4842d2ad2b71c0c13130851de5a82ca11d224527cf4cc66e3a6f9ec4db

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.51-cp311-cp311-win32.whl
  • Upload date:
  • Size: 288.0 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.51-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 cb5aa257380dc202c726a5aff2d9eba10d3cc8ff67eb3740d3e338fb475e8c6b
MD5 91f0bbf5d120cb9ece8656a99006223b
BLAKE2b-256 f85045e250b01c1509139174a390f5dec1b6f026147c22208fc9a3d272a3e291

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.51-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4aeb505b488f978a42f43346d50b7f2e46d0906db68655585cf10d363c7b006f
MD5 954e0daea8e042efec5c7e6c66d587e0
BLAKE2b-256 dd71f54b0ab0fb2bb9eec99ad6319488210cb587b7809e37b4fb3528189845a9

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.51-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.51-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ac230da7db9b1f856072557e89744a79c98f5ce689a6fadc751c3c7b0e7527bc
MD5 28912a166635528e70838d05e35fef93
BLAKE2b-256 b048695d633da792f01cdd35c2c10d0793b37538f0ed3c68acdfabce58e3b9de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.51-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 f7c1722a14e44668715c15fcdce8dcc55c5d7a5ac610d7950733241e4cd2401d
MD5 65730db3468e38c23fb7fca55bdb009c
BLAKE2b-256 759f02c62930df644eceaccba38f5e181bb55c4b6339a31fa729b12790a0386b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.51-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 159066a1f39592a3538be8ff0bf4f560a1ae106ed3d1d12ae577aea472690903
MD5 b29afc8146c50fa672aa786017a78b14
BLAKE2b-256 a9731d4fb1cdbb85201533cfb2775b969a46a6528a0c2c85adc9ee91ee826fec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.51-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6b2c83820dfb4ca99da404a5b3ecf3c158b0f6f9456b79c7824ca0b9e2a6feea
MD5 4266c11d080bfd99e1609b271ed613aa
BLAKE2b-256 88953455b620ae361c1d29d1c16cc2c10a7aba00d9a3576026642afc8f4d999d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.51-cp310-cp310-win32.whl
  • Upload date:
  • Size: 287.7 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.51-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 2880e213108c3881a66ae3cafeb2fecd28aa32323823600d2a3ae69e99d95d20
MD5 195e9635d26daa2a830725b7988919f3
BLAKE2b-256 f106bad0a22e5fb5064cc379e2aa7f8ba1f01231719cb2eafc20c79b27a9a72f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.51-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 57ea77e0145eee3ff8f88b69ecafa128499f6b4c3d07bdd808b44dd2b0d575f9
MD5 36f4446021ea21150001c78b7709aef8
BLAKE2b-256 a5e154e3b80478255f9a1932d58b2e72200626613c177d7a6481121b2e17d3fb

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.51-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.51-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4d66213b91e8ca68bf3941dccda276b1fb666059fb66a4f5f7a1d03cdf996f91
MD5 7f7ba5f5f2b349918de948065956fe5c
BLAKE2b-256 980f6f7ca576bb0842599fd53cc191913439ecfb8cb9b1f609ee3599d2756811

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.51-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 fa71e9280b563659371cb695b5fbeb3935e37abe4b23d82f64fcaf61ecf66b68
MD5 d33d683d44215aadd694f1120a85159d
BLAKE2b-256 523662a68899658a6ab5d35b0c39eb5d1dbe4c0fb52a26d4990e62b1ff0aee7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.51-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f67b412d7313ef16a9686beb139c20cd9b638212afdac85e2d6890556894838
MD5 0245c728d5d000425a930f9107162c91
BLAKE2b-256 e178ecd85ac62fb5c337fc123843181373150c0c8b2383fb3bcbab2843c434da

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