SymorvaDocs
Modules

DApps & ecosystem

A curated, operator-managed directory that makes partner applications and DeFi services reachable from the community, with member approval for every data request.

Available· Runs today in the reference deployment

The DApps module adds an ecosystem surface to the community app: a curated directory of partner applications and services that members can browse, save and open. Listings, categories, network filters, allowlists and partner configuration are managed by the operator on the directory-service component.

The directory and its operator console run today in the reference deployment. Per-request member approval for partner data access and the manifest-level allowlist are part of the module design and in developer preview.

Capabilities

CapabilityStatusNotes
Curated directoryAvailableFeatured listings, categories, network filters, search
Saved and recently visitedAvailablePer member, in the member's account
Partner listingsAvailableName, description, logo, supported networks, community and support links
External destination policyAvailableOperator switch for opening external URLs, with revision history, audit and rollback
Risk confirmationAvailableMembers confirm before leaving for a partner destination
In-app DApp browserAvailablePartner apps open inside the community app
Member approval per data requestPreviewPartners receive no member data without approval
Manifest allowlistPreviewallowlist

Configuration

symorva.config.json (excerpt)
{
  "modules": {
    "dapps": {
      "enabled": true,
      "directory": true,
      "allowlist": ["https://app.partner.example"]
    }
  }
}

Prop

Type

Managing the directory

Listings are operator content, managed in the admin console rather than in the manifest, so they can change without a new build:

  • Listings — name and description per language, logo and hero image, destination URL, supported networks, categories, and community and support links.
  • Categories and networks — the filters members see.
  • Banners — featured placements on the directory home.
  • External destination policy — whether listings may open external URLs. Every change records the operator, the before and after values and a revision; a stale revision is rejected rather than overwriting someone else's edit, and any revision can be rolled back.

Partner access to member data

In the module design, partner apps run in the in-app browser, isolated from the community app's own session, and reach member data only through an approval flow:

  1. A partner app that needs member data — an identity, a wallet address, a signature — makes a request through the app's bridge.
  2. The app shows the member exactly what is requested and by whom.
  3. Only an approved request is fulfilled, and only with the data it named. Every request is approved separately; approvals are not standing permissions.
  4. Signing and payment requests are handled by the wallet module and use its confirmation rules.

Without the wallet module, signing and payment requests are rejected, and validation reports dapps.no-wallet.

Events

Preview webhook events.

EventFired whenKey fields
dapps.listing.publishedA listing becomes visiblelistingId, categories
dapps.listing.unpublishedA listing is withdrawnlistingId
dapps.request.approvedA member approves a partner requestlistingId, requestType
dapps.request.deniedA member denies a partner requestlistingId, requestType

Request events identify the partner and the type of request. They never include the data released.

Privacy scope

Partner apps receive no member data unless the member approves each request.

Shared services and metering

The DApps module uses no shared services and has no metered units.

Limits

FieldBound
allowlist entriesValid URLs

On this page