Money, Bonds & Trust
Accompanies the wallet-approval moment on /tasks. What leaves your wallet, where it is held, and the honest limit of the word “escrow.”
When you fund a task, your reward is locked in an on-chain vault dedicated to that one task until the work is approved. When you claim a task, you stake a 10 XRD bond so claims are not free to squat. Reward and insurance sit in a Scrypto component on Radix mainnet and no owner method can touch them.
The bond is the exception, and it is worth knowing rather than glossing: a forfeited bond is not returned to anyone — it goes to the Guild. Forfeited bonds and heartbeat fees accumulate in a separate vault that only the component owner can drain. Nothing has ever entered it — it reads zero on mainnet today — but it is a revenue path funded by worker money, so we would rather you read it here than discover it.
The honest limit worth reading before you approve any signature: the contract does not pay the worker by itself. Release hands the funds back to whoever submits the settlement transaction, and the web app builds that transaction to route the reward to the worker. Payout integrity rests on an honest settlement manifest, not on the contract enforcing the split. We call this what it is below.
Reward and insurance are locked together, atomically, in one signature — the funding signature, which is separate from and later than posting. XRD only, for now.
The insurance amount (at least 5% of the reward, in the same token) is the poster’s own money, held in the task vault. On the happy path it is returned whole.
If the task is disputed, it does not fund an arbiter fee. The 10% figure quoted elsewhere is max_arbiter_fee_pct, a ceiling on a parameter this app never sets — it writes an arbiter fee of 0on every task it creates, so the insurance pays nobody. What actually happens on a dispute is governed by the live component’s default ruling, an even split — of the reward and the insurance. Price the downside accordingly: on a 100 XRD task with 5 XRD insurance, the disputed outcome is around 52 XRD, not 0.5.
It is not an underwritten policy, not a third-party guarantee, and not covered by the platform. Think of it as an arbiter stake the poster pre-commits, not a payout someone else promises. A separate opt-in dispute-insurance product is designed but not deployed; this stake is not that.
The fee is 0% today — not by a discount, but by structural absence: the deployed component has no platform-fee mechanism to charge one. The worker receives 100% of the reward.
A dialable poster-side fee parameter is planned for a future release (Wave B)— designed, not built, and not present in the live component. “Free to use” is still qualified: you always pay Radix network fees, the 10 XRD claim bond, the 5 XRD heartbeat, and the poster insurance.
The release method hands the escrowed buckets back to whoever calls the settlement transaction; it does not force the split on-chain. The web app constructs that manifest to send the reward to the worker — so on the happy path, the worker is paid. But the guarantee is the honesty of the manifest, not the contract. This is a known, monitored limitation (BUG-7); the fix lands with the next blueprint (Wave B).
Because of that, this page — and every Guild surface — will never say “trustless payout,” “the contract pays the worker automatically,” or call disputes “automatic/fair resolution.”
On disputes specifically: you cannot raise one here. The dispute UI is compiled off and the pre-deploy gate fails the release if a build ever has it on. That governs our software, not the ledger — the dispute methods stay callable on-chain by anyone who builds the transaction by hand, and there is no per-task setting that makes a task undisputable.
And the limit that matters most if you are the worker: there is no auto-release. Once you submit, the only route to the money in the deployed component is the poster approving it. The submission time is recorded on-chain but no timeout ever reads it — the review-window auto-release is designed, not deployed. A poster who simply stops responding leaves a submitted worker with no on-chain path to payment, and with disputes off there is no second door. Today both sides of every live task are the Guild itself, which is why this has not bitten anyone; it is a real gap, not a hypothetical one.
On-chain (now): read the live escrow component and its config on the Radix Dashboard — the claim bond (10), minimum insurance fraction (0.05), and the arbiter-fee CEILING (0.1) are all on-ledger, and there is no platform-fee parameter to find. Read that ceiling as what it is: a bound, not the fee. The per-task arbiter fee this app writes is 0, which you can confirm on any individual task rather than taking our word for it.
component_rdx1cr690hkrk2kv933cw3qdr6amkaphdlu2whjhhh8wppus922yx335r2
Source audit: opens at launch (Wave C) — the escrow blueprint is a private build until then, so no repo link is offered yet.
LIVE — reward, insurance and bonds are held in a Scrypto component on Radix mainnet today.
Manifest-routed (not contract-enforced) — settlement returns funds to the caller’s manifest; a known, monitored limitation (BUG-7).
COMING — the dialable platform fee is designed for Wave B, not deployed.
The plain-language marketplace flow lives on how the Guild works; address-by-address verification is on trust & verification.