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
      • Fetch Financial Instrument Details
      • Fetch Financial Instruments
      • Update Financial Instrument
      • Token Extensions Calculator
    • Positions
      • State
        • Initialize Position
          POST
        • Update Position
          PATCH
        • 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
      • Onchain Data Sources
        • Create Onchain Data Source
        • Update Oracle Data Source Definition
        • Refresh Oracle Data Source
        • Fetch Onchain Data Source Details
        • Fetch Oracle Data Sources
  • Schemas
    • Accounts
      • DKG
        • DKG Key Setup
      • Offchain References
      • Account Lookup
      • New Account
      • Debit Limit Config
      • Limit Duration
      • Tenancy Config
      • Account Debits 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
      • Bulk Query
    • Loans
      • Loan Duration
    • 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
      • Financial Instruments
        • Financial Instrument Detailed
        • Financial Instrument Compact
        • Financial Instrument Identifiers
      • Transactions
        • Solana Transaction Result
        • Solana Entity Result
      • Positions
        • Position Offchain Result
        • Position Balance Response
        • Position Response Detailed
        • Position Response Compact
        • Position Response Identifiers
      • Loans
        • Loan Response
      • Market Data
        • Onchain Data Source Response
    • Positions
      • Position Lookup
      • Transfer SOL Definition
      • Transfer Financial Instrument Definition
      • Burn Definition
      • Mint Definition
      • Position Debits Config
      • Position Balance
    • Loans
    • Market Data
      • Onchain Data Source Details
      • Switchboard details
  1. State

Initialize Position

Testing
Development
https://vf-solana-api.dev.alphaledger.com
Development
https://vf-solana-api.dev.alphaledger.com
POST
/api/v1/positions
Creates Solana Transaction:If Requested
OperationId:initializePosition
It creates a position offchain and onchain (optional). Use the itemData.alreadyOnchain=true setting to only onboard the position into Vulcan Forge but not submit a Solana transaction to create the position/token account on the network (because the token account would already be on the network).
If the owner Account on this position has a tokenDebitApiKeys set the API Key Identifier performing the intiailize operation, needs to be part of the list setup in the owner account tokenDebitApiKeys, in order to be able to set the override of the tokenDebitApiKeys at the position level.
If the owner Account on this position is off platform, the position will also be created off platform only (i.e. only onchain and not within the Vulcan Forge offchain DB). As such the alreadyOnchain=true is not allowed under this condition.
Default Debit Limits:
Unless overriden through configurations on the debitLimits field, the defaults reflected in the tables below apply. If for e.g. a limit config is put in place only for outgoing transfers, the default values for burns still apply - and vice versa. The same applies if a limit is entered for type PER_OPERATION but a DURATION Limit is not specified. The DURATION limit check will be done based on the default value.
These defaults are put in place to reduce the chances of accidental debit operations and to increase the chances of having some escape routes to clawback funds/tokens sent to unwanted destinations when accidents do happen. Use caution when increasing these limits and be as specific as possible to the scope that they should apply to - e.g. don't increase the limits on Burn operations too if you want to only increase the limits for outgoing transfers.
OUTGOING TRANSFERS
DestinationLimit TypeMax allowed amount w/o approval
OFF_PLATFORMPER_OPERATION0
OFF_PLATFORMDURATION (last 24hrs)0
NON_MANAGEDPER_OPERATION10
NON_MANAGEDDURATION (last 24hrs)Unlimited
MANAGEDPER_OPERATIONUnlimited
MANAGEDDURATION (last 24hrs)Unlimited
BURNS
Mint AuthorityLimit TypeMax allowed amount w/o approval
NON_MANAGEDPER_OPERATION0
NON_MANAGEDDURATION (last 24hrs)0
MANAGEDPER_OPERATIONUnlimited
MANAGEDDURATION (last 24hrs)Unlimited
Account Types (for the OUTGOING TRANSFER Destination and Mint Authority for the token being BURNed):
OFF_PLATFORM - Not onboarded on the Vulcan Forge platform
NON_MANAGED - Onboarded on the platform, but private key not hosted on it
MANAGED - Onboarded on the platform and private key hosted on it

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

🟢201Created
application/json
Body

🟠400Bad Request
🟠401Unauthorized
🟠403Forbidden
🟠409Record Exists Already
🟠429Too Many Requests
🔴500Internal Server Error
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://vf-solana-api.dev.alphaledger.com/api/v1/positions?solanaClusterId=SOLANA_DEVNET' \
--header 'x-request-id: f9860f73-a466-41f2-a083-34eeb1cc3a3c' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "itemData": {
        "owner": {
            "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
            "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
            "offchainReferences": {
                "alId": "ALFNDPF000153778",
                "organizationExternalId": "ALT",
                "accountNumber": "ALT10000233",
                "code": "some-authority",
                "type": "WALLET"
            },
            "autoSign": true,
            "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"
            },
            "autoSign": true
        },
        "alreadyOnchain": false,
        "tokenDebitApiKeys": [
            "string"
        ],
        "debitLimits": [
            {
                "applicableTo": "TOKEN",
                "operationType": "ANY",
                "destination": "ANY",
                "mintAuthority": "ANY",
                "maxAllowedDebit": {
                    "limitType": "PER_OPERATION",
                    "limitAmount": 100,
                    "duration": {
                        "code": "DAYS",
                        "unit": 1
                    },
                    "approversForOverride": [
                        "string"
                    ],
                    "requiredApproversCount": 2
                }
            }
        ],
        "unfreezeIfNeeded": false,
        "freezeAuthority": {
            "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
            "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
            "offchainReferences": {
                "alId": "ALFNDPF000153778",
                "organizationExternalId": "ALT",
                "accountNumber": "ALT10000233",
                "code": "some-authority",
                "type": "WALLET"
            },
            "autoSign": true,
            "otherTenantOrganizationExternalId": "ALIM",
            "offPlatform": false
        },
        "requireMemoOnTransfer": false
    },
    "solanaTransactionConfig": {
        "feePayer": {
            "onchainId": "GPjDgRPhSuJSya5GbaCWkYCDqcyL6N3ZBge9XMJsDton",
            "offchainId": "1b03ae9a-348c-4c18-8727-20c7c4ae7a0a",
            "offchainReferences": {
                "alId": "ALFNDPF000153778",
                "organizationExternalId": "ALT",
                "accountNumber": "ALT10000233",
                "code": "some-authority",
                "type": "WALLET"
            },
            "autoSign": true,
            "otherTenantOrganizationExternalId": "ALIM",
            "offPlatform": false
        },
        "computeUnitConfig": {
            "enable": true,
            "limit": 1400000,
            "price": 35000,
            "priceEstimate": {
                "provider": "HELIUS",
                "calculationStrategy": "DEFAULT",
                "priorityLevel": "RECOMMENDED"
            }
        },
        "commitmentConfig": {
            "commitmentLevel": "processed"
        },
        "messageLifetimeStrategy": "RECENT_BLOCKHASH",
        "transactionVersion": "V0"
    },
    "tenancyConfig": {
        "overrideOrganizationExternalId": "ALIM"
    }
}'
Response Response Example
201 - Example 1
{
    "newPosition": {
        "onchainId": "ndA7eTfoWqrczXYUq53gNRRjQgEmufqErXbgXUFFUAA",
        "offchainId": "1a1e904d-0d95-4e66-85e1-88a57774e910"
    },
    "solanaTransaction": {
        "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 2026-01-24 10:36:41
Previous
State
Next
Update Position
Built with