> For the complete documentation index, see [llms.txt](https://smits-organization-1.gitbook.io/credscore/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://smits-organization-1.gitbook.io/credscore/how-credscore-works/publish-your-docs.md).

# Workflow

{% stepper %}
{% step %}

### Credit Card Companies joins CredScore

The companies register with **CredScore** and begin contributing user transaction data to the platform.

{% endstep %}

{% step %}

### Secure payment data handling via Calimero

* Payment data is fetched from the company's systems securely using Calimero’s private shard API.
* The private shard ensures sensitive payment information remains confidential while facilitating seamless data access.
  {% endstep %}

{% step %}

### Off-Chain Processing on Calimero

Calimero processes the payment data to:

* Aggregate total amounts due and paid.
* Identify on-time payments.
* Generate Zero-Knowledge Proofs (ZKPs) for privacy-preserving verification.

{% endstep %}

{% step %}

### StarkNet Smart Contract Interaction

* The processed payment data is submitted to the StarkNet smart contract using the `add_payment` method.
* If ZKPs are used, proofs and public inputs are submitted to the smart contract for validation using the `update_credit_score_with_proof` method.
* The smart contract updates the user's credit score based on their payment history.
  {% endstep %}
  {% endstepper %}
