> ## Documentation Index
> Fetch the complete documentation index at: https://docs.portalhq.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get delegation status for a token

> Retrieves the current delegation status for a specific client and
token, including the balance and active delegations. See the
delegateAddress parameter for per-chain behavior.




## OpenAPI

````yaml /openapi/custodian-api.yaml get /custodians/me/clients/{clientId}/chains/{chain}/assets/{token}/delegations
openapi: 3.1.0
info:
  title: Portal Custodian API
  version: '3.0'
  description: >
    The Portal Custodian API provides endpoints for managing clients, building
    transactions,

    retrieving wallet data, managing delegations, alert webhooks, and gas
    sponsorship.

    All endpoints require authentication via a Portal API Key (also known as a
    Custodian API Key)

    passed as a Bearer token.


    ## Base URL

    `https://api.portalhq.io/api/v3`


    ## Authentication

    Include your Portal API Key as a Bearer token in the `Authorization` header
    of every request.


    ## Chain ID Format

    Chain parameters use either friendly names (e.g. `ethereum`, `solana`) or
    CAIP-2 format

    (e.g. `eip155:1`, `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`). When using
    CAIP-2 format

    in URLs, ensure the colon is URI-encoded (`%3A`).
servers:
  - url: https://api.portalhq.io/api/v3
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Clients
    description: Create and manage Portal clients
  - name: Transactions
    description: Build and evaluate blockchain transactions
  - name: Wallet Metadata
    description: Retrieve wallet balances and NFTs
  - name: Wallet Shares
    description: Manage backup shares and wallet ejection
  - name: Delegations
    description: Manage token delegations and delegated transfers
  - name: Session Keys
    description: Build and send EIP-7702 session key user operations
  - name: Alert Webhooks
    description: Manage alert webhooks, external addresses, and replay failed events
  - name: Gas Sponsorship
    description: View and manage gas sponsorship across chains
  - name: Due
    description: Manage Due webhook endpoints and deliveries
paths:
  /custodians/me/clients/{clientId}/chains/{chain}/assets/{token}/delegations:
    get:
      tags:
        - Delegations
      summary: Get delegation status for a token
      description: |
        Retrieves the current delegation status for a specific client and
        token, including the balance and active delegations. See the
        delegateAddress parameter for per-chain behavior.
      operationId: custodianGetDelegations
      parameters:
        - $ref: '#/components/parameters/clientId'
        - $ref: '#/components/parameters/chain'
        - $ref: '#/components/parameters/token'
        - name: delegateAddress
          in: query
          required: false
          description: |
            The delegate address to check delegation status for. Required on
            EVM (eip155) chains, where the response returns the allowance for
            that spender; omitting it there returns a 400. Optional on Solana
            chains: when omitted, the response returns the account's current
            delegate (SPL token accounts have at most one), and when supplied,
            the response is filtered to that address, with an empty delegations
            array if it is not the current delegate.
          schema:
            type: string
      responses:
        '200':
          description: Delegation status retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DelegationsResponse'
              examples:
                evm:
                  summary: EVM delegation status
                  value:
                    chainId: eip155:1
                    token: USDC
                    tokenAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
                    balance: '5000.0'
                    balanceRaw: '5000000000'
                    delegations:
                      - address: '0x1234567890abcdef1234567890abcdef12345678'
                        delegateAmount: '1000.0'
                        delegateAmountRaw: '1000000000'
                solana:
                  summary: Solana delegation status
                  value:
                    chainId: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
                    token: USDC
                    tokenAccount: 3fGmKg5s8jNzRs5pXfqhSMvZHJMHsoRxmKsQDgZwCx12
                    tokenAddress: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
                    balance: '2500.0'
                    balanceRaw: '2500000000'
                    delegations:
                      - address: 7UX2i7SucgLMQcfZ75s3VXmZZY4YRUyJN9X1RgfMoDUi
                        delegateAmount: '500.0'
                        delegateAmountRaw: '500000000'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing authentication token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    clientId:
      name: clientId
      in: path
      required: true
      description: The unique identifier of the client.
      schema:
        type: string
    chain:
      name: chain
      in: path
      required: true
      description: >
        The blockchain chain identifier. Use either a friendly name or CAIP-2
        format.

        When using CAIP-2 format in URLs, ensure the colon (`:`) is URI-encoded
        as `%3A`.


        **Supported chains:**

        - `ethereum` (`eip155:1`)

        - `sepolia` (`eip155:11155111`)

        - `base` (`eip155:8453`)

        - `base-sepolia` (`eip155:84532`)

        - `polygon` (`eip155:137`)

        - `polygon-amoy` (`eip155:80002`)

        - `celo` (`eip155:42220`)

        - `celo-alfajores` (`eip155:44787`)

        - `monad` (`eip155:143`)

        - `monad-testnet` (`eip155:10143`)

        - `solana` (`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`)

        - `solana-devnet` (`solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1`)

        - `tron` (`tron:mainnet`)

        - `tron-nile` (`tron:nile`)

        - `tron-shasta` (`tron:shasta`)

        - `stellar` (`stellar:pubnet`)

        - `stellar-testnet` (`stellar:testnet`)

        - `bitcoin-segwit` (`bip122:000000000019d6689c085ae165831e93-p2wpkh`)

        - `bitcoin-segwit-testnet`
        (`bip122:000000000933ea01ad0ee984209779ba-p2wpkh`)
      schema:
        type: string
      examples:
        ethereum:
          value: ethereum
          summary: Ethereum mainnet (friendly name)
        eip155:
          value: eip155:1
          summary: Ethereum mainnet (CAIP-2)
        solana:
          value: solana
          summary: Solana mainnet (friendly name)
    token:
      name: token
      in: path
      required: true
      description: >
        The token symbol (e.g. `USDC`, `ETH`) or contract/mint address on the
        specified chain.
      schema:
        type: string
      examples:
        symbol:
          value: USDC
          summary: Token symbol
        contractAddress:
          value: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
          summary: ERC-20 contract address
  schemas:
    DelegationsResponse:
      type: object
      properties:
        chainId:
          type: string
        token:
          type: string
        tokenAccount:
          type: string
          description: Solana token account (Solana only).
        tokenAddress:
          type: string
        balance:
          type: string
        balanceRaw:
          type: string
        delegations:
          type: array
          items:
            type: object
            properties:
              address:
                type: string
              delegateAmount:
                type: string
              delegateAmountRaw:
                type: string
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Error message describing what went wrong
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |
        Portal API Key (Custodian API Key). Pass as a Bearer token in the
        Authorization header.

````