Fordefi Swaps API

These endpoints allow you to manage swaps.

Operations 4

GET /api/v1/swaps/providers/{chain_type} Get Providers #
POST /api/v1/swaps/quotes Get Quotes #
POST /api/v1/swaps Create Transaction #
POST /api/v1/swaps/predict Predict Transaction #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fordefi-swaps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fordefi-swaps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fordefi Address Book Swaps API
  version: 0.2.0
  description: These endpoints allow you to list the contacts in your address book.<br><br>To add/remove contacts, visit the Fordefi web console. See the <a href='https://docs.fordefi.com/user-guide/address-book'>user guide</a> for more info.
servers:
- url: https://api.fordefi.com/
  description: Production
security:
- bearerAuth: []
tags:
- name: Swaps
  description: These endpoints allow you to manage swaps.
paths:
  /api/v1/swaps/providers/{chain_type}:
    get:
      tags:
      - Swaps
      summary: Get Providers
      description: Get providers for a chain type.
      operationId: get_providers_api_v1_swaps_providers__chain_type__get
      parameters:
      - name: chain_type
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/ChainType'
          description: Chain type to get providers for.
        description: Chain type to get providers for.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProvidersResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreconditionFailedError'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
  /api/v1/swaps/quotes:
    post:
      tags:
      - Swaps
      summary: Get Quotes
      description: Get available quotes for a swap between two assets.
      operationId: get_quotes_api_v1_swaps_quotes_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetQuotesRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetQuotesResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreconditionFailedError'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
  /api/v1/swaps:
    post:
      tags:
      - Swaps
      summary: Create Transaction
      description: Create a new spot swap.
      operationId: create_transaction_api_v1_swaps_post
      parameters:
      - name: x-signature
        in: header
        required: false
        schema:
          description: Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends. `x_signature` is valid for 120 seconds.
          title: X-Signature
          type: string
          example: SGVsbG8=
        description: Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends. `x_signature` is valid for 120 seconds.
      - name: x-timestamp
        in: header
        required: false
        schema:
          description: Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks.
          title: X-Timestamp
          type: integer
        description: Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSpotSwapRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpotSwap'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefinedPreconditionError_CreateSwapErrorType_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
  /api/v1/swaps/predict:
    post:
      tags:
      - Swaps
      summary: Predict Transaction
      description: 'Simulate the spot swap and changes in token

        balances, in addition to the fee estimation.'
      operationId: predict_transaction_api_v1_swaps_predict_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PredictSpotSwapRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PredictedSpotSwap'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefinedPreconditionError_PredictSwapErrorType_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
