curl --request POST \
--url https://api.biconomy.io/v1/instructions/hyperliquid/deposit \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"ownerAddress": "0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a",
"mode": "smart-account",
"sourceToken": "<unknown>",
"sourceChainId": "<unknown>",
"amount": "<unknown>",
"orchestratorAddressOverride": "0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a",
"feeToken": {
"address": "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
"chainId": 42161
}
}
'import requests
url = "https://api.biconomy.io/v1/instructions/hyperliquid/deposit"
payload = {
"ownerAddress": "0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a",
"mode": "smart-account",
"sourceToken": "<unknown>",
"sourceChainId": "<unknown>",
"amount": "<unknown>",
"orchestratorAddressOverride": "0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a",
"feeToken": {
"address": "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
"chainId": 42161
}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ownerAddress: '0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a',
mode: 'smart-account',
sourceToken: '<unknown>',
sourceChainId: '<unknown>',
amount: '<unknown>',
orchestratorAddressOverride: '0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a',
feeToken: {address: '0xaf88d065e77c8cc2239327c5edb3a432268e5831', chainId: 42161}
})
};
fetch('https://api.biconomy.io/v1/instructions/hyperliquid/deposit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.biconomy.io/v1/instructions/hyperliquid/deposit",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ownerAddress' => '0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a',
'mode' => 'smart-account',
'sourceToken' => '<unknown>',
'sourceChainId' => '<unknown>',
'amount' => '<unknown>',
'orchestratorAddressOverride' => '0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a',
'feeToken' => [
'address' => '0xaf88d065e77c8cc2239327c5edb3a432268e5831',
'chainId' => 42161
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.biconomy.io/v1/instructions/hyperliquid/deposit"
payload := strings.NewReader("{\n \"ownerAddress\": \"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a\",\n \"mode\": \"smart-account\",\n \"sourceToken\": \"<unknown>\",\n \"sourceChainId\": \"<unknown>\",\n \"amount\": \"<unknown>\",\n \"orchestratorAddressOverride\": \"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a\",\n \"feeToken\": {\n \"address\": \"0xaf88d065e77c8cc2239327c5edb3a432268e5831\",\n \"chainId\": 42161\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.biconomy.io/v1/instructions/hyperliquid/deposit")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ownerAddress\": \"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a\",\n \"mode\": \"smart-account\",\n \"sourceToken\": \"<unknown>\",\n \"sourceChainId\": \"<unknown>\",\n \"amount\": \"<unknown>\",\n \"orchestratorAddressOverride\": \"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a\",\n \"feeToken\": {\n \"address\": \"0xaf88d065e77c8cc2239327c5edb3a432268e5831\",\n \"chainId\": 42161\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.biconomy.io/v1/instructions/hyperliquid/deposit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ownerAddress\": \"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a\",\n \"mode\": \"smart-account\",\n \"sourceToken\": \"<unknown>\",\n \"sourceChainId\": \"<unknown>\",\n \"amount\": \"<unknown>\",\n \"orchestratorAddressOverride\": \"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a\",\n \"feeToken\": {\n \"address\": \"0xaf88d065e77c8cc2239327c5edb3a432268e5831\",\n \"chainId\": 42161\n }\n}"
response = http.request(request)
puts response.read_body{
"ownerAddress": "0x1234567890abcdef1234567890abcdef12345678",
"fee": {
"amount": "10000000000000000",
"token": "0x0000000000000000000000000000000000000000",
"chainId": 8453
},
"quoteType": "permit",
"quote": {
"hash": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdef",
"node": "0x9876543210abcdef9876543210abcdef98765432",
"commitment": "0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef",
"paymentInfo": {
"sender": "0x742d35C9a91B1D5b5D24Dc30e8F0dF8E84b5d1c4",
"initCode": "0x1234abcd",
"nonce": "0",
"token": "0x00000069E0Fb590E092Dd0E36FF93ac28ff11a3a",
"chainId": 1,
"shortEncoding": false,
"tokenValue": "1000 (for 1000 USDC), 250000 (for 1 WBTC very soon)",
"tokenWeiAmount": "1000000000000000000000 (1000 ether), 250000 (0.25 USDC)",
"verificationGasLimit": "21000",
"eoa": "0x00000069E0Fb590E092Dd0E36FF93ac28ff11a3a",
"eip7702Auth": {
"address": "0x00000069E0Fb590E092Dd0E36FF93ac28ff11a3a",
"chainId": 8453,
"nonce": 38,
"r": "0x192a2503401595804c35cdc5b748fe35cceb77ef534bf5d670f7797376487ded",
"s": "0x1fd3c8acd0b7c5f64a8d72c35c39988544fca961b838277ab11750041cccc3d1",
"yParity": 1,
"v": "28"
},
"callGasLimit": "50000",
"sponsored": true,
"sponsorshipUrl": "https://sponsorship.abc.org",
"tokenAmount": "1000 (1000 USDC), 1 (1 ether)",
"gasFee": "21000000000000000",
"orchestrationFee": "1000000000000000"
},
"userOps": [
{
"userOp": {
"sender": "0x00000069E0Fb590E092Dd0E36FF93ac28ff11a3a",
"nonce": "0",
"callData": "0x1234abcd",
"callGasLimit": "21000",
"verificationGasLimit": "100000",
"preVerificationGas": "21000",
"maxFeePerGas": "1000000000",
"maxPriorityFeePerGas": "100000000",
"initCode": "0x1234abcd",
"paymasterAndData": "0x",
"signature": "0xabcdef123456"
},
"userOpHash": "0x1234abcd5678ef90",
"meeUserOpHash": "0xabcdef1234567890",
"lowerBoundTimestamp": 1710000000,
"upperBoundTimestamp": 1710003600,
"maxGasLimit": "1000000",
"maxFeePerGas": "1000000000",
"chainId": 8453,
"eip7702Auth": {
"address": "0x00000069E0Fb590E092Dd0E36FF93ac28ff11a3a",
"chainId": 8453,
"nonce": 38,
"r": "0x192a2503401595804c35cdc5b748fe35cceb77ef534bf5d670f7797376487ded",
"s": "0x1fd3c8acd0b7c5f64a8d72c35c39988544fca961b838277ab11750041cccc3d1",
"yParity": 1,
"v": "28"
},
"isCleanUpUserOp": false,
"shortEncoding": true
}
],
"fundingTokens": [
{
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"chainId": 1,
"amount": "1000000000"
}
]
},
"payloadToSign": [
{
"signablePayload": {
"types": {},
"message": {
"owner": "0x742d35C9a91B1D5b5D24Dc30e8F0dF8E84b5d1c4",
"spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
"value": "1000000000000000000000",
"nonce": "0",
"deadline": "1647857449"
},
"primaryType": "Permit",
"domain": {
"name": "USD Coin",
"version": "2",
"chainId": 1,
"verifyingContract": "0xA0b86a33E6441c1a7C4FB1e50Fc5F5ED69DC3D2B",
"salt": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
},
"metadata": {
"nonce": "0",
"name": "USD Coin",
"version": "2",
"domainSeparator": "0x06c37168a7db5138defc7866392bb87a741f9b3d104deb5094588ce041cae335",
"owner": "0x742d35C9a91B1D5b5D24Dc30e8F0dF8E84b5d1c4",
"spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
"amount": "1000000000000000000000"
}
}
]
}{
"code": "<string>",
"message": "<string>",
"errors": [
{
"code": "<string>",
"path": [
"<string>"
],
"message": "<string>"
}
]
}{
"code": "<string>",
"message": "<string>",
"errors": [
{
"code": "<string>",
"path": [
"<string>"
],
"message": "<string>"
}
]
}Build Hyperliquid deposit instructions
Build instructions for depositing USDC from Arbitrum to Hyperliquid
curl --request POST \
--url https://api.biconomy.io/v1/instructions/hyperliquid/deposit \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"ownerAddress": "0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a",
"mode": "smart-account",
"sourceToken": "<unknown>",
"sourceChainId": "<unknown>",
"amount": "<unknown>",
"orchestratorAddressOverride": "0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a",
"feeToken": {
"address": "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
"chainId": 42161
}
}
'import requests
url = "https://api.biconomy.io/v1/instructions/hyperliquid/deposit"
payload = {
"ownerAddress": "0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a",
"mode": "smart-account",
"sourceToken": "<unknown>",
"sourceChainId": "<unknown>",
"amount": "<unknown>",
"orchestratorAddressOverride": "0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a",
"feeToken": {
"address": "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
"chainId": 42161
}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ownerAddress: '0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a',
mode: 'smart-account',
sourceToken: '<unknown>',
sourceChainId: '<unknown>',
amount: '<unknown>',
orchestratorAddressOverride: '0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a',
feeToken: {address: '0xaf88d065e77c8cc2239327c5edb3a432268e5831', chainId: 42161}
})
};
fetch('https://api.biconomy.io/v1/instructions/hyperliquid/deposit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.biconomy.io/v1/instructions/hyperliquid/deposit",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ownerAddress' => '0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a',
'mode' => 'smart-account',
'sourceToken' => '<unknown>',
'sourceChainId' => '<unknown>',
'amount' => '<unknown>',
'orchestratorAddressOverride' => '0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a',
'feeToken' => [
'address' => '0xaf88d065e77c8cc2239327c5edb3a432268e5831',
'chainId' => 42161
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.biconomy.io/v1/instructions/hyperliquid/deposit"
payload := strings.NewReader("{\n \"ownerAddress\": \"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a\",\n \"mode\": \"smart-account\",\n \"sourceToken\": \"<unknown>\",\n \"sourceChainId\": \"<unknown>\",\n \"amount\": \"<unknown>\",\n \"orchestratorAddressOverride\": \"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a\",\n \"feeToken\": {\n \"address\": \"0xaf88d065e77c8cc2239327c5edb3a432268e5831\",\n \"chainId\": 42161\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.biconomy.io/v1/instructions/hyperliquid/deposit")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ownerAddress\": \"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a\",\n \"mode\": \"smart-account\",\n \"sourceToken\": \"<unknown>\",\n \"sourceChainId\": \"<unknown>\",\n \"amount\": \"<unknown>\",\n \"orchestratorAddressOverride\": \"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a\",\n \"feeToken\": {\n \"address\": \"0xaf88d065e77c8cc2239327c5edb3a432268e5831\",\n \"chainId\": 42161\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.biconomy.io/v1/instructions/hyperliquid/deposit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ownerAddress\": \"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a\",\n \"mode\": \"smart-account\",\n \"sourceToken\": \"<unknown>\",\n \"sourceChainId\": \"<unknown>\",\n \"amount\": \"<unknown>\",\n \"orchestratorAddressOverride\": \"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a\",\n \"feeToken\": {\n \"address\": \"0xaf88d065e77c8cc2239327c5edb3a432268e5831\",\n \"chainId\": 42161\n }\n}"
response = http.request(request)
puts response.read_body{
"ownerAddress": "0x1234567890abcdef1234567890abcdef12345678",
"fee": {
"amount": "10000000000000000",
"token": "0x0000000000000000000000000000000000000000",
"chainId": 8453
},
"quoteType": "permit",
"quote": {
"hash": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdef",
"node": "0x9876543210abcdef9876543210abcdef98765432",
"commitment": "0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef",
"paymentInfo": {
"sender": "0x742d35C9a91B1D5b5D24Dc30e8F0dF8E84b5d1c4",
"initCode": "0x1234abcd",
"nonce": "0",
"token": "0x00000069E0Fb590E092Dd0E36FF93ac28ff11a3a",
"chainId": 1,
"shortEncoding": false,
"tokenValue": "1000 (for 1000 USDC), 250000 (for 1 WBTC very soon)",
"tokenWeiAmount": "1000000000000000000000 (1000 ether), 250000 (0.25 USDC)",
"verificationGasLimit": "21000",
"eoa": "0x00000069E0Fb590E092Dd0E36FF93ac28ff11a3a",
"eip7702Auth": {
"address": "0x00000069E0Fb590E092Dd0E36FF93ac28ff11a3a",
"chainId": 8453,
"nonce": 38,
"r": "0x192a2503401595804c35cdc5b748fe35cceb77ef534bf5d670f7797376487ded",
"s": "0x1fd3c8acd0b7c5f64a8d72c35c39988544fca961b838277ab11750041cccc3d1",
"yParity": 1,
"v": "28"
},
"callGasLimit": "50000",
"sponsored": true,
"sponsorshipUrl": "https://sponsorship.abc.org",
"tokenAmount": "1000 (1000 USDC), 1 (1 ether)",
"gasFee": "21000000000000000",
"orchestrationFee": "1000000000000000"
},
"userOps": [
{
"userOp": {
"sender": "0x00000069E0Fb590E092Dd0E36FF93ac28ff11a3a",
"nonce": "0",
"callData": "0x1234abcd",
"callGasLimit": "21000",
"verificationGasLimit": "100000",
"preVerificationGas": "21000",
"maxFeePerGas": "1000000000",
"maxPriorityFeePerGas": "100000000",
"initCode": "0x1234abcd",
"paymasterAndData": "0x",
"signature": "0xabcdef123456"
},
"userOpHash": "0x1234abcd5678ef90",
"meeUserOpHash": "0xabcdef1234567890",
"lowerBoundTimestamp": 1710000000,
"upperBoundTimestamp": 1710003600,
"maxGasLimit": "1000000",
"maxFeePerGas": "1000000000",
"chainId": 8453,
"eip7702Auth": {
"address": "0x00000069E0Fb590E092Dd0E36FF93ac28ff11a3a",
"chainId": 8453,
"nonce": 38,
"r": "0x192a2503401595804c35cdc5b748fe35cceb77ef534bf5d670f7797376487ded",
"s": "0x1fd3c8acd0b7c5f64a8d72c35c39988544fca961b838277ab11750041cccc3d1",
"yParity": 1,
"v": "28"
},
"isCleanUpUserOp": false,
"shortEncoding": true
}
],
"fundingTokens": [
{
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"chainId": 1,
"amount": "1000000000"
}
]
},
"payloadToSign": [
{
"signablePayload": {
"types": {},
"message": {
"owner": "0x742d35C9a91B1D5b5D24Dc30e8F0dF8E84b5d1c4",
"spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
"value": "1000000000000000000000",
"nonce": "0",
"deadline": "1647857449"
},
"primaryType": "Permit",
"domain": {
"name": "USD Coin",
"version": "2",
"chainId": 1,
"verifyingContract": "0xA0b86a33E6441c1a7C4FB1e50Fc5F5ED69DC3D2B",
"salt": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
},
"metadata": {
"nonce": "0",
"name": "USD Coin",
"version": "2",
"domainSeparator": "0x06c37168a7db5138defc7866392bb87a741f9b3d104deb5094588ce041cae335",
"owner": "0x742d35C9a91B1D5b5D24Dc30e8F0dF8E84b5d1c4",
"spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
"amount": "1000000000000000000000"
}
}
]
}{
"code": "<string>",
"message": "<string>",
"errors": [
{
"code": "<string>",
"path": [
"<string>"
],
"message": "<string>"
}
]
}{
"code": "<string>",
"message": "<string>",
"errors": [
{
"code": "<string>",
"path": [
"<string>"
],
"message": "<string>"
}
]
}Authorizations
API Key required to access Supertransaction API. Example: mee_2w3mXCuyt4xVXDRCZ5k5Lhgs
Body
Body
Object containing the Hyperliquid deposit request fields, including owner address, execution mode (smart-account only), source token (USDC on Arbitrum only), source chain (Arbitrum only), amount to deposit, and optional fee token.
EOA wallet address which is going to be used as a owner of orchestrator account
"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a"
Execution mode for Hyperliquid deposits. Only smart-account mode is supported.
smart-account "smart-account"
Account address which is going to be used as orchestrator account address. If not provided, ownerAddress will be used to derive the Nexus orchestratoraccount address.
"0x742d35cc6639cb8d4b5d1c5d7b8b5e2e7c0c7a8a"
Optional fee token for the transaction. If not provided, sponsorship will be used.
Show child attributes
Show child attributes
{
"address": "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
"chainId": 42161
}
Response
Response schema for a Hyperliquid deposit quote, including MEE quote information for bridging USDC from Arbitrum to Hyperliquid.
Response schema for a Hyperliquid deposit quote, including MEE quote information for bridging USDC from Arbitrum to Hyperliquid.
Owner wallet address which will be used as a owner of orchestrator account
"0x1234567890abcdef1234567890abcdef12345678"
Fee details: amount, token address, and chain ID.
Show child attributes
Show child attributes
Type of MEE signature: permit, onchain, simple, permit-sca, or mm-dtk.
permit, onchain, simple, permit-sca, mm-dtk "permit"
MEE network compatible quote information
Show child attributes
Show child attributes
Array of payloads to be signed, structure depends on the quoteType.
1Full EIP-712 permit signature data (payload and metadata)
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes