Skip to main content

How it works

End-to-end flow from your application to a verified label with on-chain settlement.

Pipeline

Your Data → Gateway API → Aerospike → Task Router → Workers

Labels (×N workers)

Consensus
(majority vote)

Settlement
(BSV micropayment)

Verified Label + bsv_txid

Gateway Result API → You

Your data

You send HTTPS requests to ASG Gateway with a public URL to the payload (data_url) and a structured label_spec (question + options, etc.). Gateway validates the request, applies quota and rate limits, and writes a task record tagged with your cust_id for tenant isolation.

Gateway API → Aerospike

Tasks live in a shared namespace with ASG Refinery (e.g. set tasks). Gateway sets source=gateway, status=pending, and stores task_type, label_spec, consensus_threshold, and optional callback_url / webhook routing fields.

Task Router → Workers

Refinery’s Task Router assigns work to workers. Each worker submits a label; you need enough labels to evaluate consensus (see Consensus).

Consensus

When enough labels exist, the engine checks majority agreement against your threshold. If agreement is reached, the task moves toward verified / settled. If workers disagree persistently, the task can remain in_progress until timeout or more labels — see Task lifecycle.

Settlement

Settlement pays workers who agreed with the consensus outcome in satoshis on BSV. The transaction id bsv_txid is your audit trail. Details: Settlement.

Results back to you

Poll GET /v1/tasks/{id}/result or receive task.settled webhooks. The Gateway never exposes other customers’ tasks.


Related: Consensus · Settlement · Task lifecycle