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.63.tar.gz (70.0 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.63-cp312-cp312-win_amd64.whl (338.2 kB view details)

Uploaded CPython 3.12Windows x86-64

dao_treasury-0.0.63-cp312-cp312-win32.whl (303.1 kB view details)

Uploaded CPython 3.12Windows x86

dao_treasury-0.0.63-cp312-cp312-musllinux_1_2_x86_64.whl (656.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dao_treasury-0.0.63-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (660.6 kB view details)

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

dao_treasury-0.0.63-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (689.0 kB view details)

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

dao_treasury-0.0.63-cp312-cp312-macosx_11_0_arm64.whl (413.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dao_treasury-0.0.63-cp311-cp311-win_amd64.whl (334.2 kB view details)

Uploaded CPython 3.11Windows x86-64

dao_treasury-0.0.63-cp311-cp311-win32.whl (299.5 kB view details)

Uploaded CPython 3.11Windows x86

dao_treasury-0.0.63-cp311-cp311-musllinux_1_2_x86_64.whl (622.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dao_treasury-0.0.63-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (627.3 kB view details)

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

dao_treasury-0.0.63-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (636.7 kB view details)

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

dao_treasury-0.0.63-cp311-cp311-macosx_11_0_arm64.whl (409.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dao_treasury-0.0.63-cp310-cp310-win_amd64.whl (335.0 kB view details)

Uploaded CPython 3.10Windows x86-64

dao_treasury-0.0.63-cp310-cp310-win32.whl (300.3 kB view details)

Uploaded CPython 3.10Windows x86

dao_treasury-0.0.63-cp310-cp310-musllinux_1_2_x86_64.whl (633.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dao_treasury-0.0.63-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (638.0 kB view details)

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

dao_treasury-0.0.63-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl (648.1 kB view details)

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

dao_treasury-0.0.63-cp310-cp310-macosx_11_0_arm64.whl (413.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dao_treasury-0.0.63.tar.gz
  • Upload date:
  • Size: 70.0 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.63.tar.gz
Algorithm Hash digest
SHA256 e48f4a9fb4b35de6bd2d2c7224055371f3d495d25d404bea717b8441ce474bdd
MD5 1738d6d4967d7fed17441ab71bb4187f
BLAKE2b-256 1a5df4ad369cc10d9dfde80f8b5c01b43f536fecb844c38b854219c0962ecc94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.63-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d2dc936f9b57ec59624333422407cc0cb547188a638ae36610211f3fa615da18
MD5 830c240c99d9292503c247761f753f2e
BLAKE2b-256 e679979f22b4eade3a7ce666d639530b9c15348d87897d8f9d8c59516377c2f1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.63-cp312-cp312-win32.whl
  • Upload date:
  • Size: 303.1 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.63-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 ed85928bfd08a052278079164b0942bd9d582b6bac540842bcca21a7ed9b2fd0
MD5 b75990c69f7453d839448074948b7fca
BLAKE2b-256 684d6a56f1f734d0fed635682a1a86f9283b5bd61059d8c1e2a32affdacf557c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.63-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 72da8d3f91333ba9f2fe2923c2b02452ae26022117b7ba7a9403ab43c4dedfb7
MD5 de2fac093289f4ba796a2cf126b5bacf
BLAKE2b-256 fab5699718081dbb3f29f6dc847cf360f2e464d0cdd125268e4460d9ae23a0aa

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.63-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.63-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8cc75eb55a9a70078276c840536f13766caf0a41188028ff91434d8176278cf2
MD5 f869f29089bb3e6ba15ab7c88cbb6d62
BLAKE2b-256 fcc4d50e4b0e5a0132968aa06f1fa9b9da18e838fd9608e9ffd8688353fb8fab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.63-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 4da0399c359df60d2af214eca0e7a88aab9b65ef9b4712bed6c178d7ce8ae6a1
MD5 de55004404dd1a3764ba5fb86fe7b84a
BLAKE2b-256 4f265c7df4be9818876d7e5a4d6c96a592bd7f8cf872bd4cbb510d73148f6d03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.63-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4bd0661c10a08897956500bad383b0e3e8eff70d6ec57c732ef6e8bb5d5cc0e3
MD5 85854205180a91094d34894e10227ce9
BLAKE2b-256 9357d25f03fc73557100c3f96bb8950607eb3261a3b391d8b446c63dd6f53db8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.63-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ff790bc5a4a7a525773e684a0ee2da4cc5a2ee545950957ac3eca0748aca0376
MD5 cdbc8c2c7fe111c69c8634937562d77c
BLAKE2b-256 63d8a119de02b082f75c30e1799b237e3616cc25c18ebd1544b5919d2e01083e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.63-cp311-cp311-win32.whl
  • Upload date:
  • Size: 299.5 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.63-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 6d605c2f17de18698a89a8c9751e690d9a647c75b9080a82c54658e24146ad7d
MD5 5e1cd092969c63acece1358e4866064e
BLAKE2b-256 2b0a8860b66dc087f426f142978aa288ea32d68e8687392d51f1691c7c04d254

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.63-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ec55f23ad08003db8834582a12e4d08f0bf1d669b77c3fad0987e63a3a19b6a2
MD5 3c1e37ba19c6710cd43aa46db8d3db26
BLAKE2b-256 ad90e286d74db7e0f18d6abe4b655fb405c5a575ed454fd930bf376245344553

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.63-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.63-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fa243a37632d92ecd1c2ea3166c8212f1f32740514c92dea4256903e3cd8dab7
MD5 67b6005645ff9b293d5374b6337717ed
BLAKE2b-256 5a54822c3ad221bae451623431057617da3efa148d533b43b885d1f0b1a34604

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.63-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 846702bbf83a90a3eb9404ee586c59ca069977176a034ad4b774c69d7b9bc200
MD5 e6f7b81c23bb3a03e3a68e8463ec9f54
BLAKE2b-256 f98886873e124721e1d58c5ae9a0654abfdca365b379f253e462c43b192b1282

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.63-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ebcd01540d50b3cdba46660776f64f4f6cba48bc046d029d106acac69f220b09
MD5 366251a2c6f284d1ea41537165c81423
BLAKE2b-256 59be5b0a268f3bef0d714f49a285bc4967e6bfc8a7773d7ca27358ef1b8b5f29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.63-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b572ba63f28f5ed67b6c9ffb236b664ba0df3de51998434db2e3a8467be8cc73
MD5 e02317447bc254a4974da13827696042
BLAKE2b-256 93e3ac731f5c92a6e44bdee3987c4a50d83362bd7952f37f7cca0d8a96f06a64

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dao_treasury-0.0.63-cp310-cp310-win32.whl
  • Upload date:
  • Size: 300.3 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.63-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 1b229d5c74462d37be4a8589c4d4d582dbba72f3823dc2fe29e44ae45ea6fedb
MD5 b02fe676b3ed39fd322d428430cb610d
BLAKE2b-256 2921dc862a2edcc39c35f52b8d7dac1e08b7901de39057ca07d681065f61c14a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.63-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 de32ce8bd1e8ce50a7cc3a41eebce13131e504e237cebd2eaf947f5f3bff75a4
MD5 c153c586cfb4a59067b2af250afe1ef6
BLAKE2b-256 f38deadbcee3c113ce5f21763da08339fc25167e0c7b9ea87f8c215ea33a7334

See more details on using hashes here.

File details

Details for the file dao_treasury-0.0.63-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.63-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d04e53d6a2c6c45cd1d07cb8dab5fea0b83e85ae9e2e69aa4d31a6590e148143
MD5 88f0c18006b2d4195e2258979bcb42af
BLAKE2b-256 b815dddfd19a1032050f99c2e5d37ca1fce37c8892503bcb8be873b64fd68ebb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.63-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 9debb30d7fe90a6aec18e86d3d92867cceca6a41a1c2b663e11b03c00c448b3a
MD5 5f6909297f8ab6263d533d84823c9d38
BLAKE2b-256 d294c4370ac2e4b3e78748216f4f2eb20f5a710db5548ce696fd5e150bbc93f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dao_treasury-0.0.63-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3794aed99cf13945c4324b47b8b657cf85dc9c1739620754d76a2b6833eaa524
MD5 9105c37d2fdd3f58b378ed180b84cf8b
BLAKE2b-256 634867ca417e6775b80034169b506abb9a1e80be6b5f97cffd98bf1b149b11eb

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