Parent: RenderTrust System Documentation
This guide is for creators — users who submit computational jobs (rendering, AI inference, data processing) to the RenderTrust network and download results. You'll use the Creator Desktop App (Electron) or the Python SDK.
Download the RenderTrust Creator app for your platform:
- macOS:
RenderTrust-1.0.0-alpha.dmg - Windows:
RenderTrust-1.0.0-alpha-setup.exe - Linux:
RenderTrust-1.0.0-alpha.AppImage
Or build from source:
cd frontend/
npm install
npm run build
npm run electron:build- Launch the Creator app
- Click "Create Account" on the login screen
- Enter your email, name, and password (minimum 8 characters)
- Click Register
- You'll be logged in automatically
Before submitting jobs, you need credits:
- Navigate to Credits in the sidebar
- View your current balance in the Available Balance card
- Under Buy Credits, choose a package:
- 100 credits — $10.00 ($0.100/credit)
- 500 credits — $40.00 ($0.080/credit)
- 1,000 credits — $70.00 ($0.070/credit)
- Click Buy Now
- Complete payment on the Stripe checkout page
- Credits appear in your balance after payment confirmation
- Navigate to Jobs in the sidebar
- Click Submit Job
- Fill in the form:
- Job Type: Select from render, inference, or generic
- Payload: Enter a reference URI (S3/IPFS) or paste JSON directly
- Priority: Low, Normal, or High
- GPU Required: Toggle on if your job needs GPU
- Click Submit
- On success, you'll see the assigned job ID and node
from rendertrust import RenderTrustClient
client = RenderTrustClient(base_url="https://api.rendertrust.com")
client.login("you@example.com", "your-password")
# Submit a job
result = client.submit_job(
job_type="render",
payload={"ref": "s3://your-bucket/scene.blend"}
)
print(f"Job {result['job_id']} dispatched to node {result['node_id']}")curl -X POST https://api.rendertrust.com/api/v1/jobs/dispatch \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"job_type": "render", "payload_ref": "s3://bucket/scene.blend"}'| Status | Icon | Meaning |
|---|---|---|
| QUEUED | Yellow | Job created, waiting for dispatch |
| DISPATCHED | Blue | Assigned to a node, in transit |
| RUNNING | Blue (animated) | Node is actively executing |
| COMPLETED | Green | Finished, result available |
| FAILED | Red | Execution failed (may auto-retry) |
- Navigate to Jobs in the sidebar
- The job list shows all your jobs with status badges
- Use the status filter buttons to filter by state
- Click a job row to see full details
- Active jobs auto-refresh every 5 seconds
# Check job status
job = client.get_job("job-uuid")
print(f"Status: {job['status']}")
# List all running jobs
running = client.list_jobs(status="RUNNING")
for job in running:
print(f"{job['id']}: {job['status']}")- Open a COMPLETED job
- Click Download Result
- The file saves to your default downloads folder
# Download result to a file
filepath = client.download_result("job-uuid", output_path="output.png")
print(f"Saved to {filepath}")# Get presigned download URL
curl https://api.rendertrust.com/api/v1/jobs/JOB_ID/result \
-H "Authorization: Bearer YOUR_TOKEN"
# Response: { "download_url": "https://...", "expires_in": 3600 }
# Then download directly from the URL (no auth needed)You can cancel jobs that are in QUEUED or DISPATCHED state:
- Open the job
- Click Cancel button (only visible for cancellable jobs)
client.cancel_job("job-uuid")curl -X POST https://api.rendertrust.com/api/v1/jobs/JOB_ID/cancel \
-H "Authorization: Bearer YOUR_TOKEN"The Credits page shows:
- Available Balance — Your current credit count
- Usage Chart — 7-day rolling credit consumption graph
- Transaction History — All credit movements with type badges:
- Green "purchase" — Credits bought via Stripe
- Red "deduction" — Credits consumed by job execution
- Blue "refund" — Credits returned (e.g., failed job refund)
| Job Type | Credits Per Job |
|---|---|
| Render | 10 |
| AI Inference | 5 |
| CPU Benchmark | 1 |
| Echo (test) | 0 (free) |
Costs are deducted when jobs complete (not when submitted). Failed jobs that exhaust retries may be refunded.
If you try to submit a job without enough credits:
- The app shows a warning message
- The API returns
402 Payment Required - Navigate to Credits and purchase more
Every credit transaction is anchored on-chain for transparency:
- View your Transaction History
- Note the transaction ID
- Use the API to verify:
# Get Merkle proof
curl https://api.rendertrust.com/api/v1/ledger/ENTRY_ID/proof \
-H "Authorization: Bearer YOUR_TOKEN"
# Verify against on-chain anchor
curl https://api.rendertrust.com/api/v1/ledger/ENTRY_ID/verify \
-H "Authorization: Bearer YOUR_TOKEN"
# Response: { "verified": true, ... }| Problem | Solution |
|---|---|
| "No healthy nodes" on dispatch | No nodes available for your job type. Try again later or contact support. |
| Job stuck in DISPATCHED | Node may be processing. Jobs auto-timeout after 5 minutes. |
| Job FAILED | Check error message. Jobs auto-retry up to 3 times. |
| Credits not appearing after purchase | Allow 30 seconds for webhook processing. Refresh the page. |
| Login fails | Check email/password. Too many attempts trigger rate limiting (wait 1 minute). |
| Token expired | The app auto-refreshes tokens. If logged out, log in again. |
| Shortcut | Action |
|---|---|
Ctrl/Cmd + N |
New job submission |
Ctrl/Cmd + R |
Refresh current page |
Ctrl/Cmd + 1-4 |
Navigate sidebar tabs |
MIT License | Copyright (c) 2026 ByBren, LLC