Practical overview
When it fits
Use it as an indexing backend when an application or operations workflow needs transaction and transfer activity associated with Safe contracts.
Who it is for
- Developers building transaction activity or monitoring features for Safe multisig contracts.
- Safe operators who need a self-hosted index of Safe transactions and related token transfers.
Documented uses
- Track transactions submitted through Safe contracts and their confirmations.
- Index Ether and ERC-20 transfers to Safe contracts.
- Accept pending transactions for off-chain signature collection or owner notification.
Requirements & limits
- Event indexing requires SafeL2 contracts from version 1.3.0 onward with L2 events.
- Tracing mode requires both an Ethereum node and an OpenEthereum node configured for tracing.
- The README documents Python 3.13 and Django 5 and includes Docker Compose setup paths.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up event indexing for SafeL2
Configure a self-hosted service to index supported SafeL2 contracts through events.
Before you start
- Docker Compose
- An Ethereum node URL
- SafeL2 contracts from version 1.3.0 onward with L2 events
Steps
Copy
.env.l2.sampleto.env.Set
ETHEREUM_NODE_URLand replaceDJANGO_SECRET_KEYwith a strong key.Build and start the service with
docker-compose build --force-rmanddocker-compose up.
Expected outcome
A configured service that indexes eligible SafeL2 contracts using events.
Guide limitations
- Only SafeL2 contracts from version 1.3.0 onward with L2 events are indexed through this mode.
- Network-specific contract configuration may be needed for networks not already supported.
Configure production tracing mode
Prepare and start a self-hosted production service that indexes using transaction tracing.
Before you start
- Docker Compose
- An Ethereum node
- An OpenEthereum node with tracing enabled
Steps
Copy
.env.tracing.sampleto.env.Set
DJANGO_SECRET_KEY,ETHEREUM_NODE_URL, andETHEREUM_TRACING_NODE_URLin.env.Build and start the service with
docker-compose build --force-rmanddocker-compose up.
Expected outcome
The README states that the service should run at `localhost:8000`; it gives `/api/v1/about/` as a setup check.
Guide limitations
- Tracing mode requires an OpenEthereum node with tracing enabled.
- The guide describes configuration and a local setup check, not a tested deployment.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 16 October 2026
- Original website title
- safe-global/safe-transaction-service · Official homepage title · retained in its source language

