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 bond that marks the claim as live: 10% of the reward, never less than 76.45 XRD and capped on-chain for large rewards — on most tasks that keeps it a state-machine token rather than a deterrent. 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 accumulate in a separate vault that only the component owner can drain — minus a small bounty paid to whoever calls the public expire method. 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: Approval does not put money in the worker's wallet. It credits them inside the contract, and the contract pays out only to the account pinned when the task was claimed — a dishonest settlement transaction cannot redirect it. The flip side, stated plainly: the money sits in the escrow until each party signs their own withdrawal, so a credited reward is not yet a collected one. We call this what it is below.
There is no Guild token
Every figure on this page is in XRD, the Radix network's own token, which we do not issue and cannot print. There is no Guild token, no sale, no airdrop, and no plan for one.
The three things you hold here are deliberately not tradeable claims. Your badge is an NFT anyone can mint for the network fee — we do not sell it. Your XP and tier are rows in the guild's database, earned by working and not purchasable. Your reward is XRD that a poster escrowed and you withdraw yourself.
This is a design choice and it has a cost we accept: with nothing to issue, the marketplace has to earn from the royalty on funded tasks or it does not earn at all. That is the trade. If it ever changes it will be announced before it happens, not discovered afterwards.
What leaves your wallet — poster
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.
What leaves your wallet — worker
“Insurance” is the poster’s own stake
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 0 on every task it creates, so the insurance pays nobody. What actually happens on an auto-resolved dispute is governed by the live component’s default ruling — SplitEvenly — and that ruling governs the reward only. The insurance premium is hardcoded back to the poster on this path, whoever raised the dispute; the blueprint does this deliberately, so that disputing can never out-earn being approved. Price the downside accordingly: on a 100 XRD task with 5 XRD insurance, the worker is credited 50 XRD and you are credited 55 XRD — a cost to you of 50 XRD, not 52.5 and 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.
There is no platform fee
The fee is 0% today. The worker receives 100% of the reward, and that is chain-enforced, not a policy choice: every worker-side method — claim, submit, approve, withdraw — is locked Free on the deployed component, permanently.
The poster-side dial is real, not planned: create_task carries an on-chain component royalty, attached at deployment and currently set to 0 XRD. It can only move via the royalty-admin badge, and any change goes through a published RFC first. “Free to use” is still qualified: you always pay Radix network fees, the claim bond and the poster insurance.
Approval settles the split inside the contract: it credits the worker's reward and returns the poster's insurance as entitlements the component holds, payable only to the accounts pinned when the task was claimed. A settlement transaction cannot redirect either one, so payout no longer rests on an honest manifest. The limit that replaces it is smaller but real — money stays in the component until each party signs their own withdrawal, so a credited reward is not a collected one, and an abandoned account leaves funds sitting.
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: once a task is submitted, either party to it can raise one here. The pre-deploy gate now fails a release that compiles the dispute UI off — the mirror of what it used to guard. Our UI is still only a front door: the dispute methods are 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 full reward 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 used to leave a submitted worker with no on-chain path to payment at all. With disputes on there is a second door, and it is deliberately not a good one: raise a dispute, and if no arbiter rules first the 72-hour default recovers half the reward — not all of it — while the poster ends up better off than if they had approved. Price that asymmetry in before you claim; it is the honest number, not a remedy.
Verify it yourself
On-chain (now): read the live escrow component and its config on the Radix Dashboard — the claim bond (claim_bond_pct/floor/cap), minimum insurance fraction (0.05), the arbiter-fee CEILING (0.1), and the create_task royalty are all on-ledger. Read the arbiter-fee ceiling as what it is: a bound, not the fee. The per-task arbiter fee this app writes is 0, and the royalty is 0 too, which you can confirm on any individual task rather than taking our word for it.
component_rdx1czka54tdxyva098x7djgdsqplt63n9qdglep47atkzpml45hp88yly
Source audit: opens at launch, and no date is set — the escrow blueprint is a private build until then, so no repo link is offered yet.
Status labels used here
LIVE — reward, insurance and bonds are held in a Scrypto component on Radix mainnet today.
Contract-settled, self-collected — approval credits each party inside the component, and each withdraws with their own signed transaction.
DEPLOYED AT ZERO — the platform fee is 0%. It is implemented as on-chain component royalties, attached at instantiation and currently set to 0 XRD on every method.
The plain-language marketplace flow lives on how the Guild works; address-by-address verification is on trust & verification.