Waycore is built around a small set of structural primitives.
If you understand these, you understand the system.
Delegated User
A delegated user is a bank-native login created by your customer inside their commercial bank. It is not:- A shared credential
- A scraped session
- A consumer OAuth token
- Read-only access
- Transfer initiation
- Approval authority
The bank controls the permission surface. Waycore does not bypass it.
Institution
An institution is a supported commercial bank connection. An institution object represents:- The bank (e.g., Chase, Wells Fargo, regional banks)
- A verified delegated user
- A live connection status
- Capability flags (read, transfer, approvals)
ACTIVEDEGRADEDREAUTH_REQUIREDUNSUPPORTED
Policy
A policy defines constraints that must be satisfied before execution. Examples:- Transfer amount limits
- Time-of-day restrictions
- Dual-approval requirements
- Beneficiary allowlists
Execution
An execution is an attempted money movement action. It has:- A unique execution ID
- A defined state lifecycle
- Associated policy evaluations
- An audit record
State Machine
Every execution moves through explicit states:CREATEDPOLICY_VALIDATEDQUEUEDEXECUTINGMFA_REQUIREDCOMPLETEDFAILED
Webhook Event
A webhook event is emitted on every meaningful state change. Events include:- Execution updates
- Connection degradation
- MFA requirements
- Policy violations
Audit Trail
Every action is written to an immutable audit log. The audit trail includes:- Timestamp
- Institution
- Delegated user identity
- Action performed
- Result
- Metadata
- Compliance reporting
- Operational debugging
- Post-facto review
Human-in-the-Loop (HITL)
When automation cannot proceed (e.g., hardware MFA, unexpected bank UI), the execution enters a controlled human intervention path. HITL actions:- Are permission-bound
- Are logged
- Emit state updates
- Do not bypass policy
Design Philosophy
Waycore is opinionated:- Bank permissions are the root authority.
- Policy precedes execution.
- Every action is observable.
- State is explicit.
- Failure modes are surfaced, not hidden.