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

# Create Allocation Action

> Create a new action for an existing allocation.

#### Authentication

✅ Organization User (`CustomerEmployee`)\
❌ Delegated User (`EndUser`)\
✅ Service Account

#### Required Permissions

`Allocations:Update`: Always required\
`Wallets:Transactions:Create`: Always required. Allocation transactions are broadcast from your wallet.\
`FeeSponsors:Use`: Required if `feeSponsorId` is specified and the sponsoree wallet belongs to an `EndUser` user kind.


## OpenAPI

````yaml /openapi.yaml post /allocations/{allocationId}/actions
openapi: 3.1.0
info:
  version: 2.0.211
  title: Dfns
servers:
  - url: https://api.dfns.io
    description: Default - Europe
  - url: https://api.uae.dfns.io
    description: UAE
  - url: https://api.dfns.ninja
    description: <Deprecated> Staging
security: []
paths:
  /allocations/{allocationId}/actions:
    post:
      tags:
        - Allocations
      summary: Create Allocation Action
      description: Create a new action for an existing allocation.
      operationId: createAllocationAction
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 64
            description: Unique identifier for the allocation investment.
          required: true
          description: Unique identifier for the allocation investment.
          name: allocationId
          in: path
      requestBody:
        required: true
        content:
          application/json:
            schema:
              anyOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Deposit
                        - Withdraw
                      description: >-
                        The type of action being performed on the allocation
                        investment: Deposit to add funds or Withdraw to remove
                        funds.
                    externalId:
                      type: string
                      description: >-
                        An optional external identifier provided by the client
                        to ensure idempotency and prevent duplicate operations.
                    sourceAsset:
                      type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Erc20
                        contract:
                          type: string
                          pattern: ^0x[0-9a-fA-F]{40}$
                        amount:
                          type: string
                          pattern: ^\d+$
                      required:
                        - kind
                        - contract
                        - amount
                      description: >-
                        Source asset and amount to spend (stablecoin for
                        Deposit, 0fns for Withdraw).
                      title: EVM Fungible Token (ERC-20)
                    targetAsset:
                      type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Erc20
                        contract:
                          type: string
                          pattern: ^0x[0-9a-fA-F]{40}$
                        amount:
                          type: string
                          pattern: ^\d+$
                      required:
                        - kind
                        - contract
                        - amount
                      description: >-
                        Target asset and the minimum amount you will accept
                        (0fns for Deposit, stablecoin for Withdraw).
                      title: EVM Fungible Token (ERC-20)
                    feeSponsorId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: >-
                        Id of the fee sponsor that will pay the network fees for
                        this allocation. When set, allocation transactions are
                        broadcast as sponsored user operations.
                      example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
                  required:
                    - kind
                    - sourceAsset
                    - targetAsset
                  description: >-
                    Request body for a 0fns allocation action (deposit or
                    withdrawal) from a quote.
                  title: 0fns Allocation Action Request
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Deposit
                        - Withdraw
                      description: >-
                        The type of action being performed on the allocation
                        investment: Deposit to add funds or Withdraw to remove
                        funds.
                    externalId:
                      type: string
                      description: >-
                        An optional external identifier provided by the client
                        to ensure idempotency and prevent duplicate operations.
                    amount:
                      type: string
                      pattern: ^\d+$
                      description: >-
                        Underlying token amount in smallest unit, e.g. "1000000"
                        = 1 USDC. Applies to both deposits and withdrawals.
                    feeSponsorId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: >-
                        Id of the fee sponsor that will pay the network fees for
                        this allocation. When set, allocation transactions are
                        broadcast as sponsored user operations.
                      example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
                  required:
                    - kind
                    - amount
                  description: >-
                    Request body for creating an allocation action (deposit or
                    withdrawal) for a Yield.xyz vault allocation. The amount is
                    expressed in the underlying token of the vault (e.g. USDC
                    for Gauntlet USDC Prime).
                  title: Yield.xyz Vault Allocation Action Request
              description: Request body for creating an allocation action.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Allocation'
                  - type: object
                    properties:
                      actions:
                        type: array
                        items:
                          $ref: '#/components/schemas/AllocationAction'
                    required:
                      - actions
                description: >-
                  A allocation investment representing funds deposited to earn
                  interest from a DeFi protocol.
      security:
        - authenticationToken: []
          userActionSignature: []
