v1

latestOpenAPI 3.0.32026-08-041747125.8 KB
Auth

Create wallet challenge

Issues a challenge message that must be signed by the wallet owner.

Rate limiting: 1 request per 6 seconds per client IP. Excess requests receive HTTP 429 with Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers (see RateLimitExceeded response).

post/v1/auth/challenge

Request body

walletAddressstring required

User's Ethereum wallet address (must be checksummed per EIP-55)

siweDomainstring required

The domain requesting the SIWE signature (e.g. "app.metalend.tech")

siweUristring required

The URI for the SIWE message (e.g. "https://app.metalend.tech")

siweStatementstring required

The human-readable statement shown to the user in the SIWE signing prompt

chain'ETHEREUM' | 'BASE' | 'POLYGON' | 'ARBITRUM' | 'OPTIMISM' | 'AVALANCHE' | 'LINEA' nullable

The blockchain network. Defaults to "ETHEREUM" if omitted.

Example request

{
  "walletAddress": "0x14848abF0125De79e0A5F3caA7F4EA9664a988e8",
  "siweDomain": "app.metalend.tech",
  "siweUri": "https://app.metalend.tech",
  "siweStatement": "Sign in with Ethereum to MetaLend",
  "chain": "ETHEREUM"
}

Response

Challenge issued successfully

messagestring required

Challenge message to sign using personal_sign method