Creates a new portfolio using the signed message from the previous step.
The Ethereum address of the user who will own the portfolio
Array of chain IDs where the portfolio will operate
The kernel version (from signature request response)
The signature action object from the signature request response
The signature obtained from the user’s wallet
Optional template data to initialize the portfolio
Your API key for authentication
Content-Type
string
default:"application/json"
The format of the request body
curl --request POST \
--url '/v1/portfolio/create' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: your_api_key_here' \
--data '{
"userAddress": "0xYourWalletAddress",
"chainIds": [8453],
"accountIndex": 0,
"kernelVersion": "0.3.2",
"signatureAction": {
"reason": "portfolio-permission",
"type": "personal_sign",
"message": "I authorize Glider to manage my portfolio\n\n0x8ad4d95c3c3d0a1e87bfdb1d2401905db4a97d8e05e77d69e5d79397da128b81"
},
"signature": "0xYourSignatureFromWallet",
"templateData": {
"name": "70/30 ETH-USDC Portfolio",
"description": "A simple portfolio with 70% ETH and 30% USDC allocation",
"entry": {
"blockType": "weight",
"weightType": "specified-percentage",
"weightings": ["70", "30"],
"children": [
{
"blockType": "asset",
"assetId": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE:8453"
},
{
"blockType": "asset",
"assetId": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913:8453"
}
]
}
}
}'
{
"success": true,
"data": {
"portfolioId": "port_abc123",
"message": "Portfolio created successfully",
"vaults": [
{
"chainId": "8453",
"address": "0xPortfolioVaultAddress"
}
],
"template": {
"blueprintId": "tmpl_xyz789",
"editId": "edit_abc123",
"version": 1,
"name": "70/30 ETH-USDC Portfolio"
}
},
"correlationId": "corr_abc123",
"requestId": "req_xyz789",
"timestamp": "2023-05-21T12:34:56.789Z"
}