Vulcan Forge
  1. Core Concepts
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
        • Close Position
        • Freeze Position
        • Unfreeze Position
      • 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. Core Concepts

Mapping & Labelling

TLDR#

Blockchains need complimentary mapping and labelling systems. Vulcan Forge provides one.
For regulated assets (especially) there are a couple of must haves when it comes to reporting and analysis:
1.
At a minimum there must be some way to map a blockchain wallet to an owner / investor identity.
2.
When doing an analysis of onchain trading activity, just a plain public key address says very little to anyone. More metadata about it is needed.

Offchain References#

It is either impossible (or at least very inefficient) to hold onchain, all data needed to run proper bookeeping of tradeable assets definitions and movements. Those financial software solutions that integrate with blockhains and have no (or rudimentary) mechanisms to map blockchain entities to offchain systems + label them, can only have very limited support for supporting regulated assets.
At the center of the labelling system in Vulcan Forge is the concept of offchain references - a mechanism to enhance the definition of a blockchain entity by adding to it a number of offchain attributes.
Before covering these offchain attributes we need to define these 2 fields, which are paired with the offchain attributes, and link an onchain item to its offchain twin:

Identifiers#

onchainId - the public key (address) of the blockchain entity
offchainId - the corresponding unique identifier of the same entity in Vulcan Forge's offchain store (i.e. a uuid v4 dabatase field for the offchain record of the entity)

Offchain Attributes#

Attribute NameBlockchain Entity ApplicabilityDescription
alIdFinancial InstrumentThe Alphaledger ID for a financial instrument; a unique identifier assigned by Vulcan Forge, akin to a CUSIP, ISIN or OpenFIGI
externalOrganizationIdAnything other than a Financial InstrumentThe code associated with the organization(s) created at the time a new tenant is onboarded in Vulcan Forge
accountNumberAnything other than a Financial InstrumentAn account number assigned/autogenerated by Alphaledger at the request of the tenant; typically used in conjuction with wallets
Note that one and only one of the alId, organizationExternalId or accountNumber attributes can be specified for an entity's offchain references.
Visit the Tenants page for more details on how the offchain references fit within a tenant's entities hierarchy.

Blockchain Account Type#

The type is an essential piece of the labelling system.
Below is a full list that we found useful for organizing blockchain entities that Vulcan Forge can interact with. While we think the list is quite comprehensive, we expect that a few more will be added over time - especially as a result of integrations with more defi protocols.
For more background on the first set of types from this list, see Regulated Assets
TypeDescription
WALLETWallet to hold currencies and/or assets
CURRENCIES_WALLETWallet to hold currencies only
ASSETS_WALLETWallet to hold assets only
DEFI_SETTLEMENT_WALLETPassthrough wallet for integrations with Defi platforms. Can hold both Currencies and Assets Tokens
ASSET_TOKENTokens that are assets
ASSET_POSITIONPosition for an asset token
CURRENCY_TOKENTokens that are funds (e.g. stablecoins)
CURRENCY_POSITIONPosition for a Currency Token
AUTHORITYGeneric authority that can be used in any place an authority is required
TOKEN_MANAGEMENT_AUTHORITYAuthority attached to financial instruments
TOKEN_ACCOUNT_MANAGEMENT_AUTHORITYAuthorities to be attached to positions
NONCE_AUTHORITYAuthority to be used for updating hashes on Nonce accounts
NONCENonce account that holds a hash
ADDRESS_LOOKUP_TABLEAddress that holds a list of addresses that can be looked up in transactions - helps keep transactions size smaller
FI_METADATA_ACCOUNTAccounts that hold Financial Instruments Metadata
SYSTEM_ACCOUNTSystem accounds - e.g. Sysvar account
PROGRAMAccounts that represent programs on Solana
LOAN_ESCROWLoan accounts that hold pledged assets
LOAN_LENDERAccounts that act a source for financing loans
DATA_ACCOUNTGeneral data account
ORACLE_FEEDFeed to hold market data on an onchain oracle
ORACLE_QUEUEInfrastructure oracle component need to feed updates (see Switchboard queues for examples)
NETWORK_MEMBERSHIP_FUNDINGAccount used primarily for paying Solana network (txns and rent) fees
VULCAN_FORGE_FUNDINGAccount used for paying Vulcan Forge fees

Blockchain Account Code#

The mandatory code is a free form field that the VF client can use to uniquely identify a blockchain account within the context of an offchain reference. E.g. if for a particular offchain account (e.g. accountNumber: SMO2-0000001), 2 separate ASSETS_WALLETs have to be setup, one to hold equities and another one to hold bonds, then these 2 combinations would be setup:
Offchain Attribute (i.e. accountNumber)Blockchain Account TypeBlockchain Account Code
SMO2-0000001ASSETS_WALLETequities
SMO2-0000001ASSETS_WALLETbonds

Blockchain Account Name#

An optional field that can be used to provide some description / name for the blockchain entity that is being onboarded.

Blockchain Account Lookup#

The schema expression of Idenfifiers, Offchain Attributes, Blockchain Account Type and Blockchain Account Code can found in the Account Lookup. A very frequently used block of fields to lookup a blockchain entity throughout the majority of the API endpoints request bodies.
The lookup can be done by either specifying the onchainId, offchainId or the combination of offchainReferences.
Note too that the offchain references and offchainId only apply to entities that are onboarded on the Vulcan Forge platorm.
Interactions with off-platform blockchain entities are possible too and the account lookup supports those by using the offPlatform flag and requiring the onchainId identifiers, for these type of lookups.

Off vs On platform accounts#

Off-platform accounts are blockchain accounts that already exist onchain and are not onboarded into Vulcan Forge (i.e. they have not been created inside the Vulcan Forge offchain database).
On-platform accounts are all those accounts that exist in the Vulcan Forge offchain database.
Off-platform accounts can be still used as part of transactions (e.g. when an on platform Vulcan Forge wallet transfers out an asset to off-platform accounts). See the offPlatform flag in the Account Lookup schema.
At any point in time the System Tenant or any other tenant can onboard an off-platform account by calling the appropriate onboarding endpoint (e.g. Create Account, Create Financial Instrument, Create Address Lookup, etc) and passing the alreadyOnchain field as true in the request body.
Reasons for onboarding an off-platform account:
As part of the read layer endpoints responses, an on-platform account will have more onchain and offchain metadata details attached to it than what an off-platform account would have (i.e. just the public key address)
The account can be setup with subcribeToNetworkEvents=true and as a result, off-platform transactions (i.e. not submitted through Vulcan Forge) that involve this account will be captured by the VF ingestor and be made available for query through the Vulcan Forge apis.
Due to the high volume of transactions typically associated with program accounts, a program account can be onboarded with subcribeToNetworkEvents=true only by the System Tenant.

Uniqueness Rules#

There are 2 main kinds of uniqueness rules that are enforced for each blockchain account/entity:
1.
Offchain references uniqueness - the combination of these 4 fields has to be unique:
tenant organization associated with the Auth API Key
blockchain account type
blockchain account code
internal blockchain id
2.
Public key (address) uniqueness - the combination of these 2 fields has to be unique:
public key address
internal blockchain id
For testing purposes, when onboarding a new entity, typically the easiest way to bypass the first uniqueness rule is to change the code.
Modified at 2025-12-06 21:00:08
Previous
Tenants
Next
Solana Networks
Built with