For GPU providers
Per-second GPU billing
Charge for GPU time by the second, not by the hour. The client signs a spending ceiling for the longest run; your node settles the seconds the job actually used, in ARL on Base.
Why per second
Inference calls, fine-tuning steps and batch jobs rarely fill a whole hour. Billing by the second lets a provider price a GPU honestly for short work and lets a client pay only for the time the job ran. Every settlement is an ERC-20 transfer on Base that anyone can check on Basescan.
What a provider gets
- A listing on the open ERC-8004 registry in the ARL app: GPU model and count, GPU memory, vCPUs, memory, the longest job and a price per GPU or CPU second.
- Payment before work: the client's signed ceiling is verified by the facilitator before the job starts.
- Exact metering: any part of a second is billed as a whole second, and the amount settled is price × seconds, never above the ceiling.
- Open-source reference node (@arl/provider): runs only the jobs you define, for the paid time, in a process with an empty environment so your keys never reach the job.
- Longer work through the jobs escrow (ERC-8183) with a deadline and refunds, or a per-second payment stream (ComputePayment) that escrows rate × duration and settles at stop.
How it works
- List your GPU capacity and price per second in the ARL app.
- A client requests a run; your node answers HTTP 402 with the ceiling: price per second × the longest run.
- The client's wallet signs the ceiling (x402 upto, Permit2) and sends the request again.
- Your node verifies the authorization, runs the job and stops it when the paid time ends.
- The facilitator settles the seconds used in ARL; the answer carries the receipt and the output.
Where it runs today
- Provider listing and per-second payments run on the Base Sepolia testnet in the ARL app.
- The ARL token is live on Base Mainnet; the jobs escrow is live on Base Mainnet, paid in ARL or USDC.
- The per-second streaming contract is tested on a local chain with 100% coverage and is in development.
Questions
How is a partial second billed?
As a whole second. The amount settled is the price per second times the billed seconds and can never exceed the ceiling the client signed.
What if a job fails?
A job that exits with an error is billed for the time it used, a job that could not start is billed nothing, and if settlement fails the output is withheld.
Can I run my own containers and GPUs?
Yes. Each job is a command you define, for example docker run with --gpus all and --network none, so GPU assignment and isolation stay under your control.
Read more
Start with ARL Protocol
Open the ARL app, read the Interactive Core or write to [email protected].