Licensing and trust

Licenses and entitlements

Free click-through licenses, onchain receipts, how an entitlement unlocks downloads, and what a license is not.

View as Markdown

A license is permission to use one patch version under its written terms. An entitlement is Retoque's record that you hold one, and it is the only thing the download route checks.

What a license covers

  • One version. A license for 1.0.0 does not cover 1.1.0 unless the terms say so.
  • The uses written in the terms. The commercial scope and update policy are on the patch page before you accept, and the terms ship in every package as LICENSE.txt.
  • Nothing about the base model. You still follow the base model's own license, which Retoque doesn't grant and can't extend.

Terms are identified by the sha256 digest of their text, the same value as license.termsDigest in the manifest. When you accept, you accept that exact digest. If the terms change, the digest changes, and you have to accept again.

How an entitlement is created

Source How Wallet
free_offchain You accept the terms digest on the patch page while signed in. The version must be published and the listing free. Not needed
onchain_free A zero-price purchase on the license market contract, read and checked by the server. Linked wallet
onchain_paid A confirmed paid purchase on the license market contract, read and checked by the server. Linked wallet
operator_grant Granted directly by a Retoque operator. Not needed

Claiming a free license twice is harmless. The second claim changes nothing. If the terms changed after the page loaded, the claim fails and asks you to review the new terms.

Onchain purchases

A paid entitlement is never granted from the browser's view of a transaction. After a purchase, the server:

  1. reads the transaction receipt itself, using the hash only as a hint,
  2. checks that the purchase event came from this environment's license market contract,
  3. waits for the required number of confirmations,
  4. matches the purchased version to a version registered in this environment, and the terms digest to the current listing,
  5. checks that the buyer address is a wallet linked to a Retoque account.

Linking a wallet needs a signed challenge that binds the site, the chain ID, the address, a nonce and a 10-minute expiry. An address alone is never enough. You can ask the server to re-check a transaction at any time, and an indexer also picks up purchase events. If a block holding a purchase stops being canonical, the entitlement is suspended until the purchase is confirmed again. Contract details are on Robinhood Chain.

How downloads are gated

  1. The CLI, or your browser while signed in, asks for an install ticket for slug@version.
  2. The server checks that you hold an active entitlement for that exact version.
  3. It returns a single-use download link that expires after five minutes, plus the package and manifest sha256.
  4. The first request to the link consumes it. A second request returns 410 download_expired.

What a license is not

  • Not DRM. After download, nothing technical stops a copy from being used or shared. The weights can't be recalled. The terms govern use from that point.
  • Not a copyright transfer. An onchain receipt records a payment and the terms digest it was made under. It is not a full license agreement by itself and doesn't transfer ownership of the patch.
  • Not transferable. Onchain licenses are a mapping from buyer address to version inside the contract, not tokens. There is nothing to sell on.
  • Not evidence of quality. A license says you may use a version. The evaluation report says what it does.

Withdrawn, suspended and refunded

  • When a version is withdrawn, the patch page marks it, no new licenses are offered, and its evidence stays public. People who already hold an active license can still download it.
  • An operator can suspend an entitlement, for example for a security reason. A suspended entitlement can't request downloads.
  • A paid purchase can be refunded only while its funds are still held in escrow by the contract. A refund revokes the onchain license. Copies already downloaded keep working.

Read the full patch licensing policy.