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.
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.