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.41.tar.gz (57.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.41-cp312-cp312-win_amd64.whl (321.6 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.41-cp312-cp312-musllinux_1_2_x86_64.whl (601.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.41-cp312-cp312-musllinux_1_2_i686.whl (633.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

dao_treasury-0.0.41-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (603.1 kB view details)

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

dao_treasury-0.0.41-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (634.3 kB view details)

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

dao_treasury-0.0.41-cp312-cp312-macosx_11_0_arm64.whl (314.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.41-cp311-cp311-win_amd64.whl (317.2 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.41-cp311-cp311-musllinux_1_2_x86_64.whl (575.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.41-cp311-cp311-musllinux_1_2_i686.whl (587.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

dao_treasury-0.0.41-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (579.8 kB view details)

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

dao_treasury-0.0.41-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (589.6 kB view details)

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

dao_treasury-0.0.41-cp311-cp311-macosx_11_0_arm64.whl (312.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.41-cp310-cp310-win_amd64.whl (317.9 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.41-cp310-cp310-win32.whl (284.2 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.41-cp310-cp310-musllinux_1_2_x86_64.whl (587.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.41-cp310-cp310-musllinux_1_2_i686.whl (602.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

dao_treasury-0.0.41-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (590.8 kB view details)

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

dao_treasury-0.0.41-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (599.5 kB view details)

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

dao_treasury-0.0.41-cp310-cp310-macosx_11_0_arm64.whl (316.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.41.tar.gz
  • Upload date:
  • Size: 57.6 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.41.tar.gz
Algorithm Hash digest
SHA256 62502a006bbfbd2a71d831305e0473d16551a4aea8be66134ce89fb7c4b744f6
MD5 cbd5aa7cc93b1a32f328ef9654c2f750
BLAKE2b-256 1346a497ff7b29199cc8f91c705fac5ce7bda0bef36b61e15c1ef60308d90d95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.41-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 933fbea9fb08f4a01d9eaf623f8588fb2f972902201a19f8ad9b0aa2ad9c753d
MD5 80fdae0c3cf1eb078ab6564a4cedf5c2
BLAKE2b-256 8bc3908fe8c8b63cfc5b6968d46473b595ff3e0d3b9a693a2a6b581ceb310c33

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.41-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.1.0 CPython/3.11.13

File hashes

Hashes for dao_treasury-0.0.41-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 bb95ec1b91f5dd77d4ed14d80a97dc4ca46f550b6cf134ffebe060e67e31dcd8
MD5 11ca08a1b9707d9991b14064bd56e6cb
BLAKE2b-256 4352e650d8e76ff428e3eb83d6c2d04387066184b96c5727c175a1feabb91449

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.41-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 374aee4b9fba12231cd1a4512b872d30c0bf5b3eb88ddf7ce41aa4016258a382
MD5 df549b1d1ac7afb04a37d364a451fe44
BLAKE2b-256 9e35e66fd418a8e8c6c95b79826002a3a81f16b5f7379fa3f51c15271270a70e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.41-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 738f29bfd78eb03fc9f8ea0fc42a1526c7029799472ba39f4712fccd64d02940
MD5 04c56990254ff8214cbc2e0140aa35d4
BLAKE2b-256 7e49fea32be99fa7f636797210507f68a412a2c6f2d1755847926a3245cfde87

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.41-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.41-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1e79592eb5da68c41ee83837178a60bba43de638c67dffa4e38990872cadb34d
MD5 a238bb04853b6d36f8871443b7e50413
BLAKE2b-256 b2683e7a34ea80fbeba4f0975496b18d913385a025d94602e919be9f5cdaa643

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.41-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.41-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 9954de64df34a78bd8bb32305030d51cdf7f26abda200a8147218809a1452fee
MD5 dbe9fbd12fb004d4e513f5b484e15590
BLAKE2b-256 3a2941f3fd1dcb000ff6154bb12391851d5f4e77c92b0876676c3eb44db076df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.41-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a87e90c56aa02811c75f5cae0d1539cfaf8c101cd3d8dabe74a330b04e7fa41a
MD5 d898a95091cbc36699c47be875d67f13
BLAKE2b-256 997a4f033cc5975bf6cbe828431af2b5cd860985a222b62785ea280f69cce4af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.41-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a303ae1d6e467dad3b5649adf7570dd94f9072cb6d83fdd3fea2687a641d9194
MD5 69f42dd87ed26a456b737f8e1a42b719
BLAKE2b-256 adbcd34b9c94304d987f3c6a8d65af017a527eb5c31328e6e45ee354499349ce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.41-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.1.0 CPython/3.11.13

File hashes

Hashes for dao_treasury-0.0.41-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 81564d1868c89a70822d4db100076b4c12f8839f10a3a5cbbd7905da53b5f20b
MD5 a461c00172e7d697c9da76c3335e7c45
BLAKE2b-256 39bc714eaae3d2399e3d2ce0775cf2c0f9d423dfe26fc0749ef271483f28a33e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.41-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4dac510113b352039ed6d4b4a25ed39b5d2af4d07b6c21f6be2de0528a1baf93
MD5 b2e28b8447ce68d7b05f426f6a3d2caa
BLAKE2b-256 6366e6e9bdf5b8abfdbe3f7587c50c4976e61377485cb589f49e3a68c8e4d746

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.41-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a34a3b0963f53e93f5ed895f7f1cfd7d72fd58766fb9f3ba701e0ba5a5799383
MD5 9ef4c2750979a4b6be7a41b4e35ec9e1
BLAKE2b-256 c5abd2928615381f466c215cd7b20302b9e0285bea6fdfeaa691ad6818785274

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.41-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.41-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2a90ecb476dcdf5c29a46860f2143d78feaf680fc9d569e000cff77dfe89c445
MD5 6f706a7a5445841c191f260915647e24
BLAKE2b-256 ad30749430370c29dbaffd6f53931b481f7fb287e8c910c3f713667d02231080

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.41-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.41-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 dd8cc96daadc99ca5f8f4a5de69fd60e97d31830ad3c612f646a9bdca5e51435
MD5 5dd5522f742ea9adbe9d4abb6def9814
BLAKE2b-256 38d2770ade2dc1026d305516eea3459064e10755270c9784d9e6d0963be5a35b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.41-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0373b297f583b7f01dcff9fb0c01aa50dd20abface24081362d4373ee4747792
MD5 4cfaa841cd1d866a61f0eeb6aef40349
BLAKE2b-256 ec1f12eb32d4f7f694674b5bcdb394f2f261362fc2e1e03f24db922639b4c2ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.41-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b4928ae7f94f181528380576a78f825ab85ce4c5d7b550a86f98a0906c6a2b9d
MD5 796acb6a2d4cb1cf7ff3215f66feaa31
BLAKE2b-256 63910681e64f59e926043d92ccb1cea861504fb2cb0c1ca224ba0bb1d4f162b9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.41-cp310-cp310-win32.whl
  • Upload date:
  • Size: 284.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.41-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 d6f9357024801010a663d04a58cc0d481a282529b528a5f2cbd6e3e5dd3f022e
MD5 75b6db28fdef8214562e7b9dbe49c948
BLAKE2b-256 951aa3dabffc2135f88889b9196b747999bdca2e408caa4c58b78b4ad5f4be0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.41-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a3b29a6e8f30a6ab5dd645402c1a4741e6fde8c928c235cc4d4721dfc647b409
MD5 55ac47bf62b0f31c86f13fd2c7223808
BLAKE2b-256 5f4c6a432ae1be3e162dea344fed7099ced5f1f7dd2797eaedd77d7fba816c95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.41-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 4c9501485295cc6b22038eb9bc5f90b013ddd48f659f9f444d2f151373ed128e
MD5 0c4bc537e5a3400cf05fa67a96e364a4
BLAKE2b-256 fee496ae4e6f270a3d79c90fd205e55d1f1dd80ccc20937e8cc939351b4d1e9c

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.41-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.41-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6f9a10e3d8c4108c037eb2c65537503b75b4e083857b63423bb385f9bc60abff
MD5 425ccc82f452e9f12ea86cdacf32efbb
BLAKE2b-256 bb03b5a09c23bc30d7554d0879b5b7a972e4a1d528bac7e0c4e8a5c18b5bfc9c

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.41-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.41-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 166d8af1dde5184b8b8cde8e9dbf8c5edef5052cecbdfd6753abb85f55e386dc
MD5 60c4146fc3c5c16e352743aca7d8331e
BLAKE2b-256 939f861e4c1de258239fd7f04ebf5ad08c95bbe1f386e392baf3de096266a240

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.41-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e33a0d9087f3f24e740d2111ba09df04cfbe4456514468b432f1f2aab593708
MD5 2a952bad4e896ff9f507667d0a05cefe
BLAKE2b-256 1a29fdd83f2bf14f020502b1a88ca85bb1e0be8c88358b72176cbf5ecbc12737

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