Notary Service
State-tracking server for contract ownership. Tracks who holds each contract. Replace rules differ by contract type.
Purpose
The Notary Service works like the Webcash Server but tracks contract ownership tokens instead of money. It knows the contract type of each contract because the type determines the replace rules.
Replace Rules by Type
Inputs
- RGB21
- Exactly 1
- RGB20
- 1 or more
Outputs
- RGB21
- Exactly 1
- RGB20
- 1 or more
Amount tracking
- RGB21
- No (non-fungible)
- RGB20
- Yes (sum must balance)
Splitting
- RGB21
- Not allowed
- RGB20
- Allowed
Merging
- RGB21
- Not allowed
- RGB20
- Allowed
| Rule | RGB21 (Service/Product) | RGB20 (Stablecash) |
|---|---|---|
| Inputs | Exactly 1 | 1 or more |
| Outputs | Exactly 1 | 1 or more |
| Amount tracking | No (non-fungible) | Yes (sum must balance) |
| Splitting | Not allowed | Allowed |
| Merging | Not allowed | Allowed |
RGB21 (Non-Fungible)
ServiceEscrow and ProductCertificate: one secret per contract at any time. Replace is 1-to-1: old secret → new secret. No splitting, no merging. The contract transfers as a whole unit.
RGB20 (Fungible — Stablecash)
USDW tokens: replace supports splitting (one secret → multiple) and merging (multiple → one). The sum of output amounts must equal the sum of input amounts. Exactly like webcash replace, but for USDW.
What the Notary Does Not Know
The Notary Service does NOT know what's inside the contract. It doesn't know the work description, the price, the buyer, or the seller. It only tracks the ownership code. It's a filing cabinet, not a lawyer.
Smart Contracts — full architecture. How Robot Contracts Work — plain-language guide.