Skip to main content

Join an Ecosystem

Onboarding Process

  1. List the available Ecosystems and find the one of your interest.

    curl -X GET "https://api.testnet.verana.network/tr/v1/list?active_gf_only=true&response_max_size=1" -H  "accept: application/json"

    {
    "trust_registries": [
    {
    "id": "1",
    "did": "did:example:184a2fddab1b3d505d477adbf0643446",
    "controller": "verana12dyk649yce4dvdppehsyraxe6p6jemzg2qwutf",
    "created": "2025-06-18T16:27:13.531941769Z",
    "modified": "2025-06-18T16:27:13.531941769Z",
    "archived": null,
    "deposit": "10000000",
    "aka": "http://example-aka.com",
    "active_version": 1,
    "language": "en",
    "versions": [
    {
    "id": "1",
    "tr_id": "1",
    "created": "2025-06-18T16:27:13.531941769Z",
    "version": 1,
    "active_since": "2025-06-18T16:27:13.531941769Z",
    "documents": [
    {
    "id": "1",
    "gfv_id": "1",
    "created": "2025-06-18T16:27:13.531941769Z",
    "language": "en",
    "url": "https://example.com/governance-framework.pdf",
    "digest_sri": "sha384-MzNNbQTWCSUSi0bbz7dbua+RcENv7C6FvlmYJ1Y+I727HsPOHdzwELMYO9Mz68M26"
    }
    ]
    }
    ]
    }
    ]
    }

  2. Check the Ecosystem Trust Registry and get the Ecosystem Governance Framework link, here https://example.com/governance-framework.pdf. Verify that the digest_sri matches.

  3. Verify you comply with requirements for obtaining the Permission Type or Verifiable Credential you would like to obtain for a given Credential Schema.

  4. List the Credential Schemas of this Ecosystem

    curl -X GET "https://api.testnet.verana.network/cs/v1/list?tr_id=1&response_max_size=1" -H  "accept: application/json"
    {
    "schemas": [
    {
    "id": "1",
    "tr_id": "1",
    "created": "2025-06-18T16:27:18.757210803Z",
    "modified": "2025-06-18T16:27:18.757210803Z",
    "archived": null,
    "deposit": "10000000",
    "json_schema": "{\n\t\t\"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n\t\t\"$id\": \"/vpr/v1/cs/js/1\",\n\t\t\"type\": \"object\",\n\t\t\"$defs\": {},\n\t\t\"properties\": {\n\t\t\t\"name\": {\n\t\t\t\t\"type\": \"string\"\n\t\t\t}\n\t\t},\n\t\t\"required\": [\"name\"],\n\t\t\"additionalProperties\": false\n\t}",
    "issuer_grantor_validation_validity_period": 360,
    "verifier_grantor_validation_validity_period": 0,
    "issuer_validation_validity_period": 360,
    "verifier_validation_validity_period": 0,
    "holder_validation_validity_period": 0,
    "issuer_perm_management_mode": "GRANTOR_VALIDATION",
    "verifier_perm_management_mode": "OPEN"
    }
    ]
    }
  5. Based on the schema configuration and the permission type you would like to obtain:

  • self-create your Permission;
  • choose a validator and run a validation process as an applicant to obtain your Permission (or Verifiable Credential).

Based on the schema configuration and the permission type you would like to obtain, the table below shows the corresponding action that must take place:

For Issuance Related Permissions and Verifiable Credentials:

Schema Issuance Policy → Permission (or Credential) to obtain ↓OPENECOSYSTEMGRANTOR
Issuer GrantorN/AN/Arun a validation process with an ECOSYSTEM Permission as the validator
Issuerself-create an ISSUER Permissionrun a validation process with an ECOSYSTEM Permission as the validatorrun a validation process with ISSUER GRANTOR Permission as the validator
Holder (Credential)self-create an ISSUER Permission, then self-issue your Verifiable Credentialrun a validation process with an ISSUER as the validator and get issued your Verifiable Credentialrun a validation process with an ISSUER as the validator and get issued your Verifiable Credential

For Verification Related Permissions:

Schema Verification Policy → Permission to obtain ↓OPENECOSYSTEMGRANTOR
Verifier GrantorN/AN/Arun a validation process with an ECOSYSTEM Permission as the validator
Verifierself-create a VERIFIER Permissionrun a validation process with an ECOSYSTEM Permission as the validatorrun a validation process with VERIFIER GRANTOR Permission as the validator
  1. If you need to self-create your Permission:
TODO

@pratikasr Finish documentation here

Obtain the required attributes for creating the permission. You will need:

  • the Credential Schema ID

  • ...

    curl ...

Then, execute a transaction to create the Permission:

veranad ...

Verify your Permission by querying the ledger:

curl ...
  1. If you need to initiate a validation process - as the Applicant (the one that wants to get granted the permission)

Make sure to read the Learn - Validation Process documentation.

TODO

@pratikasr Finish documentation here

Obtain the required attributes for initiating the process. You will need:

  • the Credential Schema ID

  • ...

    curl ...

Then, execute a transaction to start the Validation Process:

veranad ...

Verify your Permission by querying the ledger:

curl ...

Now, get the uuid of the created Permission that is pending approval by the Validator. Contact the Validator and perform the required tasks by exchanging information with the Validator. If everything went well, Validator will set the permission as granted (or your credential will receive a credential)

  1. If you need to participate to a validation process - as Validator (the one that verifies the candidate)
TODO

@pratikasr Finish documentation here

  • Load the Permission with the UUID that was shared by the Applicant.

  • Request the Applicant a proof that it controls the verana account (crypto challenge)

  • Make sure the Applicant controls the DID it set in the Permission

  • Verify the documentation shared by the Applicant and make sure it matches EGF constraints.

  • Finally, set the Permission as validated:

    veranad ...