Vulcan Forge
  1. State
Vulcan Forge
  • Introduction
  • Getting Started
  • Authentication & Authorization
  • Core Concepts
    • Terminology
    • Regulated Assets
    • Tenants
    • Mapping & Labelling
    • Solana Networks
    • Transaction Processing
    • Key Management
    • Read Layer
  • API Reference
    • Blockchain Accounts
      • Create Account
      • Fetch Account Details
      • Fetch Account Balance
      • Fetch Account Private Key
      • Fetch Accounts
      • Update Account
      • Inactivate Account
    • Financial Instruments
      • Create Financial Instrument
      • Update Financial Instrument
      • Fetch Financial Instrument Details
      • Fetch Financial Instruments
      • Token Extensions Calculator
    • Positions
      • State
        • Initialize Position
          POST
        • Close Position
          PATCH
        • Freeze Position
          PATCH
        • Unfreeze Position
          PATCH
      • Movements
        • Mint
        • Burn
        • Transfer Financial Instrument
        • Transfer SOL
      • Trades
        • Trade
      • History
        • Fetch Positions
        • Fetch Position Details
        • Fetch Position Balance
    • Loans
      • Create Loan
      • Fetch Loan Details
      • Fetch Loans
      • Swap Collateral
      • Repay Loan
      • Close Loan
      • Refinance Loan
    • Blockchain Transactions
      • Processing
        • Fetch Transaction Status
        • Sign Transaction
        • Submit Transaction
      • Durable Nonces
        • Create Durable Nonce Accounts
        • Fetch Durable Nonce Account Details
        • Fetch Durable Nonce Accounts
      • Address Lookup Tables
        • Create Address Lookup Table
        • Fetch Address Lookup Table Details
        • Fetch Address Lookup Tables
        • Extend Address Lookup Table
        • Update Address Lookup Table
      • History
        • Fetch Transactions
        • Fetch Transaction Details
    • Market Data
      • Update Feed
  • Schemas
    • Accounts
      • DKG
        • DKG Key Setup
      • Offchain References
      • Account Lookup
      • New Account
      • Tenancy Config
      • Account Balance
      • Offchain File
    • Transactions
      • Solana Transaction Config
      • Commitment Config
      • Transaction Lookup
    • Query
      • Query Components
        • Sort Model
        • Field Value Filter
        • Filter Model
      • Items Query
    • Reponses
      • Errors
        • Individual Error
        • Error Response
      • Accounts
        • Private Keys
          • Private Key Details
          • Database Private Key Details
          • Cloud Provider Resource Location
          • DKG Private Key Details
        • Account Response Detailed
        • Account Onchain Detailed
        • Account Offchain Detailed
        • Account Response Identifiers
        • Account Offchain Compact
        • Account Response Compact
        • Account Onchain Compact
      • Transactions
        • Solana Transaction Result
        • Solana Entity Result
      • Positions
        • Position Offchain Result
    • Positions
      • Position Lookup
      • Transfer Financial Instrument Definition
      • Burn Definition
      • Mint Definition
      • Transfer SOL Definition
      • Position Balance
    • Loans
      • Loan Duration
  1. State

Close Position

Testing
Development
https://vf-solana-api.dev.alphaledger.com
Development
https://vf-solana-api.dev.alphaledger.com
PATCH
/api/v1/positions/close
Creates Solana Transaction:Always
OperationId:closePosition
Closes the Token Account / Position in Solana and on the Vulcan Forge platform. It refunds remaining SOL to the desired destination: the feePayer or a provided itemData.refundDestination wallet.
If there is any token balance left in the position, in order to be able to close the position, this balance needs to be disposed of. The balance can be either burned with itemData.burnRemainingTokenBalance or transferred to another position with itemData.transferRemainingTokenBalanceTo.
If there is a token balance left and the position is frozen, this endpoint can also unfreeze the position in the same transaction by specifying the item.unfreezeIfNeeded = true. Optionally the itemData.freezeAuthority can be set if privateKeyDetails need to be provided for it, otherwise it will be fetched based on the token configuration. Note that the unfreeze option is only available if the financial instrument is a TOKEN_2022 version.

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Query Params

Header Params

Body Params application/json

Examples

Responses

🟢200Success
application/json
Body

