V1 endpoints
These endpoints require a Client API Key or Client Session Token (CST) as a bearer token.
Last updated
Was this helpful?
These endpoints require a Client API Key or Client Session Token (CST) as a bearer token.
Last updated
Was this helpful?
POST
https://mpc-client.portalhq.io/v1/generate
This endpoint generates MPC shares for both SECP256K1 (EVM, etc) and ED25519 (Solana, XRP, etc) curves (a Portal wallet).
After receiving MPC shares from this endpoint, be sure to verify the shares with before attempting to sign.
Authorization*
String
Bearer <Client API Key>
Content-Type*
String
application/json
You can leave the request body empty.
POST
https://mpc-client.portalhq.io/v1/assets/send
This endpoint allows you to easily send a token the client holds to another address.
The Send Assets
endpoint builds, signs, and submits a transaction to an RPC gateway.
Important: A 200 response only confirms that the transaction was received by the RPC gateway — it does not mean the transaction is confirmed on-chain. The transaction must first be placed in the mempool of the RPC gateway nodes, submitted to miner/validator nodes, and then validated and finalized by the network. This process can take seconds to minutes, depending on the blockchain.
Authorization*
String
Bearer <Client API Key>
Content-Type*
String
application/json
share
*
String
chain
*
String
"base"
"base-sepolia"
"bitcoin-segwit"
"bitcoin-segwit-testnet"
"ethereum"
"bitcoin-p2wpkh-mainnet"
"bitcoin-p2wpkh-testnet"
"polygon"
"polygon-amoy"
"celo"
"celo-alfajores"
"sepolia"
"solana"
"solana-devnet"
"stellar"
"stellar-testnet"
"tron"
"tron-nile"
"tron-shasta"
The blockchain network.
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 "NATIVE"
.
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.
nonce
String
The hex string of the nonce to set on the transaction ("0x01" sets the nonce of the transaction to 1). Note that the hex string needs to include the "0x" and for single digits to include a leading zero like "0x0".
metadataStr
String
Optional metadata string for the transaction.
POST
https://mpc-client.portalhq.io/v1/sign
This endpoint allows you to sign a transaction or message by chain.
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
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.
POST
https://mpc-client.portalhq.io/v1/raw/sign/:curve
This endpoint allows you to sign a raw message by curve.
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
POST
https://mpc-client.portalhq.io/v1/backup
This endpoint allows you to create backup shares for your wallet.
Authorization*
String
Bearer <Client API Key>
Content-Type*
String
application/json
generateResponse
*
JSON
POST
https://mpc-client.portalhq.io/v1/recover
This endpoint allows you to recover shares for your wallet using your backup shares.
Authorization*
String
Bearer <Client API Key>
Content-Type*
String
application/json
backupResponse
*
JSON
The MPC share generated from for a specific curve.
or one of:
If your client is using , then transactionHash
is actually a User Operation hash. You can manually look up the user operation hash .
The MPC share generated from for a specific curve.
The MPC share generated from for a specific curve.
The response body from .
The response body from .