components:
  schemas:
    Allocation:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^allctn-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Unique identifier for the allocation investment.
          example: allctn-7mnn0-rltpq-9bvps60gjm09td0j
        walletId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Wallet id.
          example: wa-5pfuu-9euek-h0odgb6snva8ph3k
        protocol:
          type: string
          enum:
            - 0fns
            - SkySusds
            - GauntletUsdcPrime
            - SteakhouseUsdt
            - GauntletUsdcPrimeBase
            - SteakhouseUsdcBase
            - SentoraPyusdMain
          description: >-
            The DeFi protocol used for allocation generation. See [Create
            Allocation](https://docs.dfns.co/api-reference/allocations/create-allocation)
            for each protocol's provider, deposit asset, and network.
        provider:
          type: string
          enum:
            - M0
            - Yield.xyz
          description: The provider handling this allocation.
        amount:
          allOf:
            - oneOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Native
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - amount
                  title: Native Asset
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Erc20
                    contract:
                      type: string
                      pattern: ^0x[0-9a-fA-F]{40}$
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - contract
                    - amount
                  title: EVM Fungible Token (ERC-20)
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Spl
                    mint:
                      type: string
                      pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - mint
                    - amount
                  title: Solana Fungible Token (SPL)
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Sep41
                    issuer:
                      type: string
                      pattern: ^(G[A-Z0-9]{55}|M[A-Z0-9]{68})$
                    assetCode:
                      type: string
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - issuer
                    - assetCode
                    - amount
                  title: Stellar Fungible Token (SEP-41)
            - type: object
              properties:
                metadata:
                  type: object
                  properties:
                    network:
                      $ref: '#/components/schemas/Network'
                    name:
                      type: string
                    symbol:
                      type: string
                    decimals:
                      type: number
                    tid:
                      type: string
                  required:
                    - network
                    - decimals
              required:
                - metadata
          description: The total amount currently invested in this allocation.
        rewards:
          allOf:
            - oneOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Native
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - amount
                  title: Native Asset
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Erc20
                    contract:
                      type: string
                      pattern: ^0x[0-9a-fA-F]{40}$
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - contract
                    - amount
                  title: EVM Fungible Token (ERC-20)
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Spl
                    mint:
                      type: string
                      pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - mint
                    - amount
                  title: Solana Fungible Token (SPL)
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Sep41
                    issuer:
                      type: string
                      pattern: ^(G[A-Z0-9]{55}|M[A-Z0-9]{68})$
                    assetCode:
                      type: string
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - issuer
                    - assetCode
                    - amount
                  title: Stellar Fungible Token (SEP-41)
            - type: object
              properties:
                metadata:
                  type: object
                  properties:
                    network:
                      $ref: '#/components/schemas/Network'
                    name:
                      type: string
                    symbol:
                      type: string
                    decimals:
                      type: number
                    tid:
                      type: string
                  required:
                    - network
                    - decimals
              required:
                - metadata
          description: The total rewards earned so far in this allocation.
        dateCreated:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date. When
            the allocation was created.
          example: '2023-04-14T20:41:28.715Z'
      required:
        - id
        - walletId
        - protocol
        - amount
        - rewards
        - dateCreated
      description: >-
        A allocation investment representing funds deposited to earn interest
        from a DeFi protocol.
      example:
        id: allctn-6a3ku-bn8d7-8u5rs1oukojms7k8
        walletId: wa-3l3cj-l8mq7-8q78f9nopq7f1qjv
        protocol: 0fns
        provider: M0
        amount:
          kind: Erc20
          contract: '0x0A7660979A67E4bC51E750C628C8479ff9F458aE'
          amount: '1000000000'
          metadata:
            network: EthereumSepolia
            name: 0fns
            symbol: 0fnsSepolia
            decimals: 6
            tid: erc20:0x0A7660979A67E4bC51E750C628C8479ff9F458aE
        rewards:
          kind: Erc20
          contract: '0x0A7660979A67E4bC51E750C628C8479ff9F458aE'
          amount: '5000000'
          metadata:
            network: EthereumSepolia
            name: 0fns
            symbol: 0fnsSepolia
            decimals: 6
            tid: erc20:0x0A7660979A67E4bC51E750C628C9479ff9F458aE
        dateCreated: '2025-10-09T10:57:55.758Z'
    AllocationAction:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^allctn-a-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Unique identifier for the allocation action.
          example: allctn-a-04p5n-gkkgd-5qk71nuev5n2ug1t
        allocationId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^allctn-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Unique identifier for the allocation investment.
          example: allctn-7mnn0-rltpq-9bvps60gjm09td0j
        externalId:
          type: string
          description: >-
            An optional external identifier provided by the client to ensure
            idempotency and prevent duplicate operations.
        kind:
          type: string
          enum:
            - Deposit
            - Withdraw
          description: >-
            The type of action being performed on the allocation investment:
            Deposit to add funds or Withdraw to remove funds.
        status:
          type: string
          enum:
            - PendingPolicyApproval
            - InProgress
            - Completed
            - Failed
            - Rejected
          description: >-
            Status of the allocation action. Once initiated, the status will be
            InProgress, after processing it will be Completed or Failed.
        requester:
          $ref: '#/components/schemas/Requester'
        requestBody:
          anyOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Deposit
                    - Withdraw
                  description: >-
                    The type of action being performed on the allocation
                    investment: Deposit to add funds or Withdraw to remove
                    funds.
                externalId:
                  type: string
                  description: >-
                    An optional external identifier provided by the client to
                    ensure idempotency and prevent duplicate operations.
                sourceAsset:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Erc20
                    contract:
                      type: string
                      pattern: ^0x[0-9a-fA-F]{40}$
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - contract
                    - amount
                  description: >-
                    Source asset and amount to spend (stablecoin for Deposit,
                    0fns for Withdraw).
                  title: EVM Fungible Token (ERC-20)
                targetAsset:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - Erc20
                    contract:
                      type: string
                      pattern: ^0x[0-9a-fA-F]{40}$
                    amount:
                      type: string
                      pattern: ^\d+$
                  required:
                    - kind
                    - contract
                    - amount
                  description: >-
                    Target asset and the minimum amount you will accept (0fns
                    for Deposit, stablecoin for Withdraw).
                  title: EVM Fungible Token (ERC-20)
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will pay the network fees for
                    this allocation. When set, allocation transactions are
                    broadcast as sponsored user operations.
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - sourceAsset
                - targetAsset
              description: >-
                Request body for a 0fns allocation action (deposit or
                withdrawal) from a quote.
              title: 0fns Allocation Action Request
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - Deposit
                    - Withdraw
                  description: >-
                    The type of action being performed on the allocation
                    investment: Deposit to add funds or Withdraw to remove
                    funds.
                externalId:
                  type: string
                  description: >-
                    An optional external identifier provided by the client to
                    ensure idempotency and prevent duplicate operations.
                amount:
                  type: string
                  pattern: ^\d+$
                  description: >-
                    Underlying token amount in smallest unit, e.g. "1000000" = 1
                    USDC. Applies to both deposits and withdrawals.
                feeSponsorId:
                  type: string
                  minLength: 1
                  maxLength: 64
                  pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                  description: >-
                    Id of the fee sponsor that will pay the network fees for
                    this allocation. When set, allocation transactions are
                    broadcast as sponsored user operations.
                  example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
              required:
                - kind
                - amount
              description: >-
                Request body for creating an allocation action (deposit or
                withdrawal) for a Yield.xyz vault allocation. The amount is
                expressed in the underlying token of the vault (e.g. USDC for
                Gauntlet USDC Prime).
              title: Yield.xyz Vault Allocation Action Request
            - oneOf:
                - type: object
                  properties:
                    walletId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: Wallet id.
                      example: wa-5pfuu-9euek-h0odgb6snva8ph3k
                    protocol:
                      type: string
                      enum:
                        - 0fns
                      description: Ofns protocol
                    externalId:
                      type: string
                      description: >-
                        An optional external identifier provided by the client
                        to ensure idempotency and prevent duplicate operations.
                    provider:
                      type: string
                      enum:
                        - M0
                        - Yield.xyz
                      description: >-
                        The provider handling this allocation. `M0` offers the
                        0fns protocol; `Yield.xyz` offers vault strategies on
                        Ethereum and Base.
                    sourceAsset:
                      type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Erc20
                        contract:
                          type: string
                          pattern: ^0x[0-9a-fA-F]{40}$
                        amount:
                          type: string
                          pattern: ^\d+$
                      required:
                        - kind
                        - contract
                        - amount
                      description: >-
                        Source asset and amount to spend (the stablecoin for a
                        deposit).
                      title: EVM Fungible Token (ERC-20)
                    targetAsset:
                      type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - Erc20
                        contract:
                          type: string
                          pattern: ^0x[0-9a-fA-F]{40}$
                        amount:
                          type: string
                          pattern: ^\d+$
                      required:
                        - kind
                        - contract
                        - amount
                      description: >-
                        Target asset (0fns) and the minimum amount you will
                        accept.
                      title: EVM Fungible Token (ERC-20)
                    feeSponsorId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: >-
                        Id of the fee sponsor that will pay the network fees for
                        this allocation. When set, allocation transactions are
                        broadcast as sponsored user operations.
                      example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
                  required:
                    - walletId
                    - protocol
                    - sourceAsset
                    - targetAsset
                  description: >-
                    Request body for creating a 0fns allocation from a
                    previously obtained quote.
                  title: 0fns Allocation Request
                - type: object
                  properties:
                    walletId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: Wallet id.
                      example: wa-5pfuu-9euek-h0odgb6snva8ph3k
                    protocol:
                      type: string
                      enum:
                        - SkySusds
                    externalId:
                      type: string
                      description: >-
                        An optional external identifier provided by the client
                        to ensure idempotency and prevent duplicate operations.
                    provider:
                      type: string
                      enum:
                        - M0
                        - Yield.xyz
                      description: >-
                        The provider handling this allocation. `M0` offers the
                        0fns protocol; `Yield.xyz` offers vault strategies on
                        Ethereum and Base.
                    amount:
                      type: string
                      pattern: ^\d+$
                      description: >-
                        USDS amount in smallest unit, e.g. "1000000000000000000"
                        = 1 USDS
                    feeSponsorId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: >-
                        Id of the fee sponsor that will pay the network fees for
                        this allocation. When set, allocation transactions are
                        broadcast as sponsored user operations.
                      example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
                  required:
                    - walletId
                    - protocol
                    - amount
                  description: >-
                    Request body for creating an allocation of USDS into the Sky
                    Savings Rate (sUSDS) vault on Ethereum, provided by
                    Yield.xyz.
                  title: Sky sUSDS Allocation Request
                - type: object
                  properties:
                    walletId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: Wallet id.
                      example: wa-5pfuu-9euek-h0odgb6snva8ph3k
                    protocol:
                      type: string
                      enum:
                        - GauntletUsdcPrime
                    externalId:
                      type: string
                      description: >-
                        An optional external identifier provided by the client
                        to ensure idempotency and prevent duplicate operations.
                    provider:
                      type: string
                      enum:
                        - M0
                        - Yield.xyz
                      description: >-
                        The provider handling this allocation. `M0` offers the
                        0fns protocol; `Yield.xyz` offers vault strategies on
                        Ethereum and Base.
                    amount:
                      type: string
                      pattern: ^\d+$
                      description: USDC amount in smallest unit, e.g. "1000000" = 1 USDC
                    feeSponsorId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: >-
                        Id of the fee sponsor that will pay the network fees for
                        this allocation. When set, allocation transactions are
                        broadcast as sponsored user operations.
                      example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
                  required:
                    - walletId
                    - protocol
                    - amount
                  description: >-
                    Request body for creating an allocation of USDC into the
                    Gauntlet USDC Prime (gtUSDC) vault on Ethereum, provided by
                    Yield.xyz.
                  title: Gauntlet gtUSDC Allocation Request
                - type: object
                  properties:
                    walletId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: Wallet id.
                      example: wa-5pfuu-9euek-h0odgb6snva8ph3k
                    protocol:
                      type: string
                      enum:
                        - SteakhouseUsdt
                    externalId:
                      type: string
                      description: >-
                        An optional external identifier provided by the client
                        to ensure idempotency and prevent duplicate operations.
                    provider:
                      type: string
                      enum:
                        - M0
                        - Yield.xyz
                      description: >-
                        The provider handling this allocation. `M0` offers the
                        0fns protocol; `Yield.xyz` offers vault strategies on
                        Ethereum and Base.
                    amount:
                      type: string
                      pattern: ^\d+$
                      description: USDT amount in smallest unit, e.g. "1000000" = 1 USDT
                    feeSponsorId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: >-
                        Id of the fee sponsor that will pay the network fees for
                        this allocation. When set, allocation transactions are
                        broadcast as sponsored user operations.
                      example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
                  required:
                    - walletId
                    - protocol
                    - amount
                  description: >-
                    Request body for creating an allocation of USDT into the
                    Steakhouse USDT (steakUSDT) vault on Ethereum, provided by
                    Yield.xyz.
                  title: Steakhouse USDT Allocation Request
                - type: object
                  properties:
                    walletId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: Wallet id.
                      example: wa-5pfuu-9euek-h0odgb6snva8ph3k
                    protocol:
                      type: string
                      enum:
                        - GauntletUsdcPrimeBase
                    externalId:
                      type: string
                      description: >-
                        An optional external identifier provided by the client
                        to ensure idempotency and prevent duplicate operations.
                    provider:
                      type: string
                      enum:
                        - M0
                        - Yield.xyz
                      description: >-
                        The provider handling this allocation. `M0` offers the
                        0fns protocol; `Yield.xyz` offers vault strategies on
                        Ethereum and Base.
                    amount:
                      type: string
                      pattern: ^\d+$
                      description: USDC amount in smallest unit, e.g. "1000000" = 1 USDC
                    feeSponsorId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: >-
                        Id of the fee sponsor that will pay the network fees for
                        this allocation. When set, allocation transactions are
                        broadcast as sponsored user operations.
                      example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
                  required:
                    - walletId
                    - protocol
                    - amount
                  description: >-
                    Request body for creating an allocation of USDC into the
                    Gauntlet USDC Prime (gtUSDCp) vault on Base, provided by
                    Yield.xyz.
                  title: Gauntlet USDC Prime (Base) Allocation Request
                - type: object
                  properties:
                    walletId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: Wallet id.
                      example: wa-5pfuu-9euek-h0odgb6snva8ph3k
                    protocol:
                      type: string
                      enum:
                        - SteakhouseUsdcBase
                    externalId:
                      type: string
                      description: >-
                        An optional external identifier provided by the client
                        to ensure idempotency and prevent duplicate operations.
                    provider:
                      type: string
                      enum:
                        - M0
                        - Yield.xyz
                      description: >-
                        The provider handling this allocation. `M0` offers the
                        0fns protocol; `Yield.xyz` offers vault strategies on
                        Ethereum and Base.
                    amount:
                      type: string
                      pattern: ^\d+$
                      description: USDC amount in smallest unit, e.g. "1000000" = 1 USDC
                    feeSponsorId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: >-
                        Id of the fee sponsor that will pay the network fees for
                        this allocation. When set, allocation transactions are
                        broadcast as sponsored user operations.
                      example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
                  required:
                    - walletId
                    - protocol
                    - amount
                  description: >-
                    Request body for creating an allocation of USDC into the
                    Steakhouse USDC (steakUSDC) vault on Base, provided by
                    Yield.xyz.
                  title: Steakhouse USDC (Base) Allocation Request
                - type: object
                  properties:
                    walletId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^wa-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: Wallet id.
                      example: wa-5pfuu-9euek-h0odgb6snva8ph3k
                    protocol:
                      type: string
                      enum:
                        - SentoraPyusdMain
                    externalId:
                      type: string
                      description: >-
                        An optional external identifier provided by the client
                        to ensure idempotency and prevent duplicate operations.
                    provider:
                      type: string
                      enum:
                        - M0
                        - Yield.xyz
                      description: >-
                        The provider handling this allocation. `M0` offers the
                        0fns protocol; `Yield.xyz` offers vault strategies on
                        Ethereum and Base.
                    amount:
                      type: string
                      pattern: ^\d+$
                      description: PYUSD amount in smallest unit, e.g. "1000000" = 1 PYUSD
                    feeSponsorId:
                      type: string
                      minLength: 1
                      maxLength: 64
                      pattern: ^fs-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
                      description: >-
                        Id of the fee sponsor that will pay the network fees for
                        this allocation. When set, allocation transactions are
                        broadcast as sponsored user operations.
                      example: fs-5vqdl-gliqk-b4rfukqauov1sp7j
                  required:
                    - walletId
                    - protocol
                    - amount
                  description: >-
                    Request body for creating an allocation of PYUSD into the
                    Sentora PYUSD Main (senPYUSDMain) vault on Ethereum,
                    provided by Yield.xyz.
                  title: Sentora PYUSD Main Allocation Request
              description: Request body for creating an allocation investment.
          description: The full request used for initiating this allocation action.
        failureReason:
          type: string
          description: The failure reason, if any. Only present when status is Failed.
        dateCreated:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date. When
            the allocation action was created.
          example: '2023-04-14T20:41:28.715Z'
      required:
        - id
        - allocationId
        - kind
        - status
        - requester
        - requestBody
        - dateCreated
      description: >-
        A specific action performed on a allocation investment, such as
        depositing or withdrawing funds.
      example:
        id: allctn-a-6a3ku-bn8d7-8u5rs1oukojms7k8
        allocationId: allctn-6a3ku-bn8d7-8u5rs1oukojms7k8
        externalId: external-action-123
        kind: Deposit
        status: InProgress
        requester:
          userId: us-3v1ag-v6b36-afhm4zy59kjrn1fds
          tokenId: ut-341e5-12nj6-9a82ld2hjxqzkpji
        requestBody:
          kind: Deposit
          sourceAsset:
            kind: Erc20
            contract: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
            amount: '1000000'
          targetAsset:
            kind: Erc20
            contract: '0x64df20A1814a6DD0F3d6f0A14073c47214c53f58'
            amount: '990000'
        dateCreated: '2025-10-09T11:15:33.421Z'
    Network:
      type: string
      title: Network
      enum:
        - Algorand
        - AlgorandTestnet
        - Aptos
        - AptosTestnet
        - ArbitrumOne
        - ArbitrumSepolia
        - Arc
        - ArcTestnet
        - Areum
        - AvalancheC
        - AvalancheCFuji
        - Base
        - BaseSepolia
        - Berachain
        - BerachainBepolia
        - Bitcoin
        - BitcoinSignet
        - BitcoinTestnet4
        - BitcoinCash
        - Bob
        - BobSepolia
        - Bsc
        - BscTestnet
        - Canton
        - CantonTestnet
        - Cardano
        - CardanoPreprod
        - Concordium
        - ConcordiumTestnet
        - Celo
        - CeloSepolia
        - Codex
        - CodexSepolia
        - CosmosHub4
        - CosmosIcsTestnet
        - Dogecoin
        - DogecoinTestnet
        - Ethereum
        - EthereumClassic
        - EthereumClassicMordor
        - EthereumSepolia
        - EthereumHoodi
        - FlareC
        - FlareCCoston2
        - FlowEvm
        - FlowEvmTestnet
        - Hedera
        - HederaTestnet
        - Ink
        - InkSepolia
        - InternetComputer
        - Ion
        - IonTestnet
        - Iota
        - IotaTestnet
        - Kusama
        - KusamaAssetHub
        - Litecoin
        - LitecoinTestnet
        - Monad
        - MonadTestnet
        - Movement
        - MovementTestnet
        - Near
        - NearTestnet
        - Optimism
        - OptimismSepolia
        - Origyn
        - Plasma
        - PlasmaTestnet
        - Plume
        - PlumeSepolia
        - Paseo
        - PaseoAssetHub
        - Polkadot
        - PolkadotAssetHub
        - Polygon
        - PolygonAmoy
        - Polymesh
        - PolymeshTestnet
        - Rayls
        - RaylsTestnet
        - Robinhood
        - RobinhoodSepolia
        - SeiAtlantic2
        - SeiPacific1
        - Solana
        - SolanaDevnet
        - Sonic
        - SonicTestnet
        - Starknet
        - StarknetSepolia
        - Stellar
        - StellarTestnet
        - Sui
        - SuiTestnet
        - Tezos
        - TezosShadownet
        - Tempo
        - TempoModerato
        - Tsc
        - TscTestnet1
        - Ton
        - TonTestnet
        - Tron
        - TronNile
        - Westend
        - WestendAssetHub
        - Xdc
        - XdcApothem
        - XLayer
        - XLayerSepolia
        - XrpLedger
        - XrpLedgerTestnet
    Requester:
      type: object
      properties:
        userId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^us-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: User id.
          example: us-6b58p-r53sr-rlrd3l5cj3uc4ome
        tokenId:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^to-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Token id.
          example: to-202a0-cdo33-o65mbt6q758lvvnt
      required:
        - userId
      description: The user who initiated the request.
  securitySchemes:
    authenticationToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        **Bearer Token:** Used to authenticate API requests.

        More details how to generate the token: [Authentication
        flows](https://docs.dfns.co/api-reference/auth/login-flows)
    userActionSignature:
      type: apiKey
      in: header
      name: X-DFNS-USERACTION
      description: >-
        **User Action Signature:** Used to sign the change-inducing API
        requests.

        More details how to generate the token: [User Action Signing
        flows](https://docs.dfns.co/api-reference/auth/signing-flows)

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.