Schedule private payouts from one asset. The depositor drafts a Plan, signs each Deposit, and your automation service pays each recipient when its interval has elapsed. A Plan is a list of Rows. A Deposit Row brings tokens into the pool from the depositor’s Stellar account. A Payout Row pays a public amount to one Stellar account. The service runs each Row as one or more pool transactions, called Steps.

Trust assumptions

The depositor trusts the automation service with three things:
  • Timing. The service decides when each Step runs. The service keeps the intervals, and the pool does not enforce them. A service can run a Step late, or stop running the Plan.
  • Free tokens. Each Step reserves Free tokens for its fee. The service pays the fee from them and keeps whatever the fee did not use.
  • Plan contents. The service sees every recipient, amount, and date in the Plan.
The depositor does not trust the service with where the tokens go. The pool enforces that, as described below.

What the service can do with funds

The service holds the key that spends pinned notes. If the service stops, tokens already in the pool stay in pinned notes until the service runs the next Step.

Components

  • Depositor app. Uses @arcanetech/privacy-sdk-automatization-client. Drafts and edits the Plan through the automation service, asks the depositor’s wallet to sign each Deposit, and shows progress read from the pool.
  • Depositor wallet. Signs each Deposit. Only this signature can move tokens out of the depositor’s account.
  • Automation service. Your backend, built with @arcanetech/privacy-sdk-automatization-service. Composes Plans, checks every lock when the depositor confirms, stores Plans and Deposit signatures, and submits each Step when it is due. Holds the key that spends pinned notes and the account that submits transactions.
  • Service ports. Adapters you pass to the service: storage, clock, fee quotes, transaction preparation, compliance inspection, pool reads, and pool submission. Every network call happens in a port. See Service ports.
  • Plan document. @arcanetech/privacy-sdk-automatization-plan. The format the app and the service exchange, with funding and progress checks. It makes no network calls.
  • Privacy pool. Holds deposited tokens, verifies each transaction, checks every note lock, and pays recipients.

Next steps

Plan

Rows, Remainders, Free tokens, and funding.

Note accumulators

How the pool keeps tokens on the Plan’s route.

Deposit signatures

Why each Deposit waits for the depositor.

Edit a Plan in your app

Set up the client, compose a draft, and sign Deposits.

Run Plans on your service

Save a Plan, read the next Step, and submit it.

Service ports

Port interfaces and the implementations the SDK ships.