myc

Self-custodial remote signer for Radroots apps
git clone https://radroots.dev/git/myc.git
Log | Files | Refs | README | LICENSE

provider_contract.v1.json (1928B)


      1 {
      2   "schema": "radroots.myc.provider-contract",
      3   "schema_version": 1,
      4   "contract_version": 1,
      5   "provider_kinds": ["encrypted_file", "local_signer"],
      6   "capabilities": [
      7     "describe",
      8     "public_identity",
      9     "sign_event",
     10     "nip04_encrypt",
     11     "nip04_decrypt",
     12     "nip44_encrypt",
     13     "nip44_decrypt"
     14   ],
     15   "roles": [
     16     {
     17       "role": "transport",
     18       "provider_instance": "transport",
     19       "required_capabilities": [
     20         "describe",
     21         "public_identity",
     22         "nip04_encrypt",
     23         "nip04_decrypt",
     24         "nip44_encrypt",
     25         "nip44_decrypt"
     26       ]
     27     },
     28     {
     29       "role": "user",
     30       "provider_instance": "user",
     31       "required_capabilities": [
     32         "describe",
     33         "public_identity",
     34         "sign_event",
     35         "nip04_encrypt",
     36         "nip04_decrypt",
     37         "nip44_encrypt",
     38         "nip44_decrypt"
     39       ]
     40     },
     41     {
     42       "role": "discovery",
     43       "provider_instance": "discovery",
     44       "required_capabilities": ["describe", "public_identity", "sign_event"]
     45     }
     46   ],
     47   "operation_binding": {
     48     "operation_id_bytes": 32,
     49     "correlation_id_bytes": 32,
     50     "absolute_deadline_unix_ms": { "minimum": 1, "maximum": 9223372036854775807 },
     51     "nip44_versions": [2],
     52     "semantic_input_max_bytes": 262144,
     53     "untrusted_output_max_bytes": 1048576
     54   },
     55   "local_signer_limits": {
     56     "request_deadline_ms": { "minimum": 1, "maximum": 30000 },
     57     "request_max_bytes": { "minimum": 1, "maximum": 65536 },
     58     "response_max_bytes": { "minimum": 1, "maximum": 1048576 },
     59     "concurrency": { "minimum": 1, "maximum": 64 }
     60   },
     61   "credential_reference": {
     62     "maximum_utf8_bytes": 128,
     63     "shared_type": "ServiceCredentialArtifactName",
     64     "material_in_configuration": false
     65   },
     66   "execution": {
     67     "database_transaction_held": false,
     68     "provider_result_trusted": false,
     69     "cancellation_proves_no_effect": false,
     70     "signing_is_publication": false
     71   }
     72 }