OpenViSTAI · Agents · Blockchain · Crypto
Menu
Security & Custody

Safe Transaction Service

Safe Transaction Service is a Python backend that indexes transactions sent through Safe contracts, confirmed transactions, and Ether and ERC-20 transfers to those contracts. It supports event-based and tracing-based indexing and can accept transactions for off-chain signature collection or owner notification before on-chain submission.

Independent OpenViST project profile, based on linked sources.

Safe Transaction Service — OpenViST project profile in Security & Custody.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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.

Source-based practical guide

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

  1. Copy .env.l2.sample to .env.

  2. Set ETHEREUM_NODE_URL and replace DJANGO_SECRET_KEY with a strong key.

  3. Build and start the service with docker-compose build --force-rm and docker-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.
Source-based practical guide

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

  1. Copy .env.tracing.sample to .env.

  2. Set DJANGO_SECRET_KEY, ETHEREUM_NODE_URL, and ETHEREUM_TRACING_NODE_URL in .env.

  3. Build and start the service with docker-compose build --force-rm and docker-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.
Evidence and transparency

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