Skip to main content
POST
Create Delegated Signer

Authorizations

X-API-KEY
string
header
required

API key required for authentication

Path Parameters

walletLocator
string
required

A wallet locator can be of the format:

  • <walletAddress>
  • email:<email>:<chainType>[:<walletType>][:alias:<alias>] (walletType defaults to 'smart')
  • userId:<userId>:<chainType>[:<walletType>][:alias:<alias>] (white label user example)
  • phoneNumber:<phoneNumber>:<chainType>[:<walletType>][:alias:<alias>]
  • twitter:<handle>:<chainType>[:<walletType>][:alias:<alias>]
  • x:<handle>:<chainType>[:<walletType>][:alias:<alias>]
  • me:<chainType>[:<walletType>][:alias:<alias>] (Use when calling from the client side with a client API key)
  • chainType[:<walletType>]:alias:<alias>

Body

application/json

Parameters for creating a EVM delegated signer

chain
enum<string>
required

The chain where the signer will be registered

Available options:
apechain,
arbitrum,
arbitrum-sepolia,
arbitrumnova,
arc,
arc-testnet,
avalanche,
avalanche-fuji,
base,
base-sepolia,
bsc,
celo,
celo-sepolia,
curtis,
ethereum,
ethereum-sepolia,
flow,
flow-testnet,
mantle,
mantle-sepolia,
optimism,
optimism-sepolia,
polygon,
polygon-amoy,
robinhood-chain,
robinhood-chain-testnet,
scroll,
scroll-sepolia,
sei-atlantic-2-testnet,
sei-pacific-1,
shape,
story,
story-testnet,
tempo,
tempo-testnet,
zora,
zora-sepolia
signer
required

A signer locator that can be either a of format '' for external wallet type signers or ':'

Example:

"passkey:cWtP7gmZbd98HbKUuGXx5Q"

approver
string

The recovery method that authorizes this operation. Required when the wallet has multiple recovery methods.

Examples:

"passkey:cWtP7gmZbd98HbKUuGXx5Q"

"api-key:123456789"

"external-wallet:0x1234567890123456789012345678901234567890"

"server:0x1234567890123456789012345678901234567890"

"email:test@example.com"

"phone:+1234567890"

"device:BIVmCqMz8QJB+se2kJEpGQ..."

"quorum:123e4567-e89b-12d3-a456-426614174000"

deployImmediately
boolean

If true, returns a transaction to register the signer in the wallet. If false (default), it generates a signature and the signer will be registered on the following transaction.

expiresAt
string<date-time>

The expiry date of the signer in ISO 8601 format

Example:

"2024-01-15T10:30:00.000Z"

scopes
Transfer · object[]

Optional array of scopes to restrict the signer's capabilities

Example:

Response

The delegated signer has been successfully created.

Complete delegated signer response including the signer and authorization transaction

locator
string
required

The quorum's locator, generated when it was added. Name it as signer to act as the quorum.

Pattern: ^quorum:[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
members
(Phone Signer · object | Server Signer · object | Email Signer · object | External Wallet Signer · object | Passkey Signer · object)[]
required

The member signers, each under its own locator

Configuration for a phone signer

threshold
integer
required

The number of member signatures required to approve

Required range: 1 <= x <= 9007199254740991
type
string
required

Identifier for quorum (multisig) signer type

Allowed value: "quorum"
expiresAt

The expiry date of the signer in ISO 8601 format

scopes
Transfer · object[]

Optional array of scopes restricting the signer's capabilities

Example:
transaction
object

The transaction for the signer