Create a wallet
To create a wallet we are going to use the /v1/generate
endpoint to create a new wallet and then use the /v3/clients/me/signing-share-pairs
endpoint to confirm successful storage of the generated signing share. Worth nothing that the generate endpoint returns MPC shares for both the SECP256K1
curve (compatible with EVM and Bitcoin chains) and the ED25519
curve (compatible with Solana). In other words, you only need to make one generate request to get wallets for multiple chains!
Steps
From your application, make an HTTP POST request to
https://mpc-client.portalhq.io/v1/generate
using theclientApiKey
you received in the previous step as the Bearer token.
After sending this request you should get a 200
status code with a JSON response that looks like:
Returned in this request is the
share
andid
of that share for each respective curve! In your production build you’ll store the full object that is returned,generateReponse
, in a secure location. For this guide, just save this value for Signing.As a wallet safeguarding measure, we require the client to notify our backend once they have successfully stored their signing share (in either a keychain or DB). To do this, just make a single
PATCH
request to/api/v3/clients/me/signing-share-pairs
with thesigningSharePairIds
you get from the generate response and a"STORED_CLIENT"
status.
This will return a 204
on success.
Congrats! 🎉 You have now created your first Portal wallet and are ready to sign a transaction!
Last updated