How Open Pool works
Customers pay a Livepeer orchestrator to run AI and video apps. Open Pool is the part that lets machines the orchestrator does not own do that work, and pays their owners for it.
The pieces
- Region
- One orchestrator node and the pool service beside it. Each region has its own members, apps, prices and payout wallet. You can join more than one.
- App
- Something customers ask for by name, such as a language model or an image model, with a price. The operator defines the apps of a region.
- Machine
- One of your boxes, with one or more GPUs. The operator assigns it the apps it runs.
- Runner
- One app running on one machine, connected to the orchestrator and able to take work.
- Payout window
- A number of Livepeer rounds, each about a day long, after which the region pays its members.
What your machine runs
You install one thing: the Open Pool agent, a small container with access to the machine's Docker. Every half minute it asks the pool what the machine should run and makes it so. For each assigned app that is two containers: the app itself, from an image the operator chose, and a tunnel that connects it to the orchestrator.
You do not choose the apps. The operator assigns them by where the demand is, and may change them. When that happens, or when an app gets a new version, your machine finishes the sessions it is serving and switches by itself.
The agent only applies files the pool has signed, and refuses anything in them beyond app containers on a private network: no privileged mode, no host network, no mounts of your disks, no published ports. More about the agent.
How machines are tested
The pool tests each runner by sending it a real request through the orchestrator, the same way a customer's request arrives. The runner cannot tell a test from paid work.
- A new runner is on probation and takes no customers until it passes.
- An active runner is tested again every few minutes. One that fails several times in a row is suspended.
- A suspended runner comes back by itself after passing several times in a row.
Every test result, with what was wrong, is on your runners page, so a suspended runner always has an explanation.
What you earn
Customers pay the orchestrator with Livepeer payment tickets, and the orchestrator redeems the winning ones for ETH. What a region's orchestrator redeemed during a payout window is that window's pot. The pool keeps its commission, and the rest is split among members in proportion to the fees their machines earned:
For example: a window's pot is 1 ETH and the commission is 15%, so 0.85 ETH goes to members. Your machines earned a quarter of all fees in the window, so you are paid 0.2125 ETH.
Fees decide your share; the pot decides the amount. They differ because Livepeer payments are probabilistic: customers pay with tickets, only some of which win, and what wins in one window is not exactly what was earned in it.
The current commission and window length of each region load here. This part of the page needs JavaScript.
How you are paid
- In ETH on Arbitrum One, to the address you applied with. That address cannot be changed; a different address is a different membership.
- Once per payout window, per region. There is no minimum: whatever your share is, it is sent.
- The pool pays the transaction fees.
- By default the operator approves each window's payments before they are sent, and can leave a member out. Your payouts page shows every window and what became of it.
What to know before you join
- The agent has access to your machine's Docker, which is as good as root on that machine. Run it on a machine you are willing to give that to. Its source is public.
- Customers' inputs and outputs pass through your machine. The terms say what you may not do with them.
- The operator can ban a member at any time. A banned member's machines are disconnected at once.