components:
  schemas:
    CantonChainUniqueId:
      type: string
      enum:
      - canton_mainnet
      title: CantonChainUniqueId
    UtxoAddress:
      properties:
        type:
          type: string
          const: utxo
          title: Type
        address:
          type: string
          maxLength: 74
          minLength: 14
          title: Address
          description: The UTXO string address.
          example: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq
        address_type:
          $ref: '#/components/schemas/UtxoAddressType'
          description: The type of the address.
        chain:
          $ref: '#/components/schemas/UtxoChain'
          description: The UTXO chain unique ID.
      type: object
      required:
      - type
      - address
      - address_type
      - chain
      title: UtxoAddress
    TonRawTransactionDetails:
      properties:
        type:
          type: string
          const: raw_transaction
          title: Type
          description: A transaction with a contract call.
        recipients:
          items:
            $ref: '#/components/schemas/EnrichedTonAddress'
          type: array
          title: Recipients
          description: The called contract.
      type: object
      required:
      - type
      - recipients
      title: TonRawTransactionDetails
    HyperliquidUnknownAction:
      properties:
        action_type:
          type: string
          const: unknown_action
          title: Action Type
          description: The Hyperliquid action type.
      type: object
      required:
      - action_type
      title: HyperliquidUnknownAction
    UtxoAddressType:
      type: string
      enum:
      - legacy
      - p2sh
      - segwit
      - taproot
      - merkleroot
      title: UtxoAddressType
    SolanaTransaction:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the object in the Fordefi platform.
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The date and time when the object was created.
        modified_at:
          type: string
          format: date-time
          title: Modified At
          description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification.
        managed_transaction_data:
          description: 'Managed transaction data. Presented if the transaction was initiated from the Fordefi system itself, in contrast to unmanaged transactions (which are, for example, transfers of funds into a vault visible to Fordefi). '
          $ref: '#/components/schemas/ManagedTransactionData'
        signatures:
          items:
            $ref: '#/components/schemas/Signature'
          type: array
          title: Signatures
          description: The transaction signatures.
        note:
          title: Note
          description: An optional transaction note.
          type: string
        spam_state:
          $ref: '#/components/schemas/TransactionSpamState'
          description: '`automatically_set` if the transaction was automatically set as spam by Fordefi, `manually_set` if the transaction was manually set as spam by a user, and `unset` if the transaction was not set as spam.'
          default: unset
        direction:
          $ref: '#/components/schemas/TransactionDirection'
          description: The direction of the transaction.
        signed_externally:
          type: boolean
          title: Signed Externally
          description: Whether the transaction was signed by an external user (for example in case of imported vault).
          default: false
        interacted_vaults:
          items:
            $ref: '#/components/schemas/VaultRef'
          type: array
          title: Interacted Vaults
          description: The vaults that interacted with the transaction.
        related_transactions:
          title: Related Transactions
          description: The related transactions.
          items:
            $ref: '#/components/schemas/RelatedTransaction'
          type: array
        organization_id:
          type: string
          format: uuid
          title: Organization Id
          description: The organization that the transaction belongs to.
        block:
          description: The block of the transaction.
          $ref: '#/components/schemas/Block'
        state:
          $ref: '#/components/schemas/PushableTransactionState'
          description: The state of the transaction.
        state_changes:
          items:
            $ref: '#/components/schemas/PushableTransactionStateChange'
          type: array
          title: State Changes
          description: The state changes of the transaction.
        aml_check:
          description: The AML check.
          $ref: '#/components/schemas/AmlCheck'
        mined_result_status:
          description: The mined result status of the transaction.
          $ref: '#/components/schemas/MinedResultStatus'
        simulation_status_result:
          description: Whether simulation succeeded, reverted or failed.
          $ref: '#/components/schemas/SimulationStatusResult'
        type:
          type: string
          const: solana_transaction
          title: Type
          description: The type of the transaction.
        solana_transaction_type_details:
          oneOf:
          - $ref: '#/components/schemas/SolanaNativeTransferDetails'
          - $ref: '#/components/schemas/SolanaTokenTransferDetails'
          - $ref: '#/components/schemas/SolanaRawTransactionDetails'
          description: Details of the Solana transaction based on its type.
          discriminator:
            propertyName: type
            mapping:
              native_transfer: '#/components/schemas/SolanaNativeTransferDetails'
              raw_transaction: '#/components/schemas/SolanaRawTransactionDetails'
              token_transfer: '#/components/schemas/SolanaTokenTransferDetails'
        chain:
          $ref: '#/components/schemas/EnrichedSolanaChain'
          description: The details of the chain this transaction is on.
        version:
          $ref: '#/components/schemas/SolanaMessageVersion'
          description: The version of the transaction message.
        instructions:
          items:
            $ref: '#/components/schemas/SolanaCompiledInstruction'
          type: array
          title: Instructions
          description: The instructions of the transaction.
        accounts:
          items:
            $ref: '#/components/schemas/SolanaTransactionAccount'
          type: array
          title: Accounts
          description: Accounts used in the transaction.
        address_table_lookups:
          items:
            $ref: '#/components/schemas/SolanaEnrichedMessageAddressTableLookup'
          type: array
          title: Address Table Lookups
          description: Lookup tables of accounts used in the transaction.
        sender:
          $ref: '#/components/schemas/EnrichedSolanaAddress'
          description: The sender of the transaction.
        raw_transaction:
          title: Raw Transaction
          description: The serialized transaction encoded as a base64 string
          type: string
          example: SGVsbG8=
        hash:
          title: Hash
          description: The first signature of the transaction.
          type: string
          maxLength: 88
          minLength: 64
          pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
          example: FAWA66fudpiwdRDDQ4DRxdJsRvawvauwg4vQkm98ZHFpXmW5N7xzRiTRpt8QiZ19s1aVbzKgXW6kEZanwHeDFNS
        recent_blockhash:
          title: Recent Blockhash
          description: The transaction nonce (last block hash).
          type: string
          maxLength: 44
          minLength: 32
          pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
          example: 4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZAMdL4VZHirAn
        expected_result:
          description: The expected result of the transaction in case it is mined.
          $ref: '#/components/schemas/SolanaTransactionResult'
        mined_result:
          description: The result of the transaction after it was mined.
          $ref: '#/components/schemas/SolanaTransactionResult'
        explorer_url:
          title: Explorer Url
          description: The URL of this transaction in a blockchain explorer. For example, Solscan.
          example: https://solscan.io/tx/FAWA66f...6kEZanwHeDFNS
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
        was_fee_set_in_request:
          type: boolean
          title: Was Fee Set In Request
          description: Whether the priority fee was already set in the request with a ComputeBudget instruction.
        fee_payer:
          description: The address that pays the fee for this transaction (first account in the transaction).
          $ref: '#/components/schemas/EnrichedSolanaAddress'
      type: object
      required:
      - id
      - created_at
      - modified_at
      - signatures
      - direction
      - interacted_vaults
      - organization_id
      - state
      - state_changes
      - type
      - solana_transaction_type_details
      - chain
      - version
      - instructions
      - accounts
      - address_table_lookups
      - sender
      - was_fee_set_in_request
      title: SolanaTransaction
    CantonTransactionResult:
      properties:
        reversion:
          $ref: '#/components/schemas/CantonReversion'
          description: Details whether the transaction was reverted or not.
        effects:
          $ref: '#/components/schemas/CantonEffects'
          description: The effects of the transaction.
      type: object
      required:
      - reversion
      - effects
      title: CantonTransactionResult
    DirectMessage:
      properties:
        type:
          type: string
          title: Type
          description: Message type.
        value:
          type: string
          title: Value
          description: Message bytes, encoded in base64 format.
          example: SGVsbG8=
      type: object
      required:
      - type
      - value
      title: DirectMessage
    ScriptPayload:
      properties:
        typed_arguments:
          items:
            type: string
          type: array
          title: Typed Arguments
          description: The typed arguments of the transaction.
        arguments:
          items:
            type: string
          type: array
          title: Arguments
          description: The arguments of the transaction.
        type:
          type: string
          const: script
          title: Type
        code:
          type: string
          title: Code
          description: The script code of the transaction.
          example: SGVsbG8=
      type: object
      required:
      - typed_arguments
      - arguments
      - type
      - code
      title: ScriptPayload
    EvmContractMetadata:
      properties:
        name:
          title: Name
          description: The name of the contract.
          type: string
        dapp:
          description: The DApp details of the contract.
          $ref: '#/components/schemas/Dapp'
        is_verified:
          type: boolean
          title: Is Verified
          description: '`True` if the contract is verified, `False` otherwise.'
        token:
          description: The token details of the contract.
          oneOf:
          - $ref: '#/components/schemas/Erc20'
          - $ref: '#/components/schemas/Erc721'
          - $ref: '#/components/schemas/Erc1155'
          discriminator:
            propertyName: type
            mapping:
              erc1155: '#/components/schemas/Erc1155'
              erc20: '#/components/schemas/Erc20'
              erc721: '#/components/schemas/Erc721'
      type: object
      required:
      - is_verified
      title: EvmContractMetadata
    BlackBoxSignature:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the object in the Fordefi platform.
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The date and time when the object was created.
        modified_at:
          type: string
          format: date-time
          title: Modified At
          description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification.
        managed_transaction_data:
          $ref: '#/components/schemas/ManagedTransactionData'
          description: 'Managed transaction data. Presented if the transaction was initiated from the Fordefi system itself, in contrast to unmanaged transactions (which are, for example, transfers of funds into a vault visible to Fordefi). '
        signatures:
          items:
            $ref: '#/components/schemas/Signature'
          type: array
          title: Signatures
          description: The transaction signatures.
        note:
          title: Note
          description: An optional transaction note.
          type: string
        spam_state:
          $ref: '#/components/schemas/TransactionSpamState'
          description: '`automatically_set` if the transaction was automatically set as spam by Fordefi, `manually_set` if the transaction was manually set as spam by a user, and `unset` if the transaction was not set as spam.'
          default: unset
        direction:
          $ref: '#/components/schemas/TransactionDirection'
          description: The direction of the transaction.
        signed_externally:
          type: boolean
          title: Signed Externally
          description: Whether the transaction was signed by an external user (for example in case of imported vault).
          default: false
        interacted_vaults:
          items:
            $ref: '#/components/schemas/VaultRef'
          type: array
          title: Interacted Vaults
          description: The vaults that interacted with the transaction.
        related_transactions:
          title: Related Transactions
          description: The related transactions.
          items:
            $ref: '#/components/schemas/RelatedTransaction'
          type: array
        organization_id:
          type: string
          format: uuid
          title: Organization Id
          description: The organization that the transaction belongs to.
        state:
          $ref: '#/components/schemas/NonPushableTransactionState'
          description: The state of the message.
        state_changes:
          items:
            $ref: '#/components/schemas/NonPushableTransactionStateChange'
          type: array
          title: State Changes
          description: The state changes of the message.
        type:
          type: string
          const: black_box_signature
          title: Type
          description: Black Box signature type.
        vault:
          $ref: '#/components/schemas/VaultRef'
          description: The vault whose key has been used for signing.
        details:
          oneOf:
          - $ref: '#/components/schemas/BlackBoxSignatureEcdsaStarkDetails'
          - $ref: '#/components/schemas/BlackBoxSignatureEcdsaSecp256k1Details'
          - $ref: '#/components/schemas/BlackBoxSignatureEddsaEd25519Details'
          - $ref: '#/components/schemas/BlackBoxSignatureSchnorrSecp256k1Details'
          discriminator:
            propertyName: type
            mapping:
              ecdsa_secp256k1: '#/components/schemas/BlackBoxSignatureEcdsaSecp256k1Details'
              ecdsa_stark: '#/components/schemas/BlackBoxSignatureEcdsaStarkDetails'
              eddsa_ed25519: '#/components/schemas/BlackBoxSignatureEddsaEd25519Details'
              schnorr_secp256k1: '#/components/schemas/BlackBoxSignatureSchnorrSecp256k1Details'
      type: object
      required:
      - id
      - created_at
      - modified_at
      - managed_transaction_data
      - signatures
      - direction
      - interacted_vaults
      - organization_id
      - state
      - state_changes
      - type
      - vault
      - details
      title: BlackBoxSignature
    RejectedTransactionSummary:
      properties:
        safe_hash:
          type: string
          title: Safe Hash
          description: The Safe transaction hash being rejected.
        to:
          $ref: '#/components/schemas/EnrichedEvmAddress'
          description: The target address of the rejected transaction.
        value:
          type: string
          pattern: ^-?\d+$
          title: Value
          description: The value of the rejected transaction.
          example: '1000000000000000000'
        method:
          title: Method
          description: The method of the rejected transaction.
          type: string
        confirmations:
          type: integer
          title: Confirmations
          description: Current number of confirmations.
        confirmations_required:
          type: integer
          title: Confirmations Required
          description: Required number of confirmations.
      type: object
      required:
      - safe_hash
      - to
      - value
      - confirmations
      - confirmations_required
      title: RejectedTransactionSummary
    ApiError:
      properties:
        api_error_enum:
          $ref: '#/components/schemas/ApiErrorEnum'
          description: The API error enum.
        description:
          type: string
          title: Description
          description: The API error description.
      type: object
      required:
      - api_error_enum
      - description
      title: ApiError
    UtxoNativeAssetIdentifierRequest:
      properties:
        type:
          type: string
          const: native
          title: Type
          description: Utxo asset identifier type.
        chain:
          $ref: '#/components/schemas/UtxoChainUniqueId'
          description: The unique id of the chain of the asset.
      type: object
      required:
      - type
      - chain
      title: UtxoNativeAssetIdentifierRequest
    TonAddressRequest:
      properties:
        chain:
          $ref: '#/components/schemas/TonChainUniqueId'
          description: The chain details this address is of.
        address:
          type: string
          maxLength: 67
          pattern: ^[-0-9]+:[A-Fa-f0-9]{64}$
          title: Address
          description: Contract address in a raw format.
      type: object
      required:
      - chain
      - address
      title: TonAddressRequest
      description: Address represents a blockchain address.
    SuiChainUniqueId:
      type: string
      enum:
      - sui_mainnet
      - sui_testnet
      title: SuiChainUniqueId
    StacksPostConditions:
      properties:
        post_condition_mode:
          $ref: '#/components/schemas/StacksPostConditionMode'
          description: The post condition mode of the transaction.
        post_conditions:
          items:
            $ref: '#/components/schemas/StacksPostCondition'
          type: array
          title: Post Conditions
          description: The post conditions of the transaction.
      type: object
      required:
      - post_condition_mode
      - post_conditions
      title: StacksPostConditions
    TronAssetIdentifier:
      properties:
        type:
          type: string
          const: tron
          title: Type
          description: TRON asset identifier type.
        details:
          oneOf:
          - $ref: '#/components/schemas/TronNativeAssetIdentifierRequest'
          - $ref: '#/components/schemas/TronTrc20AssetIdentifierRequest'
          discriminator:
            propertyName: type
            mapping:
              native: '#/components/schemas/TronNativeAssetIdentifierRequest'
              trc20: '#/components/schemas/TronTrc20AssetIdentifierRequest'
        chain:
          $ref: '#/components/schemas/EnrichedTronChain'
      type: object
      required:
      - type
      - details
      - chain
      title: TronAssetIdentifier
    TransferDirection:
      type: string
      enum:
      - outgoing
      - incoming
      - internal
      title: TransferDirection
    ArchBalanceChangeEffect:
      properties:
        priced_asset:
          $ref: '#/components/schemas/PricedAsset'
          description: The asset information.
        diff:
          type: string
          pattern: ^-?\d+$
          title: Diff
          description: The amount of that was added to or deducted from the owner's balance. If the amount was deducted, the value is negative; if the amount was added, the value is positive.
          example: '1000000000000000000'
        address:
          $ref: '#/components/schemas/EnrichedArchAddress'
          description: The address affected by the balance change.
      type: object
      required:
      - priced_asset
      - diff
      - address
      title: ArchBalanceChangeEffect
    SuiTransactionResult:
      properties:
        reversion:
          $ref: '#/components/schemas/SuiReversion'
          description: Details whether the transaction was reverted or not.
        transaction_error:
          title: Transaction Error
          description: The description of the error of the transaction.
          type: string
        enriched_gas:
          $ref: '#/components/schemas/SuiGas'
          description: The gas of the transaction.
        effects:
          $ref: '#/components/schemas/SuiEffects'
          description: The effects of the transaction.
      type: object
      required:
      - reversion
      - enriched_gas
      - effects
      title: SuiTransactionResult
    PersonRef:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the user in the Fordefi platform.
        user_type:
          type: string
          const: person
          title: User Type
          description: The type of user. Can be a person, or (in programmatic scenarios) an API user or API Signer.
        name:
          title: Name
          description: The name of the user.
          example: John Doe
          type: string
        email:
          type: string
          title: Email
          description: The email of the user.
        state:
          $ref: '#/components/schemas/UserState'
          description: The state of the user in the organization.
        role:
          $ref: '#/components/schemas/UserRole'
          description: The role of the user.
      type: object
      required:
      - id
      - user_type
      - email
      - state
      - role
      title: PersonRef
    TronAddressRequest:
      properties:
        chain:
          $ref: '#/components/schemas/TronChainUniqueId'
          description: The chain details this address is of.
        base58_repr:
          type: string
          maxLength: 34
          minLength: 34
          pattern: ^T[a-km-zA-HJ-NP-Z1-9]+$
          title: Base58 Repr
          description: Base58 representation of the address in the chain.
          example: TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW
      type: object
      required:
      -

# --- truncated at 32 KB (635 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fordefi/refs/heads/main/openapi/fordefi-swaps-api-openapi.yml