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.46.tar.gz (60.2 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.46-cp312-cp312-win_amd64.whl (321.9 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.46-cp312-cp312-win32.whl (287.4 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.46-cp312-cp312-musllinux_1_2_x86_64.whl (604.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.46-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (605.5 kB view details)

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

dao_treasury-0.0.46-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (636.3 kB view details)

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

dao_treasury-0.0.46-cp312-cp312-macosx_11_0_arm64.whl (381.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.46-cp311-cp311-win_amd64.whl (317.7 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.46-cp311-cp311-win32.whl (283.6 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.46-cp311-cp311-musllinux_1_2_x86_64.whl (576.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.46-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (581.8 kB view details)

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

dao_treasury-0.0.46-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (592.1 kB view details)

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

dao_treasury-0.0.46-cp311-cp311-macosx_11_0_arm64.whl (378.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.46-cp310-cp310-win_amd64.whl (318.4 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.46-cp310-cp310-win32.whl (284.5 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.46-cp310-cp310-musllinux_1_2_x86_64.whl (589.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.46-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (593.2 kB view details)

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

dao_treasury-0.0.46-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (603.8 kB view details)

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

dao_treasury-0.0.46-cp310-cp310-macosx_11_0_arm64.whl (383.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.46.tar.gz
  • Upload date:
  • Size: 60.2 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.46.tar.gz
Algorithm Hash digest
SHA256 5d2ef0f49fd916ed502cf0adc375b161c3657d84d726bdead63c0d8d5009e657
MD5 8153a4faf7af027749e6eea00937f646
BLAKE2b-256 74632957307a8ae2c80cb9dc2b402c547e4ec2a7fde986ce5dc8feca73ede26a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.46-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1ddbe83208f5b527bf692212096fc986170475f0f1d705098048f3bc13e757df
MD5 5fd1936fb0757a60ae24e511e422faa7
BLAKE2b-256 9aede7f9cb09bdd91c1ce84fafa29346a447a04395b871072ccbd680db7a2125

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.46-cp312-cp312-win32.whl
  • Upload date:
  • Size: 287.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.46-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 405a4b12b6408dcf158c2b3e30402cbae7318787d71b93b25e146be7b724d4a8
MD5 d33e7cef25eee19a58cf6e899d0fdbbb
BLAKE2b-256 e754a4dfcfb4ec664eea0c4ffff2b025190fff507107b23db4b0ff5fc424dec1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.46-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1142b48e5d1728413fa76062d817b253f5ebd923545dd6ad97317d70d216fded
MD5 b531fdde5e2b54b315d6d9625145ab98
BLAKE2b-256 e3d957ed621d0ad70788a532aa757816bb595a29992a09045b9faca58c800933

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.46-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.46-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 81020762e9c84a9f177e9e94d49196be3875586323309b46d79c461763f0685c
MD5 d3a8db61c2c14c1a8433ff44422193c4
BLAKE2b-256 b7d3ce6b084d9024ce606685dc1205c12cafe37c8b6c96c5abbeda68b0cdd9a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.46-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 a24f287a6795c6158d6a9a15d30632b458d99dbca2aeaa0afac9c684cc61f300
MD5 5778cd53309a153fb36cd7587d19885a
BLAKE2b-256 f1ecad5e22fbdb7b18a75d8310800f22c12411a047e2da30dd1c0fed1a2ad488

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.46-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 493caa84a86293f68d0f05292b04a4a307f8c0713e65d990c9528d6832b72d88
MD5 bab7c1b3f0a8627ac384f4ede82093a7
BLAKE2b-256 82044e5d401d32b898d66bbc964aa056d22991caed73b7abaa8c4158c988a4d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.46-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e328200577777319460aaef2a6e26aebfcb727165ae4aeafef226fde97c980f6
MD5 568b981213cb60e7ee8252c94f849824
BLAKE2b-256 c165ceba536f7e19137b57b86ee148d8b62d21bc7bb4df669e3abd4d23823cb0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.46-cp311-cp311-win32.whl
  • Upload date:
  • Size: 283.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.46-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 5d74eb328dc65df93eecd22fc3b719f2bc36056b52fb36459b90f7deeed2dbfb
MD5 a2e94c933605c3d719f7c174b3abe8a5
BLAKE2b-256 ba35f756adacd8cf84afadd8ee76e2029adaf5b26ab4fa96d34b7becb45bede9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.46-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8162fb2f618f7a8e892b4db1dbc1780fcea7a67787b4647affc19bd02ab52c8d
MD5 52ec87a21f28c8deb7d1a5d2062cd52e
BLAKE2b-256 e2b3b581d54fca4e523f12669acb2fffce2d001d29590abce335c43c144975cf

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.46-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.46-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0110ff3651fd7f08bfd3f0278f488576625072f956b8cd833dcb703bf528a63c
MD5 4adc5f4d3e561378e1bd07144c4c0ac3
BLAKE2b-256 641ca9d9027fab4985ae382ad650c5088cfa8b1ef4a981c8a2d567c15167304d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.46-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 df859f8c9109560c7456e5b1e1b72e1d32dcffcb1983a9dcceb3c68587973c43
MD5 c9485d38e6d974c0bc2f03c4fa2d7aef
BLAKE2b-256 2e9915411d2fd6a69600bb5e08e6a775ab0aa62c589a4b596b5d0767a7f211e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.46-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 064acd418fb943204c5f2ea8151a475f64a7617fdb87e6c1485fb5acd35f4e87
MD5 c4137f90c3b9cb782b1ef2223aad69af
BLAKE2b-256 eeb17982271fa4e29794549ea18d2cc8b50ffac375cd9fe35e0d1a9f061fa790

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.46-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7f4847cae77a88449478b6b00392d9101c71f1597d23ad9e1f8ee1e7102bbdb4
MD5 36962cb3ceb3d05ca0392f35328ded38
BLAKE2b-256 f2bcc702aeb44ca53cdbda029a270e23e047c9a4af2ee04242bb69a0fb428132

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.46-cp310-cp310-win32.whl
  • Upload date:
  • Size: 284.5 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.46-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 58eeeac498c20afd79942e071a78472c4a2e1825980f83d01329032af4a9cc2b
MD5 e0dcf63fb8797ce06f8f0f1e5a5b5868
BLAKE2b-256 e1dfc4d49dba9ec5dcc849270c169fdc2330758e0d5c4f07cf641eb66aec6aa9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.46-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 40dfec622bb819aef3fc196c3b87d42c1d3552c4ca76b7aa1320916d6eba54e2
MD5 31410543681db164bf5c598c6405770d
BLAKE2b-256 96a863f0df9547ef1a8ff16887ba722dbe8331afc14ab0cd282e126d9398f874

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.46-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.46-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4c80866a236afbd4b5e55710c0ce2a8b477bc23a7a05cd50f3ae9a5ca273aa14
MD5 67178d04935e1c726fa5d07611558424
BLAKE2b-256 757c7b667497a7c4a956907306dc24bc120df615204fdf3faa250fa997d90e4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.46-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 b4835ec7e0f24a4d53fb6e30883004e6fe317f5532c8c8c8d2f4472238426fc1
MD5 b34cc2f9c99390bee8826d47c1ff9788
BLAKE2b-256 dff3a8cd4e0c6ec3b2e1dd5c0d41a1f2aa9206075bb26c3ffaa81a148bdca4f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.46-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ae65e7611b2b88e31997af8a5ed7a0e153aff585e1e78d836c6d3e42c9485de
MD5 d6b7b83681b05865a3ef00d7dcfaca9b
BLAKE2b-256 dbb580be6336fd9b1c1aa7ea5b99f673b759a1bac8b4d4fc6d2e385c64a14600

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