Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

WalletConnect Relay (SDK-mediated)

WalletConnect v2 relay network for end-to-end encrypted JSON-RPC pairing between dApps and wallets. Accessed through SDK clients only; not a direct REST surface.

WalletConnect Relay (SDK-mediated) is one of 7 APIs that Reown publishes on the APIs.io network, described by an AsyncAPI event-driven specification.

Tagged areas include WebSocket and Relay. The published artifact set on APIs.io includes API documentation and an AsyncAPI specification.

This event API exposes 2 operations across 1 channel, and defines 37 schemas. It is described by AsyncAPI 2.6.0, at version 2.0.

The API connects through a single server, relay.walletconnect.com (wss).

2 operations 1 channels 37 schemas

Metadata

The identity and technical contract details declared by the specification.

Specification
AsyncAPI 2.6.0
API Version
2.0
Base URL
wss://relay.walletconnect.com
Contact
License
Apache-2.0
Resource Areas
1

Channels & Operations 2

Across 1 channel, the API surfaces 2 operations. Each is listed below with its action, channel, parameters, and response codes.

Channels 2
SUB
/
Messages delivered from the relay to a client.
relayToClient body
PUB
/
Messages sent from client (dApp or wallet) to the relay.
clientToRelay body

Messages & Schemas 37

The contract defines 37 schemas that model the data carried by its messages. The most detailed are AppMetadata (4 properties), WcSessionSettle (4 properties), WcSessionPropose (4 properties), IrnSubscriptionRequest (4 properties). Each schema is shown below with its type and property counts.

IrnPublishRequest
message
Publish an encrypted message to a topic.
IrnPublishResponse
message
IrnSubscribeRequest
message
Subscribe to a single topic; returns a subscriptionId.
IrnSubscribeResponse
message
IrnUnsubscribeRequest
message
Unsubscribe a previous subscription on a topic.
IrnUnsubscribeResponse
message
IrnBatchSubscribeRequest
message
Subscribe to many topics in one call.
IrnBatchSubscribeResponse
message
IrnBatchUnsubscribeRequest
message
Unsubscribe many (topic, subscriptionId) pairs at once.
IrnBatchUnsubscribeResponse
message
IrnSubscriptionRequest
message
Server-initiated delivery of a published message to a subscribed client. The data.message payload is an encrypted envelope whose plaintext, once decrypted with…
IrnSubscriptionResponse
message
Client acknowledgement that the pushed message was received.
JsonRpcId
integer
JSON-RPC 2.0 correlation id.
JsonRpcVersion
string
IrnPublishRequest
object
4 properties 4 required
IrnSubscribeRequest
object
4 properties 4 required
IrnUnsubscribeRequest
object
4 properties 4 required
IrnBatchSubscribeRequest
object
4 properties 4 required
IrnBatchUnsubscribeRequest
object
4 properties 4 required
IrnSubscriptionRequest
object
4 properties 4 required
BooleanResponse
object
3 properties 3 required
SubscriptionIdResponse
object
3 properties 3 required
SubscriptionIdsResponse
object
3 properties 3 required
WcSessionPropose
object
wcsessionPropose — sent by the dApp (proposer) on the pairing topic (Topic A) to request a session. The wallet (responder) replies with its public key and chos…
4 properties 4 required
WcSessionSettle
object
wcsessionSettle — sent by the responder on Topic B to finalize the session with agreed namespaces, accounts, methods, events and expiry.
4 properties 4 required
WcSessionUpdate
object
wcsessionUpdate — updates the agreed namespaces of an active session.
2 properties
WcSessionExtend
object
wcsessionExtend — pushes the session expiry forward.
2 properties
WcSessionRequest
object
wcsessionRequest — dApp asks the wallet to execute a JSON-RPC method scoped to a CAIP-2 chain (e.g. ethsendTransaction on eip155:1).
2 properties
WcSessionEvent
object
wcsessionEvent — peer-emitted event (e.g. chainChanged, accountsChanged).
2 properties
WcSessionPing
object
wcsessionPing — liveness probe with a 30s timeout.
2 properties
WcSessionDelete
object
wcsessionDelete — terminate a session.
2 properties
WcSessionAuthenticate
object
wcsessionAuthenticate — request a CAIP-74 (CACAO) authentication signature, optionally also settling a session.
2 properties
WcPairingPing
object
wcpairingPing — liveness probe on the pairing topic.
2 properties
WcPairingDelete
object
wcpairingDelete — close and delete a pairing.
2 properties
AppMetadata
object
4 properties
Namespace
object
3 properties
SettledNamespace
object
4 properties

Specification

The full machine-readable AsyncAPI contract behind this narrative.

Source

reown-asyncapi.yml Raw ↑

Other APIs Reown publishes across the network.

Reown Cloud Explorer API
Reown Notify (Push) API
Reown Blockchain API
Reown Chains API
Reown Listings API
Reown Logos API