> ## Documentation Index
> Fetch the complete documentation index at: https://docs.waycore.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How it works

Waycore turns a commercial bank portal into a programmable surface area using **entity-aware ownership**, **delegated user access**, and **observable state transitions**.

We act as an end-user's authorised representative, operating under a delegated user, at the portal level, to automate treasury workflows under human supervision.

<iframe src="https://share.descript.com/embed/v2BWNoF7784" width="640" height="360" frameborder="0" allowfullscreen />

***

## The Core Loop

<AccordionGroup>
  <Accordion title="1) The owner is modeled as an entity">
    Your platform starts by selecting or creating the business that owns the bank connection.

    This entity becomes the ownership boundary for:

    * Connections
    * Accounts
    * Transactions
    * Your own internal customer mapping
  </Accordion>

  <Accordion title="2) A supported institution or portal URL is chosen and a connection is created">
    Your platform either looks up the target institution in the public catalog or provides a raw bank portal URL, then creates or returns a connection.

    If onboarding is still required, the setup-stage connection returns:

    * Structured setup details
    * The next required action
    * Which party needs to take it
  </Accordion>

  <Accordion title="3) Delegated-user onboarding happens in the bank">
    Your customer creates a dedicated user inside their bank portal for Waycore. Permissions are scoped explicitly by the bank.

    Then the integrator:

    * Submits the temporary credentials
    * Marks bank-side setup complete
    * Polls the connection until it is activated
  </Accordion>

  <Accordion title="4) The connection becomes ready and data starts flowing">
    Once activation is complete, the connection becomes `active`.

    From there, your platform can:

    * Read accounts
    * Backfill transactions
    * Trigger a sync when freshness matters, subject to connection cooldown
    * Create and track transfers where transfer access is enabled
  </Accordion>

  <Accordion title="5) Webhooks and monitoring close the loop">
    The public API exposes webhook notifications for operational changes such as:

    * Connection status changes
    * Fresh transaction sync availability

    All of this sits on top of the same audit and operational control model that powers the broader Waycore platform.
  </Accordion>
</AccordionGroup>

***

## Guarantees

* Ownership is explicit through entities and connections.
* Every major state change is observable.
* Delegated access preserves bank-native permissions.

## Non-Guarantees

* Banks may change portal flows.
* MFA requirements vary by institution.
* Activation and sync latency depend on bank behavior.
* Bank portal uptime is not guaranteed.