🟠400Bad Request
🟠401Unauthorized
🟠403Forbidden
🟠404Record Not Found
🟠429Too Many Requests
🔴500Internal Server Error
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request PATCH 'https://vf-solana-api.dev.alphaledger.com/api/v1/positions/close?solanaClusterId=SOLANA_DEVNET' \
--header 'x-request-id: f9860f73-a466-41f2-a083-34eeb1cc3a3c' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "itemData": {
        "position": {
            "position": {
                "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
                "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
                "offchainReferences": {
                    "alId": "ALFNDPF000153778",
                    "organizationExternalId": "ALT",
                    "accountNumber": "ALT10000233",
                    "code": "some-authority",
                    "type": "WALLET"
                },
                "isOtherTenantSigner": false,
                "otherTenantOrganizationExternalId": "ALIM",
                "offPlatform": false
            },
            "owner": {
                "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
                "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
                "offchainReferences": {
                    "alId": "ALFNDPF000153778",
                    "organizationExternalId": "ALT",
                    "accountNumber": "ALT10000233",
                    "code": "some-authority",
                    "type": "WALLET"
                },
                "isOtherTenantSigner": false,
                "otherTenantOrganizationExternalId": "ALIM",
                "offPlatform": false
            },
            "financialInstrument": {
                "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
                "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
                "offchainReferences": {
                    "alId": "ALFNDPF000153778",
                    "organizationExternalId": "ALT",
                    "accountNumber": "ALT10000233",
                    "code": "some-authority",
                    "type": "WALLET"
                },
                "isOtherTenantSigner": false,
                "otherTenantOrganizationExternalId": "ALIM",
                "offPlatform": false
            },
            "mintAuthority": {
                "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
                "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
                "offchainReferences": {
                    "alId": "ALFNDPF000153778",
                    "organizationExternalId": "ALT",
                    "accountNumber": "ALT10000233",
                    "code": "some-authority",
                    "type": "WALLET"
                },
                "isOtherTenantSigner": false,
                "otherTenantOrganizationExternalId": "ALIM",
                "offPlatform": false
            },
            "freezeAuthority": {
                "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
                "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
                "offchainReferences": {
                    "alId": "ALFNDPF000153778",
                    "organizationExternalId": "ALT",
                    "accountNumber": "ALT10000233",
                    "code": "some-authority",
                    "type": "WALLET"
                },
                "isOtherTenantSigner": false,
                "otherTenantOrganizationExternalId": "ALIM",
                "offPlatform": false
            }
        },
        "refundSolToFeePayer": false,
        "refundSolDestination": {
            "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
            "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
            "offchainReferences": {
                "alId": "ALFNDPF000153778",
                "organizationExternalId": "ALT",
                "accountNumber": "ALT10000233",
                "code": "some-authority",
                "type": "WALLET"
            },
            "isOtherTenantSigner": false,
            "otherTenantOrganizationExternalId": "ALIM",
            "offPlatform": false
        },
        "burnRemainingTokenBalance": false,
        "transferRemainingTokenBalanceTo": {
            "position": {
                "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
                "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
                "offchainReferences": {
                    "alId": "ALFNDPF000153778",
                    "organizationExternalId": "ALT",
                    "accountNumber": "ALT10000233",
                    "code": "some-authority",
                    "type": "WALLET"
                },
                "isOtherTenantSigner": false,
                "otherTenantOrganizationExternalId": "ALIM",
                "offPlatform": false
            },
            "owner": {
                "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
                "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
                "offchainReferences": {
                    "alId": "ALFNDPF000153778",
                    "organizationExternalId": "ALT",
                    "accountNumber": "ALT10000233",
                    "code": "some-authority",
                    "type": "WALLET"
                },
                "isOtherTenantSigner": false,
                "otherTenantOrganizationExternalId": "ALIM",
                "offPlatform": false
            },
            "financialInstrument": {
                "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
                "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
                "offchainReferences": {
                    "alId": "ALFNDPF000153778",
                    "organizationExternalId": "ALT",
                    "accountNumber": "ALT10000233",
                    "code": "some-authority",
                    "type": "WALLET"
                },
                "isOtherTenantSigner": false,
                "otherTenantOrganizationExternalId": "ALIM",
                "offPlatform": false
            },
            "mintAuthority": {
                "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
                "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
                "offchainReferences": {
                    "alId": "ALFNDPF000153778",
                    "organizationExternalId": "ALT",
                    "accountNumber": "ALT10000233",
                    "code": "some-authority",
                    "type": "WALLET"
                },
                "isOtherTenantSigner": false,
                "otherTenantOrganizationExternalId": "ALIM",
                "offPlatform": false
            },
            "freezeAuthority": {
                "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
                "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
                "offchainReferences": {
                    "alId": "ALFNDPF000153778",
                    "organizationExternalId": "ALT",
                    "accountNumber": "ALT10000233",
                    "code": "some-authority",
                    "type": "WALLET"
                },
                "isOtherTenantSigner": false,
                "otherTenantOrganizationExternalId": "ALIM",
                "offPlatform": false
            }
        },
        "unfreezeIfNeeded": false,
        "freezeAuthority": {
            "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
            "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
            "offchainReferences": {
                "alId": "ALFNDPF000153778",
                "organizationExternalId": "ALT",
                "accountNumber": "ALT10000233",
                "code": "some-authority",
                "type": "WALLET"
            },
            "isOtherTenantSigner": false,
            "otherTenantOrganizationExternalId": "ALIM",
            "offPlatform": false
        }
    },
    "solanaTransactionConfig": {
        "feePayer": {
            "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
            "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
            "offchainReferences": {
                "alId": "ALFNDPF000153778",
                "organizationExternalId": "ALT",
                "accountNumber": "ALT10000233",
                "code": "some-authority",
                "type": "WALLET"
            },
            "isOtherTenantSigner": false,
            "otherTenantOrganizationExternalId": "ALIM",
            "offPlatform": false
        },
        "computeUnitConfig": {
            "enable": true,
            "limit": 1400000,
            "price": 35000,
            "priceEstimate": {
                "provider": "HELIUS",
                "calculationStrategy": "DEFAULT"
            }
        },
        "commitmentConfig": {
            "commitmentLevel": "processed"
        },
        "messageLifetimeStrategy": "RECENT_BLOCKHASH",
        "transactionVersion": "V0"
    },
    "tenancyConfig": {
        "overrideOrganizationExternalId": "ALIM"
    }
}'
Response Response Example
200 - Example 1
{
    "success": false,
    "offchainId": "ee36c656-aa74-4d6a-b23c-332c204cb202",
    "status": "SIGNED",
    "onchainId": "5nwo7XvhiVRpJasEzH5r3hGKJqaTxd7qVit3cedFJgESdAPrmawebMJu6fUKRfjXEaivuey7vBsW56xPxX76T1bm",
    "confirmationsCount": 2,
    "serializedMessage": "string",
    "errorMessage": "string",
    "txnTimestamp": "2025-10-21T16:17:45.035372Z"
}
Modified at 2025-12-05 08:59:24
Previous
Initialize Position
Next
Freeze Position
Built with