Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Relayer

Gasless path inside clc-core. User signs, clc-core pays, tx lands as an EIP-7702 Calibur batch.

Base: /api/v2/relayer

MethodPath
GET/healthrelayer address (executor) + chain id
GET/nonce/:addressEOA nonce (first-relay authorization)
GET/calibur-nonce/:addresssequence for the root key
GET/calibur-nonce/:address/:keyHashsequence for a passkey
POST/relay/previewdigest + resolved nonce
POST/relaysubmit signed batch
POST/delegateset code without calls
GET/track/:trackingIdfollow until mined
GET/webauthn/challengepasskey recovery
POST/webauthn/recoverrecover from passkey

Flow

build calls → POST /relay/preview → sign digest → POST /relay → GET /track/:id

Each call: { to, value, data }. Batch: { calls: [1..16], revertOnFailure }. Use revertOnFailure: true.

First relay for a wallet also sends the 7702 authorization (needs /nonce/:address). After that, only Calibur sequence numbers.

Passkey sign-in uses the WebAuthn assertion, not SIWE.

Gas limits: SETCODE_GAS_LIMIT / DELEGATE_GAS_LIMIT = 200000.

Details and viem examples: clc-core/docs/RELAYING.md.