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

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.37-cp312-cp312-win32.whl (291.6 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.37-cp312-cp312-musllinux_1_2_x86_64.whl (632.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.37-cp312-cp312-musllinux_1_2_i686.whl (660.6 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

dao_treasury-0.0.37-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (635.7 kB view details)

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

dao_treasury-0.0.37-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (670.7 kB view details)

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

dao_treasury-0.0.37-cp312-cp312-macosx_11_0_arm64.whl (323.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.37-cp311-cp311-win_amd64.whl (325.6 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.37-cp311-cp311-win32.whl (289.0 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.37-cp311-cp311-musllinux_1_2_x86_64.whl (606.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.37-cp311-cp311-musllinux_1_2_i686.whl (616.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

dao_treasury-0.0.37-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (611.2 kB view details)

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

dao_treasury-0.0.37-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (628.1 kB view details)

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

dao_treasury-0.0.37-cp311-cp311-macosx_11_0_arm64.whl (321.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.37-cp310-cp310-win_amd64.whl (326.3 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.37-cp310-cp310-win32.whl (290.2 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.37-cp310-cp310-musllinux_1_2_x86_64.whl (618.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.37-cp310-cp310-musllinux_1_2_i686.whl (630.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

dao_treasury-0.0.37-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (621.2 kB view details)

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

dao_treasury-0.0.37-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (638.8 kB view details)

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

dao_treasury-0.0.37-cp310-cp310-macosx_11_0_arm64.whl (325.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.37.tar.gz
  • Upload date:
  • Size: 56.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for dao_treasury-0.0.37.tar.gz
Algorithm Hash digest
SHA256 37c61ea7cfba3852d001a6aba15ae9097e0fbc3b03d7739fe4ded231e944f334
MD5 a73939d2e5bf4ff94f913c04bec3a1f3
BLAKE2b-256 c9f35b31591a2754243043edfbb214742bd3df6d568a3a3de94e9e8f998911f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.37-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fd2f6696507986699664df6077715efa4620426c250341454e6d5567dc82a071
MD5 267366978a6c36748bfa9cdd5090739e
BLAKE2b-256 a492d31581b56b7f1b574b16d14490ce4274fa43ec14b5d59d5e27ae6f0688f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.37-cp312-cp312-win32.whl
  • Upload date:
  • Size: 291.6 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for dao_treasury-0.0.37-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 8d813e0eba2384e061fba8d88e835e05c58fc17006ad6c14d2017a871f9f79f0
MD5 66d2e2a366f785c2f6f9300a8fc2e33c
BLAKE2b-256 8a4c17b1212b320511cdc69563b9677c6610c41932e3940cd7c274f63430ad9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.37-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3fdb6bea1adcd34a5edf8582d94595f136c0318cb632bba105ee2ef099611f30
MD5 7e38d4e1c57355dc67f7dca952807c5f
BLAKE2b-256 2e53aab50122d3e7c4081a894949d85feef27ac209f72b41baa2168211e46a5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.37-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 819965c37551331ffea4392588a0efdde1939f57b9e17280b4fb6b94450507bb
MD5 8d306b8c210643fea1f8482b2251a761
BLAKE2b-256 8870e255c3140064efef675f019f2a7303f1bbec6d859ba694ce0585e3bd1259

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.37-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.37-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 559153931fc4ebee31888eb346c2e947530a8829bc57d1de2d97ea73fab85ba8
MD5 73b5b1cf2a5a41a3267f201a6b192c3a
BLAKE2b-256 46dffbb8bc9f6159556cb7b05c9ec0075b24f28edf5468575d37508edd245c15

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.37-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.37-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 ad73980dc7e9f444d72757bdd31bb0682b223521ddb112dc85ecf8794ddacf5b
MD5 583618dcd626d04187270d1c6fc17558
BLAKE2b-256 e03658488ca849a6fcd5f299e17800ed6eb748f5a41259c2c2f15d626776a1ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.37-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c3e930419aee3a9db4b4f815876f79af26cf627c50f6a4dfdfac4fd04624d697
MD5 dba521144173c24599129b6dec7a16a0
BLAKE2b-256 1a679eb5397b2360a1d9b1dc9c07e6c9fba7274630a2d59164471d2a629c4fca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.37-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6dcd0e398a9791ce0ba5f8e6721ddc4820e8d8e241b1f8974640f02659ade8b9
MD5 729e9e7b0fdb82308c6dc332533f8e31
BLAKE2b-256 d290fc29c1f86422613bbc6462f5ecc28633ba20d802743c1f7c0b54a89582d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.37-cp311-cp311-win32.whl
  • Upload date:
  • Size: 289.0 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for dao_treasury-0.0.37-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 10536e06c6908f19d57d7f758c881ea9e9e0dcf0571f2144ad86f8698aa9c32c
MD5 35af79f74814e371a1a2cbd2b8c8fea9
BLAKE2b-256 df58ebee20100f8889e09c258a233f71de8b616059d2ebfa57fb60b2049547bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.37-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 494d9117a298a0e755f598fcabda3b3f4a237f7d0275d33e3b5d8c727bd5f1d6
MD5 7ae3374d3d8d2ec4fb818215f3ae3404
BLAKE2b-256 e90db292ee41b6f32ad9f93926a51656e1629aa0f5e9f772141a3aff4110743b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.37-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 9816865bde5bc29f44cbf7dd8f1805c98ddb0c3a4cd23d4fbca4d08fdb2c6072
MD5 7356b251cbc593b44da24b184d5ee983
BLAKE2b-256 196186bba470c1f9b27efac7f04b7814c866ca1da08c81f72714ae9906b9e2d3

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.37-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.37-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ab01bb4932aaecfc3099664874c2bcd4af123826dd3965487ea26640601f213a
MD5 6806dc40172be6fac9f013bb8d8530e3
BLAKE2b-256 3a7fd3339d3bb91de5ce0ff0f38bf2dcdf65fb97339b67de2f43a6ad05c18b93

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.37-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.37-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 9da007055b387f8cb0c08929d88a404d2154e6e0366103ca9b927f8dc1d9f162
MD5 637b79784ab38b68b4886e6e089e4183
BLAKE2b-256 2db69d3ace70d888d4cbc090a626ad9543bfa7d5a10823116d16c000c11c7221

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.37-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 60afdef4fe25b21111c11f7ed43dfaef9556387b2e3b7c705447b8785056c4ff
MD5 06b710f53300ccfb1b1640492d0c8489
BLAKE2b-256 88b4a126782b108dec85721010e19175a972665b84039a510a6c06ef8da51a24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.37-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bf9afb4507b1c15e17261b58cf7e33df4b5ea1022575544bde3031365108e8b0
MD5 733ef84c6f42e6acddd67e7a905f6862
BLAKE2b-256 c0585099678b18210eb5c4e9a4a5e401b6d228ff87532dd28e830888c7d14a35

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.37-cp310-cp310-win32.whl
  • Upload date:
  • Size: 290.2 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for dao_treasury-0.0.37-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 57c9da697711eed90723117ffa376869d053fd6534e5aa55b7aa9d78949a6dab
MD5 1193a9cda94f7c97b66bae6d3338c975
BLAKE2b-256 b19355ee5c12177ce7feae5f1e66267dc04553978a4f72f67f391f21a94ab101

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.37-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fa1bb6dca216d121c4bee4daed48b76b69762fadb6a3525b7f84c768aa459e2d
MD5 1edeaf125ce3bf29fe0451245936f439
BLAKE2b-256 9d2bcbf0cd2545c79340c388a73418fbbffc69464beb074158746c3e63d02063

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.37-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c8aa74979ff9bfa8558281403f5e87c2596b5fadfb47dd8cddcf5f06a7312111
MD5 92c81e122ac2afef4d101a53eea6018b
BLAKE2b-256 7dc181300c06129686761f07630bccbf555353bc201d9821a1d0f7ad68e7d6f7

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.37-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.37-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d0ffc9ad324b4ad4d5054d41de92c12738370b91bc412a6a4b1afbcecd35ac48
MD5 32fb763c3cfcfe89879e9dd803582bc3
BLAKE2b-256 393d54e38d1091c8fb52da126233f245925445e5bd9830bbd7e06e9f68ca34a5

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.37-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.37-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 3566be1f1ddb9f63e775076721a7aed228e6ffb35cf43194db934bdc74d28959
MD5 fb01c79c60fc59c90f6242ae3322c819
BLAKE2b-256 e57dbe24eea0d4d415e57db28a5a2b7c73bfa6852939a66a4de575410e1409e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.37-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 932c462f4a4ec73a57fc1ef35eb499650691ffc345e7634e3efc7f00ccf8be34
MD5 a93ebd4cf5e63eba530bf3c143736a12
BLAKE2b-256 31a981ecf07cbc941207febe4c6ca346c01ff5e562e2c70167aaf5e64dd922d5

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