V1 endpoints

These endpoints require a Client API Key or Client Session Token (CST) as a bearer token.

Create Wallets

POST https://mpc-client.portalhq.io/v1/generate

This endpoint generates MPC shares for both SECP256K1 (EVM, etc) and ED25519 (Solana, XRP, etc) curves.

Headers

Request Body

You can leave this empty.

Response Body

{
  "SECP256K1": {
    "share": "eyJjbG...",
    "id": "cm0r6nkek00ej10dwwx8wdjmf"
  },
  "ED25519": {
    "share": "eyJjbG...",
    "id": "cm0r6nk7c00hbzefaq9s93s0x"
  }
}

Send Assets

POST https://mpc-client.portalhq.io/v1/assets/send

This endpoint allows you to easily send a token to another address.

Headers

Request Body

Response Body

{
  "transactionHash": "0x02073df9ba08895d681f80ae45440ba57e766602c97ee6321df5ac81bca900cc",
  "metadata": {
    "formattedAmount": "0.01",
    "rawAmount": "10000000000000000",
    "tokenAddress": "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",
    "tokenDecimals": 18
  }
}

If your client is using Account Abstraction, then transactionHash is actually a User Operation hash. You can manually look up the user operation hash here.

Submit Transaction

POST https://mpc-client.portalhq.io/v1/sign

This endpoint allows you to sign a transaction or message.

Headers

Request Body

Response Body

{
  "data": "0xf7a6a07fa599db56fca50fa1202670b59054e7ed452ea57b3f5b43148b8bdb165beb3a4b0fd532162a1f0fd475de1a9ecd07c95186f7a0856ce1bffa45e3acc91b"
}

Sign Raw Message

POST https://mpc-client.portalhq.io/v1/raw/sign/:curve

This endpoint allows you to sign a raw message.

Headers

Request Path Params

Request Body

Response Body

{
  "data": "0xf7a6a07fa599db56fca50fa1202670b59054e7ed452ea57b3f5b43148b8bdb165beb3a4b0fd532162a1f0fd475de1a9ecd07c95186f7a0856ce1bffa45e3acc91b"
}

Back Up Wallets

POST https://mpc-client.portalhq.io/v1/backup

This endpoint allows you to create backup shares for your wallets.

Headers

Request Body

Response Body

{
  "secp256k1": {
    "share": "eyJjbGl...",
    "id": "clu32l6c8008wuvz52jokyo3r"
  },
  "ed25519": {
    "share": "eyJjbGl...",
    "id": "clu32l9310087evz5u5v9k1ao"
  }
}

Recover Wallets

POST https://mpc-client.portalhq.io/v1/recover

This endpoint allows you to recover shares for your wallets using your backup shares.

Headers

Request Body

Response Body

{
  "secp256k1": {
    "share": "eyJjbGl...",
    "id": "clu32l6c8008wuvz52jokyo3r"
  },
  "ed25519": {
    "share": "eyJjbGl...",
    "id": "clu32l9310087evz5u5v9k1ao"
  }
}

Last updated