Skip to content

galanthus extends the same bank-integration model to provider APIs such as Revolut and Wise. Applications keep one approach to profiles, credential handling, capability discovery, and structured results, while provider plugins contain each API's authentication and payload rules.

Provider API references:

Plugin model

Neobank backends are delivered as shared libraries that implement the public plugin ABI. Each plugin owns the wire-level concerns of one provider: HTTP base URL, auth scheme, idempotency conventions, payload shape, and provider-specific error details.

Plugin loading goes through an explicit trust boundary. Discovery resolves a plugin id such as revolut or wise to a concrete binary on the configured search path. Before a backend is loaded, the library checks whether the resolved binary is already trusted; if it is not, the operator approves it through plugin approve and the approval is recorded as a pin against that binary. Plugin trust failures surface as GLN_ERR_PLUGIN_NOT_TRUSTED; discovery failures surface as GLN_ERR_PLUGIN_NOT_FOUND.

Revolut

Revolut is integrated against the Revolut Business API. It uses an OAuth flow with a client-assertion private key, supports recipient management, and stages outgoing payments as Revolut payment drafts.

CLI entry points:

  • profile init with --backend revolut records the endpoint, product credential reference, galanthus-owned storage root, and shared profile metadata.
  • profile auth login revolut exchanges an authorization code collected by the caller-managed browser flow. The command does not open a browser or wait for a redirect.
  • profile auth status revolut reports the redacted token status for the active Revolut profile.
  • gln revolut payment-drafts create | list | show | delete manages Revolut payment drafts. See create, list, show, and delete.
  • gln revolut recipients create | list | delete manages Revolut counterparties. See create, list, and delete.

Library entry: open a Revolut backend with gln_open_revolut_backend. The config carries the product credential reference and root, environment, storage root, and optional profile, plugin, and diagnostic fields. Revolut uses a state store and galanthus-owned token storage. The full library reference lives at Revolut.

Wise

Wise is integrated against the Wise API. It uses a Wise PersonalToken stored in encrypted host storage or in the supplied Wise token store, depending on the opened backend configuration.

CLI entry points:

Library entry: open a Wise backend with gln_open_wise_backend. The config carries the Wise endpoint, optional Wise profile id, optional local profile name, optional plugin path, dump directory, and timeout. Wise backends require a state store and a Wise token store. The full library reference lives at Wise.

Provider-specific operations

Revolut and Wise add operations that are specific to each provider. Shared banking operations are discovered through the same runtime capability model used by other backends.

SurfaceRevolutWise
Profile configurationyesyes
OAuth authorize/code exchangeyes-
PersonalToken setup-yes
Token status/deleteyesyes
Recipients managementyes-
Payment draftsyes-

Shared backend operations must be capability-probed at runtime before a caller exposes them for a Revolut or Wise backend.

See also