Provider registration
Profile identities, metadata commitments, and admission.
Provider registration
Send instruction 19 with [market, provider_profile(w), provider(s), payer(ws), system_program]. The payload is a 32-byte document SHA-256 followed by 1–256 URI bytes, with no length prefix. The URI must be valid UTF-8 without ASCII whitespace or control characters. The contract stores these bytes without fetching or parsing the document.
The profile PDA uses [b"provider", market, provider]. Initialization allocates 364 bytes and records the provider authority, metadata commitment, and PDA bump. It rejects an already initialized profile. Approval starts at 0; the market administrator sets it to 1 through instruction 20, accounts [market, provider_profile(w), admin(s)], payload approved:u8. Creating models or registering offers requires an approved profile and the provider's signature. Model creation also requires administrator authorization; additional offers by the same provider have a separate authorization rule described under Offers.