V1 endpoints
These endpoints require a Client API Key or Client Session Token (CST) as a bearer token.
Last updated
These endpoints require a Client API Key or Client Session Token (CST) as a bearer token.
Last updated
POST
https://mpc-client.portalhq.io/v1/generate
This endpoint generates MPC shares for both SECP256K1 (EVM, etc) and ED25519 (Solana, XRP, etc) curves.
Name | Type | Description |
---|---|---|
You can leave this empty.
POST
https://mpc-client.portalhq.io/v1/assets/send
This endpoint allows you to easily send a token to another address.
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.
POST
https://mpc-client.portalhq.io/v1/sign
This endpoint allows you to sign a transaction or message.
POST
https://mpc-client.portalhq.io/v1/raw/sign/:curve
This endpoint allows you to sign a raw message.
POST
https://mpc-client.portalhq.io/v1/backup
This endpoint allows you to create backup shares for your wallets.
POST
https://mpc-client.portalhq.io/v1/recover
This endpoint allows you to recover shares for your wallets using your backup shares.
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Authorization*
String
Bearer <Client API Key>
Content-Type*
String
application/json
Authorization*
String
Bearer <Client API Key>
Content-Type*
String
application/json
share*
String
The MPC share generated from "Create Wallets" for a specific curve.
chain*
String
The blockchain network (e.g. "ethereum", "sepolia", "solana", "solana-devnet", or a CAIP-2 chain ID like "eip155:11155111")
to*
String
The recipient's address.
token*
String
The token contract address (for ERC20 tokens on EVM chains) or the mint address (for Solana SPL tokens). You can also use "USDC" or "USDT" for the respective tokens. For native token transfers, use "ETH" or "SOL".
amount*
String
The amount of tokens to send ("0.1" is 0.1 USDC)
rpcUrl
String
The node provider RPC URL. Not required for Solana or Solana Devnet.
metadataStr
String
Optional metadata string for the transaction.
Authorization*
String
Bearer <Client API Key>
Content-Type*
String
application/json
method*
String
The signer RPC method (e.g. "personal_sign", "eth_sendTransaction", "sol_signAndSendTransaction", etc).
params*
String
A JSON stringified array of the parameters for the RPC method (e.g. "[\"test\"]").
share*
String
The MPC share generated from "Create Wallets" for a specific curve.
chainId*
String
The blockchain network (a CAIP-2 chain ID like "eip155:11155111" for Sepolia).
to*
String
The recipient's address.
rpcUrl*
String
The node provider RPC URL.
metadataStr
String
Optional metadata string for the transaction.
Authorization*
String
Bearer <Client API Key>
Content-Type*
String
application/json
curve*
String
The curve you want to use (e.g. SECP256K1
for EVM chains and ED25519
for Solana).
param*
String
A hex string of the digest to sign without the leading 0x
(e.g. "param": "7369676e2074686973"
).
share*
String
The MPC share generated from "Create Wallets" for a specific curve.
Authorization*
String
Bearer <Client API Key>
Content-Type*
String
application/json
generateResponse*
JSON
The response body from "Create Wallets".
Authorization*
String
Bearer <Client API Key>
Content-Type*
String
application/json
backupResponse*
JSON
The response body from "Back Up Wallets".