Skip to main content
POST
cURL
Use an OAuth bearer access token with the agreements.write scope, or provide X-API-Key as the alternative credential. Verification proves control and links the wallet to the authenticated Shodai account; it does not transfer custody or authorize Shodai to sign agreement inputs. See Authentication for delegated OAuth access and Link a wallet and access agreements for the creator and participant access model.

TypeScript with viem

Authorizations

X-API-Key
string
header
default:YOUR_API_KEY
required

Canonical API-key credential. Send X-API-Key: cns_pk_..., or Authorization: Bearer cns_pk_... only as an API-key compatibility alias.

Body

application/json
address
string
required

Wallet address claimed by the EIP-4361 message.

Pattern: ^0x[0-9a-fA-F]{40}$
message
string
required

Complete EIP-4361 message containing the issued nonce, wallet, domain, URI, chain ID, and issued-at timestamp.

signature
string
required

Hexadecimal signature over the complete EIP-4361 message.

Pattern: ^0x[0-9a-fA-F]+$
domain
string

Optional assertion that must exactly match the domain in the signed message.

chainId
integer

Optional assertion that must match the chain ID in the signed message.

Response

Verified and linked wallet.

data
object
required
Example:
meta
object
required