Drips docs

Drips docs

    ›Advanced

    Intro and Basics

    • What's a Drip?
    • Drips v2 Features
    • Accessing Drips
    • FAQ

    The Drips App

    • Getting Started
    • Manage funds

      • Add funds
      • Withdraw funds
      • Collect earnings

      Streams

      • Create a stream
      • Edit, pause or delete a stream

      Splits

      • Set up & manage splits

      Explore the network

      • Drips profiles

      Advanced

      • Connecting to a Safe

    The Protocol

    • Overview
    • User Identities In Drips
    • Smart Contract and Subgraph Details
    • Security

    For Developers

    • The Drips JS SDK
    • Installing the SDK and Running the Example App
    • Initializing the SDK
    • Accounts

      • Intro to Accounts
      • Create an Account
      • List Sub-Accounts
      • Add Funds

      Streams

      • Start a Stream
      • Update a Stream
      • Scheduling

      Splitting

      • Create User Splits
      • Edit User Splits
      • List User Splits
      • Immutable Splits

      Collecting

      • How to Collect
      • Squeezing Drips

      Advanced Topics

      • Caller
      • Account Metadata
      • Dripping Fractional Amounts
      • Drips inner workings

    Get Involved

    • Join the Drips Community

    Connecting to a Safe

    You can use the Drips App as a Safe App for conveniently proposing transactions to your Safe.

    Launching Drips as a Safe App

    Within your Safe's UI, simply navigate to Apps → Custom Apps → Add custom app.

    Clicking "Add custom app" within the Safe UI

    In the resulting modal, enter "https://www.drips.network" as the URL, and all other fields will auto-complete. Add the app, and launch it by clicking. The Drips app will open and auto-connect to your Safe.

    Interacting with Drips through a Safe

    You can generally interact with Drips the same way as you would with an EOA wallet. There are a few things to consider, however.

    Edits to streams or balances only apply at the time the transaction is executed

    When you create, pause or edit a stream, the edits will only apply in the exact moment your Safe executes the transaction, not at the timestamp of proposal. For instance, this means that an outgoing stream that you pause will continue streaming until your Safe executes the pause transaction.

    When scheduling a stream for the future, ensure that the transaction is executed before its scheduled start date. Scheduled streams begin streaming at the time of transaction confirmation or any scheduled start date, depending on which date is later.

    Some transactions are invalidated by updates to a Drips account's state

    Many interactions with the Drips app rely on a specific configuration of the account's stream receivers. Such transactions may fail if the configuration is altered between the proposal of the transaction and its actual execution. Thus, configuration-altering interactions must be made with extra care, because they may invalidate other pending transactions.

    Such interactions include:

    • Adding funds (Does not invalidate other pending transactions)
    • Collecting funds (Does not invalidate other pending transactions)
    • Creating a stream (Invalidates other pending transactions)
    • Editing a stream (Invalidates other pending transactions)
    • Deleting a stream (Invalidates other pending transactions)
    • Pausing / un-pausing a stream (Invalidates other pending transactions)

    When editing streams, all interactions are scoped per ERC-20 token, meaning that a transaction changing streams for token A never invalidates another interacting with token B.

    Additionally, edits to your Splits receivers will invalidate other transactions altering Splits receivers, but are not invalidated by any edits to your account's stream receivers.

    Consider the following example:

    • You propose a transaction that creates a new stream streaming token A.
    • Before executing that transaction, you propose another transaction that adds funds for a token A.
    • You execute the 1st transaction and a new stream is created, altering your account's state of stream receivers.
    • The 2nd transaction would fail if executed, because it relies on the account's specific state before the new stream was created.

    However, the following scenario works fine, because adding funds does not alter your account's stream receiver state:

    • You propose a transaction that adds funds for a token A to your Drips account.
    • Before executing that transaction, you propose another transaction that creates a new stream streaming token A.
    • You execute the first transaction, and funds are added to your Drips account.
    • You execute the second transaction, and the new stream is created.
    ← Drips profilesOverview →