V3 endpoints
These endpoints require a Client API Key as a bearer token.
Get Client Details
GET
https://api.portalhq.io/api/v3/clients/me
This endpoint retrieves the details of the current client, including information about associated wallets.
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Bearer |
Content-Type* | String | application/json |
Get Assets by Chain
GET
https://api.portalhq.io/api/v3/clients/me/chains/:chain/assets
This endpoint retrieves the asset balances (native and token balances) for a specified blockchain. It provides detailed information on the native balance and token balances held by a given address on the specified chain.
Supported Chains
You can use either the full chain identifier or the shortcut for popular chains.
Ethereum Mainnet (
eip155:1
orethereum
)Ethereum Sepolia (
eip155:11155111
orsepolia
)Solana Mainnet (
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
orsolana
)Solana Devnet (
solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1
orsolana-devnet
)Base Mainnet (
eip155:8453
orbase
)Base Sepolia (
eip155:84531
orbase-sepolia
)Polygon Mainnet (
eip155:137
orpolygon
)Polygon Mumbai (
eip155:80001
orpolygon-mumbai
)Optimism Mainnet (
eip155:10
)Cronos (
eip155:25
)Binance Smart Chain (
eip155:56
)Binance Smart Chain Testnet (
eip155:97
)Gnosis (
eip155:100
)Fantom (
eip155:250
)Moonbeam (
eip155:1284
)Moonriver (
eip155:1285
)Moonbase (
eip155:1287
)Gnosis Testnet (
eip155:10200
)Holesky (
eip155:17000
)Arbitrum Mainnet (
eip155:42161
)Avalanche Mainnet (
eip155:43114
)Linea Mainnet (
eip155:59140
)Linea Sepolia (
eip155:59141
)Chiliz Testnet (
eip155:88882
)Chiliz (
eip155:88888
)Optimism Sepolia (
eip155:11155420
)Palm (
eip155:11297108109
)
When using CAIP-2 chain formats in the URL (e.g. eip155:11155111
), ensure the URL is URI encoded to accommodate the ":" character.
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Bearer |
Content-Type* | String | application/json |
Request Query Params
Name | Type | Description |
---|---|---|
chainId* | String | Must be in CAIP-2 format or chain identifier shortcut (e.g. |
Get NFTs by Chain
GET
https://api.portalhq.io/api/v3/clients/me/nfts
This endpoint retrieves the NFTs for the client for a particular chain.
Supported Chains
Ethereum Mainnet (
eip155:1
)Ethereum Goerli (
eip155:5
) // @deprecatedEthereum Sepolia (
eip155:11155111
)Base Mainnet (
eip155:8453
)Base Sepolia (
eip155:84532
)Polygon Mainnet (
eip155:137
)Polygon Mumbai (
eip155:80001
)Polygon Amoy (
eip155:80002
)
When using CAIP-2 chain formats in the URL (e.g. eip155:11155111
), ensure the URL is URI encoded to accommodate the ":" character.
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Bearer |
Content-Type* | String | application/json |
Request Query Params
Name | Type | Description |
---|---|---|
chainId* | String | Must be in CAIP-2 format (e.g. |
Get Transactions by Chain
GET
https://api.portalhq.io/api/v3/clients/me/transactions
Retrieves the client's transaction history for a specific chain.
Supported Chains
Ethereum Mainnet (
eip155:1
)Ethereum Goerli (
eip155:5
) // @deprecatedEthereum Sepolia (
eip155:11155111
)Base Mainnet (
eip155:8453
)Base Sepolia (
eip155:84532
)Polygon Mainnet (
eip155:137
)Polygon Mumbai (
eip155:80001
)Polygon Amoy (
eip155:80002
)
When using CAIP-2 chain formats in the URL (e.g. eip155:11155111
), ensure the URL is URI encoded to accommodate the ":" character.
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Bearer |
Content-Type* | String | application/json |
Request Query Params
Name | Type | Description |
---|---|---|
chainId* | String | Must be in CAIP-2 format (e.g. |
Evaluate a Transaction
POST
https://api.portalhq.io/api/v3/clients/me/evaluate-transaction
This endpoint evaluates a transaction by either simulating its execution or validating its authenticity (or both). The evaluation provides detailed insights into the transaction, including potential changes in asset balances, exposures, and a classification of the transaction's risk.
Supported Chains
Ethereum Mainnet (
eip155:1
)Ethereum Sepolia (
eip155:11155111
)Optimism Mainnet (
eip155:10
)Binance Smart Chain (
eip155:56
)Polygon Mainnet (
eip155:137
)Blast Mainnet (
eip155:238
)zkSync Mainnet (
eip155:324
)zkSync Sepolia (
eip155:300
)Base Mainnet (
eip155:8453
)Base Sepolia (
eip155:84532
)Immutable zkEVM (
eip155:13371
)Arbitrum Mainnet (
eip155:42161
)Avalanche Fuji (
eip155:43113
)Avalanche Mainnet (
eip155:43114
)Linea Mainnet (
eip155:59144
)Scroll Mainnet (
eip155:534352
)Zora Mainnet (
eip155:7777777
)Degen Mainnet (
eip155:666666666
)
When using CAIP-2 chain formats in the URL (e.g. eip155:11155111
), ensure the URL is URI encoded to accommodate the ":" character.
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Bearer |
Content-Type* | String | application/json |
Request Query Params
Name | Type | Description |
---|---|---|
chainId* | String | Must be in CAIP-2 format (e.g. |
Request Body
Name | Type | Description |
---|---|---|
to* | String | The recipient's address. |
gas | String (optional) | The gas limit provided for the transaction. |
gasPrice | String (optional) | The price per unit of gas the sender is willing to pay. |
maxFeePerGas | String (optional) | The maximum total fee per gas unit the sender is willing to pay. |
maxPriorityFeePerGas | String (optional) | The maximum priority fee per gas unit the sender is willing to pay. |
value | String (optional) | The amount of native token to send with the transaction. |
data | String (optional) | The input data to send with the transaction (used for contract calls). |
operationType |
Default: | The operation to perform with the transaction. |
Update Signing Share Pairs' Statuses
PATCH
https://api.portalhq.io/api/v3/clients/me/signing-share-pairs
Updates a client's signing share pairs' statuses. Intended to be used after successfully storing the client signing share on the client's device.
Do not use this endpoint if you are using the Portal SDKs. The Portal SDKs already use this endpoint internally for your convenience.
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Bearer |
Content-Type* | String | application/json |
Request Body
Name | Type | Description |
---|---|---|
signingSharePairIds* | String[] | An array of signing share pair IDs. |
status* |
| The updated status of the signing share pairs. |
Update Backup Share Pairs' Statuses
PATCH
https://api.portalhq.io/api/v3/clients/me/backup-share-pairs
Updates a client's backup share pairs' statuses. Intended to be used after successfully storing the encrypted client backup share.
Do not use this endpoint if you are using the Portal SDKs. The Portal SDKs already use this endpoint internally for your convenience.
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Bearer |
Content-Type* | String | application/json |
Request Body
Name | Type | Description |
---|---|---|
backupSharePairIds* | String[] | An array of backup share pair IDs. |
status* |
| The updated status of the backup share pairs. |
Simulate a Transaction (@deprecated)
POST
https://api.portalhq.io/api/v3/clients/me/simulate-transaction
Simulates a transaction for a specific chain.
Supported Chains
Ethereum Mainnet (
eip155:1
)Ethereum Goerli (
eip155:5
) // @deprecatedEthereum Sepolia (
eip155:11155111
)Base Mainnet (
eip155:8453
)Base Sepolia (
eip155:84532
)Polygon Mainnet (
eip155:137
)Polygon Mumbai (
eip155:80001
)Polygon Amoy (
eip155:80002
)
When using CAIP-2 chain formats in the URL (e.g. eip155:11155111
), ensure the URL is URI encoded to accommodate the ":" character.
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Bearer |
Content-Type* | String | application/json |
Request Query Params
Name | Type | Description |
---|---|---|
chainId* | String | Must be in CAIP-2 format (e.g. |
Request Body
Name | Type | Description |
---|---|---|
from* | String | The sender's address. |
to* | String | The recipient's address. |
gas | String (optional) | The gas limit provided for the transaction. |
gasPrice | String (optional) | The price per unit of gas the sender is willing to pay. |
maxFeePerGas | String (optional) | The maximum total fee per gas unit the sender is willing to pay. |
maxPriorityFeePerGas | String (optional) | The maximum priority fee per gas unit the sender is willing to pay. |
value | String (optional) | The amount of native token to send with the transaction. |
data | String (optional) | The input data to send with the transaction (used for contract calls). |
nonce | String (optional) | The transaction count of the sender's address, used to ensure uniqueness. |
Get ERC20 Balances (@deprecated)
GET
https://api.portalhq.io/api/v3/clients/me/balances
Retrieves the client's ERC20 balances for a specific chain.
Supported Chains
Ethereum Mainnet (
eip155:1
)Ethereum Goerli (
eip155:5
) // @deprecatedEthereum Sepolia (
eip155:11155111
)Base Mainnet (
eip155:8453
)Base Sepolia (
eip155:84532
)Polygon Mainnet (
eip155:137
)Polygon Mumbai (
eip155:80001
)Polygon Amoy (
eip155:80002
)
When using CAIP-2 chain formats in the URL (e.g. eip155:11155111
), ensure the URL is URI encoded to accommodate the ":" character.
Headers
Name | Type | Description |
---|---|---|
Authorization* | String | Bearer |
Content-Type* | String | application/json |
Request Query Params
Name | Type | Description |
---|---|---|
chainId* | String | Must be in CAIP-2 format (e.g. |
Last updated