Wallet Sign Message (beta)

POST /v1/wallets/{wallet_id}/sign_message

Sign message using a managed wallet. Managed wallet means the private key is never exposed to the client and always stored encrypted in our vault. Currently, only Ethereum ETH wallet type signing is supported.

HTTP Request

POST /v1/auth/wallets/{wallet_id}/sign_message


A successful response returns a Wallet object and a signature property for the signed message.

Path parameters

  • wallet_id string Required

    Unique wallet ID of the wallet to retrieve.



  • message string Required

    Message string to sign. It adds to the message prefix "\x19Ethereum Signed Message:\n" before signing, a standard in Ethereum Improvement Proposal (EIP) 191.


POST /v1/wallets/{wallet_id}/sign_message
curl \
 -X POST https://api.streambird.io/v1/wallets/{wallet_id}/sign_message \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"message":"test"}'
Request example
  "message": "test"
Response examples (200)
  "wallet_id": "wallet_26l6hdwAXQr0y573AhQTXNDkyqK",
  "wallet": {
    "id": "wallet_26l6hdwAXQr0y573AhQTXNDkyqK",
    "app_id": "app_25ldv51seNohTaYRsxdfoxMlAa2",
    "user_id": "user_26l6ha8syVN8oqmaHaFShTxZ5RC",
    "public_address": "0xb6acedc0cdcab7a4bb6c236976bb7df63bbcd567",
    "wallet_type": "ETH",
    "verified": true,
    "is_default": true,
    "is_read_only": false,
    "is_imported": false,
    "updated_at": 1647985945,
    "created_at": 1647985945
  "signature": "0xc8723cfad978035ad3b960beade5237477aa91a9b01ba238d859e2a6e0fbded322e4732d3252afc4f7bec0018cc7bdddfe90547cc4fa985a400744315316198e01"