Latest software releases

Below is a list of changelogs for Testnet node software, Vega Console and Wallet, with the most recent releases first. API-breaking changes are listed with (breaking change).

You can keep track of when Testnet chain resets and node releases are happening on the Vega Discord server.

Node software releases

Note: Before March 2020, Vega didn’t track release notes, and only began to collate them for the first version of Testnet.

0.41.0 & 0.41.1 (16 August 2021)

This release brings in several fixes for voting and withdrawing funds alongside refactoring and clean up. Also included is the first release with initial Testnet markets provided solely via governance and not using genesis config. Another improvement included in this release is to upgrade the version of Tendermint core.


  • Refactor: Rename traders to parties
  • Refactor: Clean up naming in the types package
  • Update Tendermint to a newer version
  • Implemented market terminated, settled and suspended states via the oracle trigger
  • Send Commander commands in a go routine
  • Checkpoint engine hash and checkpoint creation
  • Implement delegation commands
  • Move protocol buffers into an external repository
  • Replace Vega wallet with call to the go-wallet
  • Refactor: Clean up markets in domains types
  • Testing: Vega integration add subfolders for features
  • Implement rewards transfer
  • Implement a delegation engine
  • Imports need reformatting for core code base
  • Add limits engine + genesis loading
  • Add a first version of the accounting engine
  • Enable CGO in CI


  • Check if application context has been cancelled before writing to channel
  • Fix panic on division by 0 with party voting and withdrawing funds
  • Remove parameters from linting fixes
  • Ensure expired/settled markets are correctly recorded in app state
  • Change liquidity fees distribution to general account and not margin account of liquidity provider
  • Testing: Fixed setup of oracle specification step in integration
  • Fix binary version
  • Always use broadcast asynchronous transaction

0.39.0 & 0.40.0 (19 July 2021)

This release resolves issues discovered on Fairground during the first community Fairground incentive, by rewriting the liquidity provision order control flow. Another major improvement included in this release is the switch from uint64 to uint256 for all balances, amounts, and prices, which provides more numerical precision.


  • Return theoretical target stake when in auction
  • Remove inefficient metrics calls
  • Migrate from uint64 to uint256 for all balances, amount, prices in the core
  • Replace the calculation using decimals by uint256 in the liquidity target package
  • Remove some uint to decimal conversion
  • Remove reliance on proto conversion for GetAsset
  • Add the tm subcommand to allow users to run a Tendermint node via the Vega subcommand
  • Improve probability of trading calculations
  • Update oracle engine to send events at the end of the block
  • Add loss socialisation for final settlement
  • Refactor integration tests
  • Rewrite pegged / liquidity order control flow
  • Unified error system and strict parsing in feature tests
  • Add documentation on market instantiation in feature tests
  • Return better errors when replay protection happens


  • Added sign to settlement return values to allow user to correctly determine win/loss
  • Tidy up max open interest calculations
  • Fix settlement with network orders
  • Fixes in the positions engine following migration to uint256
  • Fix the position engine hash state following migration to uint256
  • Ensure LP orders are not submitted during auction
  • Correct event types and add panics to catch mistakes
  • Update the quant library to version 0.2.5
  • Fix send on closed channel using timer (event bus)
  • Fix decimal instantiation in bond slashing
  • Remove pegged order from pegged list if order is aggressive and trades
  • Clean code in the wallet package

0.39.0 (11 June 2021)


  • Add Auction Extension trigger field to market data
  • Testing: Add block time handling & block time variance
  • Enable replay protection
  • Implement new transaction format
  • Implement new commands validation


  • Stop liquidity auctions from extending infinitely
  • Fix handling of liquidity commitments at price bounds
  • Fix potential nil pointer when fetching proposals
  • Fix package import for domain types
  • Remove oracle prefix from files in the oracle package
  • Ensure all votes have weight initialised to 0
  • Address flaky tests
  • Rename auction state methods
  • Refactor auction end logic to its own file
  • Fix average entry valuation during opening auctions
  • Improve nil pointer checks on proposal submissions
  • Avoid slicing out of access bond in trades stores

0.37.2 (30 May 2021)


  • Add test coverage for auction interactions
  • Add error details field to rejected proposals
  • Market Data no longer returns an error when no market data exists, as this is a valid situation
  • Optimise transaction format & improve validation
  • Run buf breaking at build time
  • Refactor prepare* command validation
  • New tests for distressed LP and use margin for bond slashing as fallback


  • API: Fix crash with nil pointer (Prepare Proposal)
  • Fix auction extensions bugs
  • Fix the CI build for the some architectures
  • Fix reprice of pegged orders on every liquidity update
  • Fix probability of trading calculation for liquidity orders
  • Fixes for the resolve close out LP parties flow
  • Fix redeployment of LP orders
  • Fix price monitoring bounds

0.36.0 (17 May 2021)


  • API (breaking change): REST - Move deposits endpoint to /parties/[partyId]/deposits
  • API (breaking change): Party is no longer required when submitting an order amendment
  • API (breaking change): Party is no longer required when submitting an order cancellation
  • API (breaking change): Party is no longer required when submitting a withdrawal request
  • API: Add more information on token proportion/weight on proposal votes APIs
  • Improve caching of values when exiting auctions
  • Add extra validation for order, vote, withdrawal and liquidity provision transactions
  • Reject non-persistent orders that fall outside price monitoring bounds


  • API: Fix spelling errors in GraphQL docs
  • Remove float usage in liquidity engine
  • Clean up order submission code
  • Break up internal proposal definitions
  • Tidy up LP implementation internally
  • Improve test coverage around Liquidity Provisions on auction close
  • Fix settlement tests
  • Rename external resource checker to witness
  • Fix blank IDs on oracle in genesis markets
  • Refactor internal Vote Submission type to be separate from Vote type
  • Improve test coverage around order uncrossing
  • Remove debug steps from feature tests
  • Remove LiquidityPoolBalance from configuration
  • Increase rate limit that was causing memory pools to fill up unnecessarily
  • Split protobuf definitions
  • Do not emit amendments from liquidity engine

0.35.3 (27 April 2021)

This release cements the work on liquidity provisions, which were enabled in 0.34.0. Since then we’ve been closely watching the impact they’ve had on the system, and tweaked things accordingly. In particular, leaving an auction is now considerably faster.

This release also switches to Oasis Protocol’s ed25519 package after seeing considerable improvements in our benchmarks. We’ve changed some network parameters around liquidity provision that will keep markets out of liquidity-seeking auctions better. This is temporary while work on our liquidity bots continues.


  • Add logging for transactions rejected for having no accounts
  • Re-implement amending LPs not to be cancel and replace
  • Optimise calculation of cumulative price levels
  • Reuse LP orders IDs when they are re-created
  • Track the time spent in auction via Prometheus metrics
  • Implement a simple benchmarking framework for the core trading
  • Optimise indicative price and volume calculation
  • Fix the CI pipeline


  • API: Improve event bus stability
  • API: Fix event bus by deep cloning all messages
  • Auctions are extended if exiting auction would leave either side of the book empty
  • Correctly set time when liquidity engine is created
  • Fix bond account use on LP submission
  • Re-implement amending LPs not to cancel and replace
  • Fix behaviour when leaving auctions
  • Do not slash bond accounts on LP submission
  • Fix equity like share in the market data
  • Ensure leaving an auction cannot trigger another auction / auction leave
  • Fix LP order deployments
  • Set the fee paid in uncrossing auction trades
  • Improve / fix positions tracking
  • Fix indicative price and volume calculation
  • Fix matched order removal from the order book
  • Fix some order book issues
  • Check trades in integration tests

0.34.0 (12 April 2021)

Liquidity commitments are now enabled in a near-final form. This allows any user on Vega to commit to providing liquidity for a specific market, and to earn a fee. Most of the fixes and improvements in this release relate to enabling this functionality.

In the next release, a liquidity commitment will be required when proposing a new market. Amending an LP commitment sends the market into liquidity seeking auction. This is a known bug which will be fixed in the next release.


  • API: Add an event bus event when a market closes
  • API: All orders from LP - including rejected orders - are now sent through the event bus
  • Add reference to LP in orders created by LP
  • Store and propagate bond penalty
  • Add network parameters to control auction duration & extension
  • Add liquidity provision ID to orders created by LP commitments
  • Add transfer for bond slashing
  • Update scripts to Go 1.16.2
  • Update to Go 1.16.2
  • Extend unit test coverage for products
  • Remove liquidityFee network parameter
  • Add arbitrary data signing wallet endpoint
  • Add tests for traders closing their own position
  • Refactor governance engine tests
  • Add order book caching
  • Use UpdateNetworkParams to validate network parameter updates
  • Add probability of trading
  • Feature test refactor: Add liquidity provision feature tests
  • Feature test refactor: Remove unused steps
  • Feature test refactor: Refactor order cancellation steps
  • Feature test refactor: Refactor trader amends step
  • Feature test refactor: Refactor features with invalid order specifications
  • Feature test refactor: Add step to end opening auction
  • Feature test refactor: Add step to amend order by reference
  • Feature test refactor: Add step to place pegged orders
  • Feature test refactor: Add step to create liquidity provision
  • Feature test refactor: Remove unused settlement price step
  • Feature test refactor: Rework submit order step
  • Feature test refactor: Split market declaration
  • Feature test refactor: Apply naming convention to assertions


  • API GraphQL: LiquidityProvision is no longer missing from the EventBus union
  • Verify all properties on oracle specifications
  • Check for wash trades when FOK orders uncross
  • Order status is now only Active when it is submitted to the book
  • LP provisions are now properly stopped when a market is rejected
  • Update market value proxy at the end of each block
  • Ensure liquidity auctions are not left if they would result in an empty book
  • Reduce some log levels
  • Fix incorrect context object in liquidity provisions
  • Remove debug code
  • Add spell checking to build pipeline
  • Reduce market depth updates when nothing changes
  • Fees are no longer paid to inactive LPs
  • Improve performance of margin calculation during auctions
  • Fix validation of governance proposal terms
  • targetStake is now an unsigned integer
  • Fix invalid account wrapping
  • Fix multi architecture build
  • Fix version injection from the CI

0.33.1 (22 March 2021)

As per the previous release notes, this release brings a lot of fixes, most of which aren’t exciting new features but improve either the code quality or the developer experience. This release is pretty hefty, as the last few updates have been patch releases. It represents a lot of heavy testing and bug fixing on Liquidity Commitment orders. Alongside that, the feature test suite (using go-dog) has seen some serious attention so that we can specify more complex scenarios easily.

Two breaking changes to the GraphQL APIs are included: One to use ID scalar for IDs and ensure capitalisation is correct, the other is to add LP Commitment field to market proposals (Note: LP feature is disabled on Testnet in this release).


  • API (breaking change): GraphQL - Use ID scalar for IDs, ensure capitalisation is correct (marketID -> marketId)
  • API (breaking change): GraphQL - Add LP Commitment field to market proposal
  • API: GraphQL - Add market proposal to markets created via governance
  • API: GraphQL Add GraphQL endpoints for oracle specification
  • Add maximum LP shape size limit network parameter
  • Add OracleSpec to market
  • Add metrics logging for LPs
  • Add validation for Oracle Specifications on market proposals
  • Update transfers to use uint256
  • Refactor: Standardise how InAuction is detected in the core
  • Remove log.error when TX rate limit is hit
  • Remove log.error when cancel all orders fails
  • Re-enable disabled static analysis
  • Add dlv to docker container
  • Add more LP unit tests
  • Remove network specific wallet initialisation
  • Remove obsolete InitialMarkPrice network parameter
  • Documentation fixed for infrastructure fee field
  • Add buf to get tools script
  • Move documentation generation to vegaprotocol/api repository
  • Add more debug logging in execution engine
  • Feature test refactor: Standardise market definitions
  • Feature test refactor: Remove unused trading modes
  • Feature test refactor: Move submit order step to separate package
  • Feature test refactor: Move oracle data step to separate package
  • Feature test refactor: Move market steps to separate package
  • Feature test refactor: Move confirmed trades step to separate package
  • Feature test refactor: Move cancelled trades step to separate package
  • Feature test refactor: Move traders step to separate package
  • Feature test refactor: Create new step to verify margin accounts for a market
  • Feature test refactor: Create step to verify one account of each type per asset
  • Feature test refactor: Create step to deposit collateral
  • Feature test refactor: Create step to withdraw collateral
  • Feature test refactor: Merge deposit & verification steps
  • Feature test refactor: Create step to verify settlement balance for market
  • Feature test refactor: Rewrite margin levels step
  • Feature test refactor: Unify error handling steps
  • Feature test refactor: Various small fixes
  • Feature test refactor: Remove outdated feature tests
  • Feature test refactor: Add steps to test handling of LPs during auction
  • Feature test refactor: Fix typo


  • API: LP orders were missing their reference data
  • API: GRPC API now shuts down gracefully
  • API: GraphQL schema grammar & spelling fixes
  • API: Pegged orders that fail to reprice correctly are now properly removed from the Market Depth API
  • API: Ensure all filled and partially filled orders are remove from the Market Depth API
  • API GraphQL: Fix missing data in proposal subscription
  • Fix crash caused by distressed traders with LPs
  • Parties with cancelled LPs no longer receive fees
  • Improve handling of genesis block errors
  • Equity share is now correct when submitting initial order
  • LP submission now checks margin engine is started
  • Rewrite amending LPs
  • Rewrite cancel all order implementation
  • API: GraphQL: Order in LiquidityOrder is now nullable
  • Move vegastream to a separate repository
  • Ignore error if Tendermint stats is temporarily unavailable
  • Fix governance to use total supply rather than total deposited into network
  • Opening Auction no longer set to null on a market when auction completes
  • Rewrite LP refresh mechanism
  • Auctions now leave auction when maximumDuration is exceeded
  • Bond account is now correctly cleared when LPs are cancelled
  • Switch error reporting mechanism to stream error
  • Switch more error reporting mechanisms to stream error
  • Fix fee check for LP orders
  • LP orders are now accessed deterministically
  • LP bond is now returned if a market is rejected
  • Parties with closed out LPs can now submit new LPs
  • New market proposals with invalid Oracle definitions no longer crash core
  • Fix intoProto for OracleSpecBinding
  • Target Stake is now used as the Market Value Proxy during opening auction

0.32.0 (1 March 2021)

More fixes, primarily related to liquidity provisioning (still disabled in this release) and asset withdrawals, which will soon be enabled in Vega Console.

Two breaking changes in the GraphQL API are included - one fixing a typo, the other changing the content of date fields on the withdrawal object - they’re now date formatted.


  • API (breaking change): GraphQL - Withdrawal fields expiry, createdAt & updatedAt are now RFC3339Nano date formatted
  • API (breaking change): GraphQL - Fix typo in prepareVote mutation - propopsalId is now proposalId
  • API: Incorporate buf.yaml tidy up submitted by bufdev on api-clients repo
  • API GraphQL: Fix incorrect market in bond account resolver
  • API: Fix a lock caused by GraphQL subscribers unsubscribing from certain endpoints
  • Liquidity fees are distributed in to margin accounts, not general accounts
  • Liquidity provisions are now rejected if there is not enough collateral
  • Liquidity provisions are now parked when repricing fails
  • Store reference prices when parking pegs for auction
  • Fix withdrawal data availability before it is verified
  • Fix sending multisig bundle for withdrawals before threshold is reached
  • Extend auctions if uncrossing price is unreasonable
  • Create third party folder to avoid excluding vendor protos in build
  • Remove LP commitments when a trader is closed out
  • Remove LP commitments when a trader reduces their commitment to 0~

0.31.1 (15 February 2021)

Many of the fixes below relate to liquidity commitments, which are still disabled in testnet, and data sourcing, which is also not enabled. Data sourcing (oracles) is one of the last remaining pieces we need to complete settlement at instrument expiry, and liquidity commitment will be enabled when the functionality has been stabilised.

This release does improve protocol documentation, with all missing fields filled in and the explanations for pegged orders expanded. Two crashers have been fixed, although the first is already live as hotfix on testnet, and the other is in functionality that is not yet enabled.

This release also makes some major API changes:

  • All the protobuf files have been updated to follow Buf recommendations, which changes many field names in REST, GraphQL and gRPC
  • api.TradingClient -> api.v1.TradingServiceClient
  • api.TradingDataClient -> api.v1.TradingDataServiceClient
  • Fields have changed from camel-case to snake-cased (e.g. someFieldName is now some_field_name)
  • All API calls now have request and response messages whose names match the API call name (e.g. GetSomething now has a request called GetSomethingRequest and a response called GetSomethingResponse)


  • API: Generate missing REST endpoints (prepareProposal, prepareVote, prepareLiquiditySubmission)
  • API: Add Liquidity Commitments to API responses
  • Add submitOracleData command
  • Update vega verify command to verify genesis block files
  • Enable distribution of liquidity fees to liquidity providers
  • Add Open Oracle data processing & data normalisation


  • API: Fix invalid docs reference in proto (TIF_* -> TIME_IN_FORCE_*)
  • API: Fix market life cycle events not being published through event bus API
  • API: Fix GraphQL bug: deposits creditedAt incorrectly showed createdAt time, not credit time
  • API: Refactor GraphQL resolver for withdrawals
  • API: Improve proto documentation, in particular for pegged orders
  • Add new process for calculating margins for orders during auction
  • Liquidity commitment fixes
  • Apply Buf lint recommendations
  • Improve field names in fee distribution package
  • Fix crasher caused by parking pegged orders for auction
  • Remove unused binaries from CI builds
  • Fix bug that caused fees to be charged for pegged orders
  • Remove unused dependency in repricing
  • Fix crasher caused by incorrectly loading Fee account for transfers

0.30.0 (25 January 2021)

This release enables (or more accurately re-enables) pegged orders, meaning they’re finally here!

The Ethereum bridge also received some work - in particular the number of confirmations Vega waits for on Ethereum is now controlled by a governance parameter. Being a governance parameter, that means that the value can be changed by a governance vote. Slightly related: You can now fetch active governance proposals via REST.

  1. We also switch to Buf for our protobuf workflow. This was one of the pre-requisites for opening up the API clients’ build process, and making the protos open source. More on that soon!

  2. We also fixed an issue on testnet where votes were not registered when voting on open governance proposals. The required number of Ropsten VOTE tokens was being calculated incorrectly, leading to all votes quietly being ignored. In 0.30.0, voting works as expected again.

  3. Bug note: Estimated fees for a pegged order will assume that like other limit orders, it could trade aggressively on entry to the order book and therefore incur fees. However, persistent pegged orders (the only type Vega currently supports) always hit the order book as passive orders (they cannot be crossed with other orders on the book due to the rules around allowable peg reference + offset combinations), and therefore will never incur any fees.


  • API (breaking change): Rename marketState to marketTradingMode, add new marketState enum (ACTIVE, SUSPENDED or PENDING)
  • API: Add REST endpoint to fetch all proposals (/governance/proposals)
  • API: Add transfer bus events for withdrawals and deposits
  • API: Add New Market bus event
  • API: Add Supplied State to market data
  • Add FeeSplitter to correctly split fee portion of an aggressive order
  • Switch to Buf
  • Add configurable required confirmations for bridge transactions
  • Add fees estimate for pegged orders
  • Add bond and fee transfers


  • API: Fix typos in GraphQL schema documentation
  • API: Fix GraphQL, Allow marketId to be null when it is invalid
  • API: Fix New Market bus event being sent more than once
  • Fix voting for proposals
  • Refactor pegged order repricing
  • Refactor expiring orders lists
  • Handle liquidity commitments on market proposals
  • Add changing liquidity commitment when not enough stake
  • Fix read nodes lagging if they receive votes but not a bridge event
  • Fix various minor bridge confirmation bugs
  • Fix removing pegged orders that are rejected when unparked
  • Fix crasher when proposing an update to network parameters
  • Update target stake to include mark price
  • Fix price monitoring integration tests
  • Add more unit tests for pegged order price amends
  • Fix cancelling all orders
  • Fix parked pegged orders to have a price of 0 explicitly
  • Disallow GFN to GTC/GTT amends
  • Add rounding to pegged order mid prices that land on non integer values
  • Fix error handling when amending some pegged order types
  • Remove order from pegged list when it becomes inactive
  • Add more panics to the core
  • Remove expiring orders when amending to non GTT
  • Add extra integration tests for uncrossing at auction end
  • Fix potential divide by 0 in position calculation
  • Add check for pegged orders impacted by order expiry
  • Remove the ability to amend a pegged order’s price
  • Add price monitoring tests for order amendment
  • Fix fee monitoring values during auction
  • Fix incorrect reference when amending pegged orders
  • Fix incorrect error codes for IOC and FOK orders during auction
  • Update price monitoring to use reference price when syncing with risk model
  • Refactor governance event subscription

0.28.0 & 0.29.0 (9 December 2020)

Note that you’ll see a lot of changes related to Pegged Orders and Liquidity Commitments. These are still in testing, so these two types cannot currently be used in Testnet.


  • API: Add REST governance endpoints
  • API: Add price monitoring bounds to the market data API - REST, GraphQL, gRPC
  • Implement amends for pegged orders
  • Calculate market target stake
  • Replace inappropriate wording in the codebase
  • Implement proposal to update network parameters
  • Integrate the liquidity engine into the market
  • Use the Ethereum block log index to de-duplicate Ethereum transactions
  • Update ERC20 token and bridges ABIs
  • Add instruction to debug integration tests with DLV


  • API: Fix a GraphQL enum conversion
  • API: Handle missing error conversion in GraphQL API
  • API: Fix a typo in market price monitoring parameters API
  • Fix cancellation of pegged orders
  • Fix panic in execution engine when GFN order are submitted at auction start
  • Fix pegged order creating duplicated order events
  • Prevent the node to DDOS the Ethereum node when lots of deposits happen
  • Fix indicative price and volume calculation
  • Change governance minimum proposer balance to be a minimum amount of token instead of a factor of the total supply
  • Fix spelling in a network parameter
  • Fix panic when uncrossing auction
  • Fix price monitoring by feeding it the uncrossing price at end of opening auction
  • Fix a bug related to order being sorted by creating time in the matching engine price levels

0.27.0 (9 November 2020)

This release contains a fix (read: large reduction in memory use) around auction modes with particularly large order books that caused slow block times when handling orders placed during an opening auction. It also contains a lot of internal work related to the liquidity provision mechanics.


  • API (breaking change): MarketData now uses RFC339 formatted times, not seconds - REST, GraphQL, gRPC
  • API: Create liquidity measurement API (This API is still WIP)
  • API GraphQL: Add withdrawal and deposit events to event bus
  • Automatically create a bond account for liquidity providers
  • Add network parameters related to target stake calculation
  • Network parameters can now contain JSON configuration


  • API: Refactor event bus event transmission
  • API: Add LiquidityProvisionSubmission transaction
  • Optimise memory usage when building cumulative price levels
  • Fix indicative price calculation
  • Improve command line for rate limiting in faucet and wallet
  • Remove reference to external risk model
  • Fix panic when loading an invalid genesis configuration
  • Fix pointer when using amend in place
  • Remove context from struct that didn’t need it
  • Remove unused code
  • Improve validation of external resources
  • Upgrade to Tendermint 0.33.8

0.26.1 (26 October 2020)

The events API added in 0.25.0 had some reliability issues when a large volume of events were being emitted. This release addresses that in two ways: The gRPC event stream now takes a parameter that sets a batch size. A client will receive the events when the batch limit is hit. GraphQL is now limited to one event type per subscription, and we also removed the ALL event type as an option. This was due to the GraphQL gateway layer taking too long to process the full event stream, leading to sporadic disconnections.

These two fixes combined make both the gRPC and GraphQL streams much more reliable under reasonably heavy load. The release also adds some performance improvements to the way the core processes Tendermint events, some documentation improvements, and some additional debug tools.

This release also includes a number of issues discovered during the testing of 0.26.0, and the two releases were packaged together.


  • API (breaking change): Change estimateFee to estimateOrder in GraphQL
  • API (breaking change): GraphQL: Event bus API - remove ALL type & limit subscription to one event type
  • API (breaking change): Add batching support to stream subscribers
  • API: Add fee estimate API endpoints to remaining APIs


  • API: Further reliability fixes for the event bus
  • API REST: Fix a crasher when a market is proposed without specifying auction times
  • API GraphQL: Improve response when market does not exist
  • API GraphQL: Improve response when party does not exist
  • API: Optimise event bus to reduce CPU usage
  • API: Event stream - Send batches instead of single events
  • API: Event stream - Reduce CPU load, depending on batch size
  • API GraphQL: Make event stream batch size mandatory
  • API: Event stream: Fix CPU spinning after stream close
  • API GraphQL: Add price monitoring
  • API GraphQL: Fix a resolver error when markets are in auction mode
  • API GraphQL: Remove unnecessary validations
  • API GraphQL: Update library; improve error responses
  • API REST: Fix HTTP verb for network parameters query
  • API GraphQL: Remove verbose logging
  • Documentation: Improve documentation for fee estimate endpoint
  • Documentation: Improve documentation for governance data endpoints
  • Documentation: Add documentation and comments for events.proto
  • Fix incorrect error returned when a trader places an order in an asset that they have no collateral account for (was InvalidPartyID, now InsufficientAssetBalance)
  • Add Price Monitoring module
  • Add new market depth subscription methods
  • Improve error messages for Good For Auction/Good For Normal rejections
  • Add validation for GFA/GFN orders
  • Implement app state hash
  • Add validation for market proposal risk parameters
  • Add transaction replay protection
  • Cache transactions already seen by checkTX
  • Add test covering context cancellation mid data-sending
  • Internal refactor of network parameter storage
  • Rewrite vegastream to use the event bus
  • Fix context for events, add block hash and event ID
  • Add ABCI event recorder
  • Ensure event slices cannot be empty
  • Handle filled orders in the market depth service before new orders are added
  • CI: Add missing environment variables
  • Use cached transactions in checkTX
  • Optimise accounts map accesses
  • Fix sequence ID related to market OnChainTimeUpdate
  • Update coding style doc with info on log levels
  • Fix out of bounds index crash
  • Add mutex to protect map access
  • Auctions: Reject IOC/FOK orders
  • Tidy up genesis market instantiation
  • Update Tendermint stats less frequently for Vega stats API endpoint
  • Auctions: Add fix for crash during auction exit
  • Make the price level wash trade check configurable
  • Use EmitDefaults on jsonpb.Marshaler
  • Validate amend orders with GFN and GFA
  • Return a permission denied error for a non-allowlisted public key
  • Undo accidental code removal
  • Auctions: Add check for opening auction duration during market creation

0.25.1 (15 October 2020)

This release backports two fixes from the forthcoming 0.26.0 release.


  • API: Add missing /governance/prepare/vote REST endpoint
  • Update OrderEvent to copy by value

0.25.0 (30 September 2020)

This release adds the event bus API, allowing for much greater introspection in to the operation of a node. We’ve also re-enabled the order amends API, as well as a long list of fixes.


  • API: Add GraphQL event stream API
  • API: Add deposits API
  • API: Re-enable order amend API
  • Enable opening auctions
  • Initial asset list is now loaded from genesis configuration, not external configuration
  • Re-enable TX rate limit by party ID
  • Add time to position responses


  • API GraphQL (breaking change): Field case change proposalId -> proposalID
  • API GraphQL (breaking change): Withdrawals now return a Party, not a party ID
  • API GraphQL: fix proposal rejection enum
  • API GRPC: Ensure all GRPC endpoints use real time, not Vega time
  • API: Reduce log noise from statistics endpoint
  • API: Fix a concurrent map access in positions API
  • API: Fix incorrect order count in Market Depth API
  • API: Fix concurrent map access in Market Depth API
  • API GraphQL: Fix party filtering for event bus API
  • API: Add sequence ID to event bus events
  • API GraphQL: Fix auction events not appearing in GraphQL event bus
  • Fix time validation for proposals when all times are the same
  • Automatically reload node configuration
  • Refactor order service to not require blockchain client
  • Improve error clarity for invalid proposals
  • Refactor processor to no longer require collateral
  • Clean up logs that dumped raw bytes
  • Remove generate method from execution engine
  • Remove authEnabled setting
  • Simply order amendment logging
  • Clarify fees attribution in transfers
  • Ensure margin is released immediately, not on next mark to market
  • Load log level in processor app
  • Improve logging on a TX with an invalid signature
  • Refactor transaction codec
  • Prevent opening auctions from closing early
  • Clear potential position properly when an order is cancelled for self trading
  • Fixing incorrect order iteration in auctions
  • Check auction times
  • Better handling of 0 expiresAt

0.24.0 (14 September 2020)

One new API endpoint allows cancelling multiple orders simultaneously, either all orders by market, a single order in a specific market, or just all open orders.

Other than that it’s mainly bugfixes, many of which fix subtly incorrect API output.


  • Support for cancelling multiple orders at once
  • Add per-party rate-limit of 50 requests over 3 blocks


  • API GraphQL: Add Governance proposal metadata
  • API: Fix crashed in event bus
  • API: Fix a rounding error in the output of Positions API
  • API gRPC: Fetch all accounts for a market did not return all accounts
  • API: Prevent wasteful event bus subscriptions
  • API: Ensure events in the event bus maintain their order
  • API: Fix API returning incorrectly formatted orders when a party has no collateral
  • Documentation: Improve API documentation
  • Send Infrastructure fees to the correct account
  • Prevent creation of withdrawal requests for more than the available balance

0.23.1 and 0.23.00 (31 August 2020)

This release contains a lot of groundwork for Fees and Auction mode, and release backports a fix from the 0.24.0 release that fixes a GraphQL issue with the new Asset type. When fetching the Assets from the top level, all the details came through. When fetching them as a nested property, only the ID was filled in. This is now fixed.

Fees are incurred on every trade on Vega. Those fees are divided between up to three recipient types, but traders will only see one collective fee charged. The fees reward liquidity providers, infrastructure providers and market makers.

  • The liquidity portion of the fee is paid to market makers for providing liquidity, and is transferred to the market-maker fee pool for the market.
  • The infrastructure portion of the fee, which is paid to validators as a reward for running the infrastructure of the network, is transferred to the infrastructure fee pool for that asset. It is then periodically distributed to the validators.
  • The maker portion of the fee is transferred to the non-aggressive, or passive party in the trade (the maker, as opposed to the taker).

Auction mode is not enabled in this release, but the work is nearly complete for Opening Auctions on new markets.

This release disables order amends. The team uncovered an issue in the Market Depth API output that is caused by order amends, so rather than give incorrect output, we’ve temporarily disabled the amendment of orders. They will return when the Market Depth API is fixed. For now, amends will return an error.


  • API (breaking change): Disable order amends
  • API: Add built in asset faucet endpoint
  • API: Add time & size limits to faucet requests
  • API REST: Add REST endpoint to fetch governance proposals by Party
  • API REST: Add REST endpoints for fees
  • API: Add prepareWithdraw endpoint


  • API GraphQL: Fix for fetching assets as nested properties
  • API GraphQL: Send KeepAlive messages on GraphQL subscriptions
  • API GraphQL: Remove deprecated field from GraphQL input types (as it’s invalid)
  • API: Track Event Queue events to avoid processing events from other chains twice
  • API: Add proto fields required for auctions
  • Documentation: Add documentation for Order Errors to proto source files
  • Fix Network orders being left as active
  • Add auction mode (currently never triggered)
  • Add Opening Auctions support to market framework
  • Add fees support
  • Fix rejectionReason for trades stopped for self trading
  • Remove specified tickSize from market
  • Fix validation of proposal timestamps to ensure that date stamps specify events in the correct order

0.22.0 (4 August 2020)

This release primarily focuses on setting up Vega nodes to deal correctly with events sourced from other chains, working towards bridging assets from Ethereum. This includes responding to asset events from Ethereum, and support for validator nodes notarising asset movements and proposals.

It also contains a lot of bug fixes and improvements, primarily around an internal refactor to using an event bus to communicate between packages. Also included are some corrections for order statuses that were incorrectly being reported or left outdated on the APIs.


  • API: Implement handling of external chain events from the Event Queue
  • API: Add new Notary package for tracking multisig decisions for governance
  • Add support for two-step governance processes such as asset proposals
  • Support ERC20 deposits
  • Add OpenInterest field to markets
  • Add RejectionReason field to rejected governance proposals


  • API REST (breaking change): Update orders endpoints to use POST, not PUT or DELETE
  • API GraphQL (breaking change): Some endpoints returned a nullable array of Strings. Now they return an array of nullable strings
  • API GraphQL & GRPC (breaking change): Remove broken open parameter from Orders endpoints. It returned ambiguous results
  • API (breaking change): Fix outdated order details for orders amended by cancel-and-replace
  • API (breaking change): Fix incorrect status on partially filled trades that would have matched with another order by the same user. Was stopped, now rejected
  • API REST & GraphQL (breaking change): Market name is now based on the instrument name rather than being set separately
  • API: Migrate Margin package to event bus
  • API: Migrate Governance package to event bus
  • API: Migrate Position package to event bus
  • API GraphQL: Orders now include their version and updatedAt, which are useful when dealing with amended orders
  • API: Remove single mutex in event bus
  • API: Add mutexes for event bus access
  • API: Fix context for event subscribers
  • API: Address event bus performance issues
  • API: Fix regressions in Candles API introduced by event bus
  • API GraphQL: Add new asset proposals to GraphQL API
  • Documentation: Improve Order documentation for Status and TimeInForce
  • Fix concurrent map access in event forward
  • Fix expiresAt on orders was validated at submission time, this has been moved to post-chain validation
  • Improve event broker performance
  • Improve handling for new chain connection proposal
  • Validate list of allowed assets

0.21.1 & 0.20.1 (22 June 2020)

This release includes a fix for the GraphQL API returning inconsistent values for the side field on orders, leading to Vega Console failing to submit orders. As a bonus there is another GraphQL improvement, and two fixes that return more correct values for filled network orders and expired orders. This release also fixes one small bug that was causing many closed streams, which was a problem for API clients. This release also contains a lot of fixes to APIs, and a minor new addition to the statistics endpoint. Potentially breaking changes are now labelled with (breaking change.) If you have implemented a client that fetches candles, places orders or amends orders, please check below.


  • API (breaking change): Start adding TraceId to core events
  • API: ChainId added to statistics endpoint


  • API GraphQL (breaking change): Non existent parties no longer return a GraphQL error
  • API GraphQL (breaking change): Update schema and fix enum mappings from Proto
  • API (breaking change): Governance - Improve processing of Proposals
  • API (breaking change): Improve API responses for GetProposalById
  • API (breaking change): New Order - Type no longer defaults to LIMIT orders
  • API (breaking change): PrepareAmend no longer accepts expiry time
  • API (breaking change): Add proto enum zero value “unspecified” to Side
  • API (breaking change): Candles - Interval no longer defaults to 1 minute
  • API (breaking change): Add proto enum zero value “unspecified” to Order.Status
  • API (breaking change): Add prefixes to enums, add proto zero value “unspecified” to Trade.Type
  • API (breaking change): Add prefix and UNSPECIFIED to ChainStatus, AccountType, TransferType
  • API: Reject NETWORK orders
  • API GraphQL: Fix incorrect timestamps for proposals retrieved by GraphQL
  • API: Add proto enum zero value “unspecified” to Interval
  • Remove duplicate updates to createdAt
  • Trades - Replace buffer with events
  • Governance - Improve logging
  • Execution - Set order status for fully filled network orders to be FILLED
  • Matching - Set updatedAt when orders expire
  • Update Golang to 1.14 and Tendermint to 0.33.5
  • Set PartyEvent type to party event
  • Extend governance error handling
  • Mark Price was not always correctly updated on a partial fill
  • Feature/1577 hash context propagation
  • Orders amended to be GTT now return GTT in the response
  • Votes blob is now base64 encoded
  • Markets created from proposals now have the same ID as the proposal that created them
  • Added datetime to governance votes
  • Fix a bug in governance vote counting
  • Fix incorrect validation on new orders
  • Fix incorrect party ID validation on new orders
  • Fix issue where markets created via governance were not tradable
  • Create
  • Feature/1692 order event
  • Feature/1697 account event
  • Check for unspecified Vote value
  • Feature/1696 party event

0.19.0 (8 June 2020)

This release fixes a handful of bugs, primarily around order amends and new market governance proposals.


  • API: Add timestamps to proposal API responses
  • Add margin checks to amends
  • Add topology package to map Validator nodes to Vega keypairs


  • Fix a case where a party can cancel another party’s orders
  • Start moving to event-based architecture internally
  • Fix order expiry handling when expiresAt is amended
  • Fix participation stake to have a maximum of 100%
  • Update gqlgen dependency to 0.11.3
  • Remove ID from market proposal input
  • prepareProposal no longer returns an ID on market proposals
  • Allow overriding default governance parameters via ldflags.
  • Compile testing binary with short-lived governance periods

0.18.1 & 0.18.0 (25 May 2020)


  • API GraphQL: Add a default GraphQL query complexity limit of 5. Currently configured to 17 on testnet to support Console.
  • API GraphQL: Add GraphQL queries for governance proposals
  • Add builds for multiple architectures to GitHub releases


  • Fix GitHub artefact upload CI configuration
  • Fix amends triggering multiple updates to the same order
  • Hex encode keys

0.17.0 (11 May 2020)

This release contains the initial partial implementation of Governance. This will be finished and documented in 0.18.0.


  • API GraphQL: Add root GraphQL Orders query.
  • API GraphQL: Add GraphQL query to list all known parties.
  • API: Remove party list from stats endpoint.
  • Add updatedAt field to orders.


  • API GraphQL: Return full Market details in nested GraphQL queries.
  • Flush orders before trades. This fixes a rare scenario where a trade can be available through the API, but not the order that triggered it.
  • Fix OrdersByMarket and OrdersByParty ‘Open’ parameter.
  • Fix Orders by the same party matching.

0.16.2 & 0.16.1 (16 April 2020)


  • Improve error handling in Prepare*Order requests.
  • Prevent bad ED25519 key length causing node panic.

0.16.0 (16 March 2020)

The new authentication service is in place. The existing authentication service is now deprecated and will be removed in the next release.


  • API GraphQL: Change Buyer and Seller properties on Trades from string to Party.
  • API: Show trades resulting from Orders created by the network (for example close outs) in the API.
  • API: Add protobuf validators to API requests.
  • Documentation: Remove NotifyTraderAccount from API documentation.
  • Add lastMarketPrice settlement.
  • Fix casing of Order parameter timeInForce.
  • Add new order statuses, Rejected and PartiallyFilled.
  • Pin Market IDs to fixed values.
  • Fix a flaky integration test.
  • Improve matching engine coverage.
  • Improve collateral engine test coverage.

Vega Console releases

0.59.0 (19 July 2021)


  • Persist chart state (studies, overlays) in IndexedDB
  • Update feedback text when copying chart image to clipboard
  • Rate limit the estimate order query so we don’t make too many requests while the order state is being updated
  • Add a missing mock for a test to clear test logging
  • Consolidate logic for order cancellation so that the code is more easily shared across different components
  • Improve order types for the deal ticket
  • Improve code coverage for ag-grid tables
  • Tidy up order submission test
  • Improve messaging when tables don’t have data to display
  • Add a client-only field for proposal names
  • Add a component to show epoch information, this won’t be used until the staking UI is implemented
  • Refactors date formatting into a single place for consistency and code re-usability


  • Fix a problem where we weren’t checking that data was returned for market queries in some components
  • Fix an issue where the liquidity provisions table when displayed in a modal had the wrong width
  • Fix a problem where a user was shown the wrong UI after approving deposits, preventing them from being able to deposit
  • Fix a problem where copying a chart image wasn’t working
  • Fix the UI to show the correct state if a user cancels a deposit or withdrawal transaction
  • Fix the font in ag-grid tables
  • Fix an issue where the table UI was flickering when data changed

0.58.0 (5 July 2021)


  • Add tests for market modal
  • Add tests for chart annotations
  • Do not show LP orders in orders list for better performance
  • Add market list grid view
  • View library more responsive for smaller screen sizes
  • Remove inactive markets from workspace creation drop down
  • Adds tests for grid cell renderers
  • Fix market order showing 2 notifications when rejected
  • Move proposals under network settings in view library

0.57.0 (29 June 2021)


  • Add the trade list to the default workspace
  • Change market list component name back to ‘futures’
  • Refactor to ensure party related subscriptions are always active and don’t depend on windows being present
  • Replace table implementations with Ag-Grid tables
  • Refactor how we manage orders in Vega Console by generating a deterministic ID on the client that is unique enough until we can provide real IDs directly to the core
  • Persist chart state in IndexedDB so that if you’ve selected studies or overlays they will be automatically set on load
  • Change ‘No alias’ to ‘Vega key’ for keys which don’t have an alias set
  • Refactors Web3 functionality so as not to use deprecated methods and to improve overall readability of the Web3 code
  • Update golden layout version to get some fixes that allow us to persist chart state
  • Add a guard against capturing unnecessary errors in Sentry when making withdraws or deposits
  • Clean up some dead code
  • Update window settings to allow each window to have specific settings, whilst still providing a way to change the window


  • Fix an issue where Vega Console was assuming it always received data from positions and order queries in the chart data source
  • Stop capturing a Sentry message for when users authentication tokens expire
  • Fix an issue where the estimate order query was getting invalid input data causing the query to error
  • Fix an error if a user selected the initial default ‘Please select’ option in the asset drop down.
  • Fix an issue where titles weren’t being shown in the headers of modal windows

0.56.1 (14 June 2021)


  • Change where Vega Console says ‘contracts’ to ‘futures’


  • Fix bugs in the flash cell component
  • Change flow to go back to wallet key view after alias changed
  • Performance increase, windows rendering too frequently
  • Fix wrong modal being added to workspace when navigating to second modal (e.g. liquidity provisions)
  • Remove order time tracking
  • Add coverage gating
  • Improve proposal container
  • Fix null reference error in some cases on proposals

0.55.0 (4 June 2021)


  • Remove old chart code that is no longer used
  • Add proposals and assets to search results
  • Remove prompt for fake assets
  • Add code splitting for each window
  • Add descriptions for windows
  • Show slippage percentage and volume weighted average price in the deal ticket
  • Align auction price info in the market detail view


  • Fix some styles in the wallet drawer
  • Fix GTT order fee estimates
  • Add test coverage to ensure window title is always set
  • Do not show disabled view in view library

0.54.2 (27 May 2021)


  • Handle null proposals coming back from API
  • Better error messages in proposal form
  • Prompt user to deposit if they do not have an account for an asset
  • Sort workspaces from oldest to newest (left to right)
  • Fix flaky test
  • Fix orders & positions being persisted when switching keys
  • Disable deposit buttons for fake assets on asset details
  • Show market spark lines when market is in auction
  • Fix views being in pick mode when adding new workspace
  • Fix workspace changes not being saved & search not bringing up proposals
  • Upgrade Pennant
  • Copy fixes for Profit & Loss & pick a view
  • Prevent “please select” from causing error in deposit modal

0.53.0 (24 May 2021)


  • Add a prompt to deposit tVOTE tokens if the user doesn’t have any
  • Update Pennant so we get new chart splitting functionality
  • New UI to make discovering different views easier and quicker
  • Add a prompt to connect your wallet if you’re viewing a window which requires it
  • Add estimated margin to the deal ticket, removing logic for showing 0 fees if the order would be a maker and not a taker


  • Fix a visual bug where the liquidity provisions link in the market detail view was not aligned properly
  • Fix alignment of the wallet header title

0.52.0 (20 May 2021)


  • Fix estimate order being called with size of nothing
  • Fix flaky test
  • Remove unnecessary subscription
  • Prompt to deposit from collateral view
  • Liquidity provision deal ticket

0.51.0 (18 May 2021)


  • Update Pennant to the latest version
  • Different sentry capture logic in error link
  • Add single key view in deposits drawer

0.50.0 (17 May 2021)


  • Update schema
  • Internationalise Pennant view strings

0.49.0 (17 May 2021)


  • Change flash cell component to use the web animation API to improve performance
  • New interface for creating additional keys in a Vega wallet
  • Changes to accommodate API changes in core

0.48.0 (11 May 2021)


  • Add fees estimations for the deal ticket
  • Bump Pennant version and supporting fixes
  • New feature allowing you to set an alias for a public key
  • Copy changes in introduction view
  • Align number cells by the decimal place for easier price comparison
  • Add estimated fees to deal ticket

0.47.2 (6 May 2021)

Nice mix in this release! Along with several smaller bug fixes and improvements we’ve made changes to the deposit flow to provide better feedback, provided better feedback about your profit and loss values with regard to fees, and added icons to indicate what network you are connected to in the header, with some extra colour for Fairground!


  • Redirect to
  • Update link in sign message for Fairground
  • Update the introduction view with new content to support Fairground
  • Update Pennant to the latest version
  • Make percentage cells use 5 decimals by default
  • Refactor the deposit and withdrawal flow to use the Ethereum configuration provided by the network parameters rather than hard coded values
  • Add a warning about how fees aren’t currently included in your PNL values in the positions view
  • Filter out margin accounts with a 0 balance from the collateral view
  • Add a different icon in the header depending on what network you are connected to, and we now have a styled yellow header to align with Fairground branding
  • Remove use of the GraphQL function from graphql-tag and instead uses the @apollo/client version.
  • Add proper labels for the network parameter values
  • Persist deal ticket state on a per market basis (as well as per window) so that sensible default values are used if you have already traded on that market
  • Add a link in the wallet drawer footer which allows you open the sign transaction view
  • Improve feedback for approving deposits into Vega
  • Add price monitoring settings and liquidity monitoring parameters to the market detail view


  • Resolve a long standing issue where sometimes a full reset (delete localStorage and indexedDB data) would not work
  • Fix a problem where you were able to delete your last workspace, leaving you with an empty screen
  • Fix an issue where workspaces weren’t being sorted by their creation date
  • Fix broken UI for full screen errors

0.46.0 (20 April 2021)

Now that signing up for a wallet account is in Vega Console, we’ve removed a link that suggests that Discord is the easiest way to sign up for a hosted wallet. Otherwise it’s a collection of small changes.


  • View margin risk overview from the collateral view
  • Improve test data generation
  • Remove Discord link from log in / create account screen
  • Percentage cell now flashes on change

Bug fixes

  • Fix size display in various views
  • Improve error messaging when using an old local wallet with Sign Message
  • Add tests for percentage cell view

0.45.0 & 0.44.0 (14 April 2021)


  • Add Liquidity and Price Monitoring details to Market Details
  • Allow deep linking to specific modals
  • Make scrollbars styling
  • Enable chart changes behind a feature flag
  • On first load, Console no longer creates workspaces for every market
  • Include pending markets in Futures view
  • Improve loading screen
  • Liquidity provisions view now correctly renders some columns as percentages

Bug fixes

  • Fix chart control CSS
  • Change modal URL parameter to view
  • Fix mid price not updating in Market Details view
  • Replace crypto with uuid
  • Fix chart borders when market is displayed in a modal
  • No longer notify for every update due to an LP commitment
  • Improve error handling in Proposals view
  • Refactor how wallet drawer handles URLs

0.43.0 (31 March 2021)


  • Refactor PriceCell component so that how prices are displayed is more consistent
  • Allow users to create their own account on the local or hosted wallet via Console
  • Add a button so that a user can tweet their arbitrarily signed message

Bug fixes

  • Fix a test for the collateral view that would sporadically fail
  • Fix an issue where Console wasn’t detecting the chain ID correctly for non MetaMask providers.

0.42.0 (30 March 2021)

This release contains a collection of small fixes.


  • Link to documentation when unable connect to wallet
  • Update GraphQL schema
  • Deposit & Withdraw views can now be placed in a workspace

Bug fixes

  • Deposit & Withdrawal now only list ERC20 assets
  • Signing utility now shows the base64 signature
  • Liquidity provision view number formatting fixed
  • Proposals view now updates when the current user votes
  • Fix Full Reset button
  • Hide full screen button if it is not supported in the browser

0.41.1 (18 March 2021)


  • Fix vote counting in proposal view
  • Improve handling of incorrect Ethereum network

0.41.0 (17 March 2021)

In this release, you can explore the Collateral view in more detail - seeing all of the accounts for each asset you have. This is useful for checking how much is held for margin, or the balances locked for withdrawal.


  • Add extra details in liquidity provisions view
  • Add expandable details in collateral view

Bug fixes

  • Fix logic for disabling or enabling withdrawal button
  • Fix display of Use Maximum link in deposit form
  • Update GraphQL schema
  • Add more tests for withdrawals

0.40.3 & 0.40.2 (4 March 2021)

Responsive charts! Now when you resize the market view, the price chart will expand to fill available space. We’ve also polished up the futures view and added liquidity parameter information.

Finally, we’ve been hardening up deposits by fixing a couple important bugs and a few smaller edge cases.


  • Sparklines now grow and shrink depending on surrounding width
  • Market detail view has had some minor design changes and liquidity parameters are now displayed

Bug fixes

  • Fixes an issue where Vega Console indicated you already approved deposits for a given asset when actually you hadn’t. Also prevents submitting deposits when you don’t have enough balance
  • Additional checks on your submitted deposit amount
  • Improve user feedback when trying to deposit 0 of an asset

0.40.0 (1 March 2021)

Withdrawals! They’re now enabled. You can withdraw your assets from Vega back across the ERC20 bridge.

Proposals! In the distant past, we had a form tailored to proposing markets. It worked, but we weren’t happy with the workflow, so it got turned off. While we work out what it should look like, we’ve enabled a big text area which can have a JSON proposal pasted in. This isn’t an ideal solution or an end point, but it should make it easier than using the sample API scripts.


  • Add pending withdrawals component
  • Remove backwards compatibility with old asset bridge
  • Enable JSON governance proposal form

Bug fixes Fix typos in wallet messages Limit log noise caused by new workspace selector

0.39.2 (16 February 2021)

This release has a handful of small fixes for some common errors, in particular a confusing UI error when you are using a local wallet server and restart it. This caused the wallet session token stored by Console to become invalid, which it handled poorly. As of this release, instead of appearing to be logged in (and having to clear local storage to ‘log out’), you will automatically be logged out.


  • In Market list, spark lines now show closing price instead of opening

Bug fixes

  • Fix confusing login state at wallet token expiry
  • Fix occasionally empty order rejection reason tool tip
  • Redirect login process to start in certain edge cases

0.39.0 & 0.39.1 (11 February 2021)

Console doesn’t currently support placing pegged orders, but this release improves the display of pegged orders. This release also fixes some issues from a recent testing session around the display of markets that have been proposed but not enacted. Due to an API change in Vega 0.30.0, these were incorrectly shown as in Auction state, and were also shown in the Futures list. These now only appear when they are enacted, and no longer look like they’re in auction.

In the background there is also work on the asset withdrawal process. The UI isn’t currently usable on Testnet, but is making good progress.


  • Update copy: Wallet ID => Username, and fix a typo
  • Add market Code to futures list
  • Not yet enabled: Add withdrawal preparation form
  • Not yet enabled: Add list of withdrawals that are not executed
  • Pegged orders now show reference details in order type column
  • Auction end time is now correctly shown

Bug fixes

  • Disable repeat notifications for pegged order price moves
  • Fix markets in proposal state displaying as in auction

0.38.0 (2 February 2021)

Along with various minor fixes, this release includes a rework of the workspace manager. Instead of tucking your workspaces away in a drop down, we now expose them in the main navigation, with the aim of improving market discoverability and making it easier to switch between them. To complement this we’ve also added the current workspace name to the document title, so if you have multiple tabs open it’ll be easier to find the workspace you are looking for.


  • Disable vote buttons if you don’t have any tVOTE tokens
  • Show a more helpful message if you are using a browser that doesn’t support web3 when trying to make a deposit
  • Adds a createdAt field to workspace objects so we can sort them in a useful way
  • Changes the workspace drop down to display as many workspaces as can fit in the top navigation. This helps to make different markets more discoverable
  • Sets the current workspace title and the current network in the document title

Bug fixes

  • Fix an issue by filtering out null market objects if they are returned by core
  • Converts auction end times from nanoseconds to milliseconds before formatting
  • Fixes an issue where tables would have their columns completely collapsed when dropping them into a workspace from a modal.

0.37.0 (25 January 2021)

This release has a lot of improvements around the Ethereum bridge and wallet workflow. This should be a lot more robust now, as we added error handling for a lot of states in MetaMask that weren’t previously handled well.

Previously, we didn’t use the browser’s address bar for anything. Entering the testnet address loaded Console and that was that. Now, as you move through the wallet stages, you’ll notice the URL changing. While it sounds like a small change, it’s a powerful one - now we can provide deep links to, for example, deposit a specific asset, or just load Console up with the wallet already open, if you’re running a local wallet. This will be expanded in future to include deep links for specific markets. Let us know if there are other views you want to open directly.

Network parameters are configuration values for the Vega network that can be changed via governance. An example is the fees paid on orders - the way this is split up can be changed through a governance vote. Previously there was no way to see these in Console, whereas now the full list and their current values appear in the Network panel.


  • Add URL routing to wallet pages
  • Switch to bignumber library for handling numbers
  • Display network parameters & their current values in the Network view
  • Wallet drawer now closes when you switch key
  • New clearer success state when a deposit completes
  • Add link to Deposit workflow from asset detail view
  • Change wallet view to always show deposit button. Previously it only showed if you had no balance.

Bug fixes

  • Fix mistaken subscription for ALL orders/positions if you are not logged in
  • Fix margin indicator appearing mostly off screen if opened at the screen edge
  • Fix position view to tolerate empty fields better, fixing frequent ‘GraphQL Error’ messages in that view
  • Update market list view to show a - in some fields when a market is in auction
  • Update translation strings in Deposit workflow
  • Improve error handling around web3 connection
  • Disable order submission if you do not have collateral
  • Fix sorting in market list - now it is a to z, consistently
  • Update GraphQL schema to match Vega 0.30.0
  • Remove deprecated feature flags

0.36.4 & 0.36.5 (17 December 2020)

  • Fixes an issue where you were being subscribed to all accounts, if you didn’t have a public key
  • Fixes the initial deposit requiring a refresh to be visible. A subscription was not started until a key had collateral. Now it is.

0.36.3 (15 December 2020)

A previous fix created an issue in the deal ticket which could fail to load due to different fields being selected in Market query on that object. The result was that the deal ticket displayed a spinner forever. Now it doesn’t.

0.36.1 (9 December 2020)

  • Fixes an issue where we are not able to store the current workspace ID because the object store hasn’t been created for users who have already visited the app.

0.36.0 (9 December 2020)


  • Replaces propose market form with a simpler form which allows you to propose with a raw JSON object.
  • Provides a prompt for the user to connect to Console using the reverse proxy if they are trying to connect from http to https
  • Improves display of the deposit flow by not rendering the faucet title whilst a faucet transaction is in progress.
  • Adds a link to the release notes in the Introduction view.
  • Removes duplicated approved amount information during the deposit flow.
  • Adds client side validation for the deposit amount.
  • Stores the currently selected workspace in IndexedDB so that your current workspace is persisted even if you refresh the page.
  • Changes to use the instrument code rather than the instrument name where applicable.

Bug fixes

  • Fixes a problem where the order book wasn’t rendering its buy and sell sides independently of each other. If one side had no data the entire book wouldn’t render.
  • Fixes some display issues that were introduced in a previous release

0.35.0 (3 December 2020)


  • Replaces the pending text in the order list with a spinner
  • Adds Etherscan link component
  • Fixes a text wrapping issue in the wallet drawer title by truncating the wallet name and ID
  • Improves the approval and deposit transaction feedback
  • Adds a link to Etherscan in the asset detail view, and renames asset source to token contract
  • Handles display in wallet when you have 0 balance. Adds links to Ropsten and asset faucet
  • Fixes a punctuation typo in the vote date time
  • Adds a new Intro view, which is shown in the default workspace
  • Refactors the wallet so that the wallet status is always shown
  • Adds a prompt to make a deposit if you don’t have collateral
  • New default workspace
  • Removes propose button from proposal list
  • Adds better error messaging to login form
  • Fetches initial markets from the REST API to build initial workspaces
  • Changes to the wallet login flow
  • Bespoke non-ideal messages for the party component
  • Adds asset info the market detail view
  • Update token contract ABI and bridge contract ABI
  • Update token contract ABI and bridge contract ABI
  • Remove spell check, capitalise and autocorrect attributes from wallet ID input
  • Improve wallet typography
  • Removes hard coded token descriptions

Bug fixes

  • Fixes the market component so that a non ideal window is rendered when the market doesn’t exist
  • Makes market from search layout match the default market layout
  • Makes deposit go to selected key in wallet, not your globally selected key
  • Fixes issue where your balance wouldn’t update in the wallet drawer

0.34.3 (13 November 2020)

Introduces an environment variable to point the deposit interface at different bridge smart contracts. This allows consoles to be configured to deposit to Vega networks pointed at different Ethereum bridges.


  • Improve Good For Auction order rejection message
  • Make Vega Bridge contract address configurable through environment variable

0.34.2 (12 November 2020)

Released primarily to update the nodes that the environment connects to. Also brings along with it a lot of dependency updates and some minor usability improvements.


  • Remove nicenet network, add load balancer to ‘testnet’
  • Update build packages
  • Remove deprecated basename field from markets, ready for Vega 0.38.0
  • Fix obvious search terms not showing correct components

Bug fixes

  • Improve error message when trying to trade with a tainted key
  • Fix Market Proposal form showing an error after proposal in some situations

0.34.1 (30 October 2020)

  • Fix assets with the same name but different IDs from being grouped in the assets view

0.34.0 (30 October 2020)

A collection of small usability fixes. You can now change your vote on a proposal - only your last vote counts, but you can now use Console to change your mind up until voting closes on any proposal. Auction mode is also handled better in market list view, and the header acts much better on smaller screens.


  • Improve resizing of header bar on smaller screens
  • Show a ‘Pending’ state after using Close Position button
  • Always prefix positive open volume with +
  • Render Vote buttons in Proposal details view & enable vote change button
  • Markets in auction mode no longer render irrelevant columns in market lists
  • Asset deposits now confirmed via event bus subscription

Bug fixes

  • Fix spread rendering for auctions
  • Make order book chart scaling consistent
  • Add openingAuctionDuration to market proposal form
  • Handle null market responses

0.33.2 (17 October 2020)

Fix a bug whereby opening a deal ticket by clicking on a price in the order book could result in an order being submitted at an unexpected price, if the price had a comma in it.

0.33.1 (16 October 2020)

0.33.0 bought along compatibility with Vega 0.26.0, which unfortunately broke compatibility with 0.25.1. This release removes the offending field (specifically showing network parameter change proposals) until core 0.26.0 is released.

0.33.0 (16 October 2020)

One of our most requested features (after fewer scrollbars) makes its debut this release - a new button in the Positions window lets you close out a position in one click. There’s also more work around bridged assets and a host of bug fixes, including quite a few around the Proposals list.

Along with those, this release enables the Proposal list and Proposal details views on Testnet. There is not currently a UI for creating proposals enabled, but it’s possible via the APIs.


  • Add asset detail view
  • Make KeyValueTable more semantically correct
  • Add Etherscan link to ERC20 transactions
  • Deposit/Withdraw max uses wallet balance
  • Add Trading Volume to market details view
  • Add Close Position button
  • Add block height to error overlay

Bug fixes

  • Fix occasional ‘Undefined market’ ideal ticket
  • Improve spacing around all views
  • Fix Apollo invariant violation
  • Improve button styling
  • Fix multiple proposals showing the wrong title
  • Update error logging to never log debug messages
  • Use the word parameters instead of params
  • Migrate from UpdateNetwork to UpdateNetworkParameter in proposals query
  • Reduce network requests in Proposals panel

0.32.0 (30 September 2020)

Compatibility release for 0.25.0, released for ETHOnline


  • Add basic web3 support

Bug fixes

  • Remove cumulativeVolume, calculate it locally
  • Text fix around token information
  • Adjust drawer size

0.31.9 (14 September 2020)

Release required to make 0.31.8 compatible with an older version of core that doesn’t have the Auction state fields on market data.

0.31.8 (14 September 2020)

  • Shows an auction icon in the positions and order list if market is in auction mode
  • Shows an auction icon if next to the market name in the market list if in auction mode

0.31.7 (11 September 2020)

More fixes. This time, fixing a bug with the collateral view for users that had traded in multiple markets with the same base asset.

  • Fix calculated Deployed value in collateral view
  • Fix incorrect key shown in asset list

0.31.6 (10 September 2020)

Another collection of small updates.

  • Fix market details view flashing periodically
  • Fix margin visualiser disappearing periodically
  • Remove Market Proposal window from search while it undergoes an update
  • Update wallet asset view
  • Fix wallet asset view

0.31.5 (2 September 2020)


  • Fixes an issue where the propose market form was losing state after an validation was triggered
  • Sorts account data alphabetically by asset symbol. This ensures both the collateral view and collateral shown in the key list is sorted consistently.
  • Shows all assets in when viewing a single key
  • Shows name and ticket in the key list and ensures they are sorted alphabetically.
  • Reverts polling for latest position data.

0.31.4 (1 September 2020)

Completes a partial update of d3 dependencies that broke candlestick chart in 0.31.3.

0.31.3 (1 September 2020)

Improves the display of fees in the market details view, and contains a few tweaks to the updated wallet flow.


  • Format fees in market details as percentages, add total fee row

Bug fixes

  • Fix bug whereby local wallet option was incorrectly displayed when DISABLE_LOCAL_WALLET was set
  • Rename ‘FX Futures’ to ‘Futures’
  • Replace ‘Onboard’ with ‘Onboarded’ in wallet flow
  • Make positions view poll periodically

0.31.2 (30 August 2020)

Typo correction.

0.31.1 (29 August 2020)

Fixes a single Safari specific bug whereby the Wallet panel would open, but be totally empty.

0.31.0 (29 August 2020)

This release contains a lot of bug fixes, and improvements for upcoming functionality - specifically deposits from other chains and governance proposals.

It also introduces a few changes to the default layouts. If you’ve experienced unclosable panels, or My Workspace not working, use the reset toggle in the settings menu to return to the defaults.


  • Add notifications on new proposals and votes
  • Replace existing Wallet menu with a new version based on Blueprint’s panel stack
  • Update default layouts to be 2 panels across the bottom, not 4
  • Remember custom column widths on tables
  • Reduce slow block sensitivity

Bug fixes

  • Remember custom column widths on tables
  • Fix incorrect asset showing in FX Futures panel
  • Fix two bugs in the default layouts that caused unclosable windows and an unusable My Workspace
  • Rename History component to Order history, to clarify what it is
  • Positions no longer show a 0 Average Entry Price when the open volume is 0
  • Fix background colour of search input field in empty windows
  • Replace ‘Key service’ with ‘Wallet’ in translation strings
  • Change slow block message

0.30.1 (17 August 2020)

Fixes an issue introduced previously where queries didn’t have the quoteName field, which is required as a fallback field if assets have been disabled.

0.30.0 (17 August 2020)

  • Feature flag for fees and assets, so Console can release more independently of core
  • Fix to ensure that Console remembers what node you were connected to even if you use the full reset checkbox
  • Adds Loglimit class to limit the number of logs Console sends to Sentry for certain errors that could happen a lot in a short space of time
  • Add a wallet service class to handle networks requests to the wallet
  • Bumped up node version to 0.14.
  • Removed an unnecessary filter condition which relied on deprecated functionality from core
  • Adds all proposals to the proposal list and handles different row titles based on what type of proposal they are
  • Fixes a reference issue in the order toast

0.29.0 (11 August 2020)

  • Changes to the updateOrders function to account for unpredictable order of orders returned by the order subscription
  • Removes depth chart from default layout
  • Replaces the OrderProvider with a NotifProvider component to handle notifications separately and generically, allowing us to create other types of notifications
  • Removes use of reference field as the identifier field for orders, which fixed issues when using a script to place orders
  • Changes to accommodate the new asset API
  • Change updateOrder function to ensure no stale orders

0.28.0 (10 August 2020)

  • Uses the average block time values and reduces the threshold for displaying the slow block time message
  • Adds proper usage of the governance feature flag, so that proposing markets and viewing proposals isn’t available on Testnet

0.27.2 (31 July 2020)

  • Removes market proposals from search whilst Console waits for APIs to settle
  • Adjust form CSS so text input is visible in key manager drawer

0.27.1 (29 July 2020)

  • Removes fees from the market detail view

0.27.0 (27 July 2020)


  • Log a message in Sentry if an order is left hanging
  • Added fees and open interest to info in the market details component
  • Avoid logging to Sentry if Vega is down
  • Add vote buttons for a proposal view
  • New design for a non ideal window, and an error overlay component
  • Connection status new design

Bug fixes

  • Fix various typos and improvements
  • Fixes an issue where changing public key wasn’t clearing your list of positions

0.26.0 (18 June 2020)

Changes to accommodate updates made to the core schema.graphql, which renamed certain enum values. For example OrderStatus.STATUS_ACTIV was reverted back to OrderStatus.Active. Also minParticipationStake was removed from the ProposalTerms type.

0.25.0 (18 June 2020)

This release contains various fixes, and updates Console to be compatible with widespread but otherwise minor API changes in Vega core version 0.20.0.

Bug fixes

  • Connection status bar would not show up when the block height stalled
  • Improve behaviour when user has not selected a key
  • Trades are no longer cached, improving memory usage
  • Focuses input in a selected tab
  • Compatibility with core 0.21.0 - update many enums
  • Report more errors than before

0.24.0 & 0.24.1 (5 June 2020)

Features in this release focus on governance proposals, but they’re not visible in testnet because core governance work is not finished. Market order prices are now showing up correctly again, after changes in the API made them show as 0. Error messages displayed in Console as well as behind the scenes have also been improved.


  • Added new governance proposal details view, and you can find proposals by using the search query.
  • Updated new market proposal form by reordering fields and making the whole thing shorter, so it’s easier to use.

Bug fixes

  • Fixed incorrect title field on windows in new workspaces.
  • Fixed market order price showing as 0 in the order list.
  • Made error messages for login failures more vague, but also more correct.
  • Made font size changes for visual consistency and to tidy up the code.
  • Improve error handling so error reporting is clearer.
  • Fixes the package.json version number in 0.24.0

0.23.0 (27th May 2020)

This is a minor release to update the layouts of the default workspaces.


  • Improved single market workspace layout
  • Improved multi market workspace layout

0.22.4 (20 May 2020)

This is a patch release to fix a test that was broken in a previous release.

0.22.3 (20 May 2020)

This release brings improvements to the toast notifications added last release, and brings back the ‘Reset’ switch on the loading page if something goes wrong while loading. We hope you don’t need it, but if you do - it’s back.


  • Window settings
  • Toast notifications now stack when they happen close together
  • Improve toast labelling
  • Long public keys are now intelligently truncated

Bug fixes

  • Add network switcher to loading page
  • Various text improvements
  • The key manager drawer would sometimes list the wrong key value
  • Improve error logging
  • Logging in to a wallet with no keys will no longer cause an error

0.22.2 (5 May 2020)

This release introduces order toasts that notify you of changes and fills to orders.


  • Changes to orders status and fills to orders will show a toast message in the top left of the screen

Bug fixes

  • Subscribe functions are not memorised using useCallback to ensure that renders do not cause unsubscribing and resubscribing
  • The same as above, but specifically for the chart which needed a different implementation as it’s a class component
  • Prevents placing orders with a tainted key by disabling the buy/sell buttons

0.22.1 (30 April 2020)

This minor release fixes issues found while testing 0.22.0 & 0.21.2, primarily edge cases while handling authentication tokens with Vega Wallet.


  • The phrases ‘Workspace’ and ‘Layout’ were used inconsistently. It’s all ‘Workspace’ now.
  • Firefox Private Browsing can now use Console. Workspaces will not be saved, as expected.

Bug fixes

  • Trading with a tainted key left orders apparently in a pending state forever
  • Improve error logging for GraphQL errors
  • Remove reference to manifest.json that didn’t exist
  • Log out if token fetching fails on start up

0.22.0 (28 April 2020)

This release updates a major dependency: Apollo 3. This gives us a huge performance increase, and addresses the console slowing down over time.


  • Remove mono repo, separate forked Golden Layout to a separate repo
  • Update to Apollo 3 beta
  • Remove preset servers, allow free form node entry

Bug fixes

  • Fix a bug where the margin requirements view could fail to render
  • Fix margin visualiser appearing too close to the bottom of the screen
  • Fix some views appearing squashed

0.21.2 (15 April 2020)

A multitude of small fixes for the wallet/key management interface. Mostly language fixes, but the ability to create a new keypair is currently disabled.


  • Replace wallet server URLs with labels
  • Reword ‘Disconnect’ as ‘Log out’
  • Language consistency fixes
  • Add more guidance
  • Adjust font size of key list title
  • Temporarily disable ‘create key pair’ on remote hosts

0.21.1 (8 April 2020)


  • Improve Market Depth subscription behaviour
  • Add a specific error message for when a wallet does not exist on a selected server

0.21.0 (7 April 2020)

This release introduces the new authentication system. This adds full support for the new Vega Wallet service, including:

  • Multiple key pairs per user account
  • Switch between key pairs to trade as a different party on the network
  • Assign aliases to key pairs

This is all hosted in a new key drawer that can be accessed from the navigation bar.

0.20.0 (13 March 2020)


  • Hide the network switch in production and show a reset button instead

Bug fixes

  • Fix reverted fills query to use old buyer and seller fields which expect a string, rather than a party type

0.19.0 (26 February 2020)


  • New default layout


  • Input field has a masked value.
  • Make market depth chart Y-axis start at zero
  • Chart time selector should not appear on hover
  • Table column resizing improvements
  • Remove legacy windowGroupId field
  • Improved branding by replacing the loading splash, logo, and favicon

0.3.1 (11 June 2019)


  • Request market list on start up and remove hard-coded market IDs
  • Move ErrorBoundary for windows

Bug fixes

  • Fills table incorrectly reversed sorting on every update
  • Fix tooltip for timestamp cell
  • Discard candles created at market start up
  • Fix cropping on the bottom of the trades view

0.3.0 (23 May 2019)

Contains a variety of different improvements and bug fixes with the overall aim of hardening up for nicenet.


  • Changes the interval options in the interval drop down to be sorted by the interval length and not lexically
  • Updated our server config with new names for devnet, stagnet, testnet, nicenet
  • Added ConnectionStatus, Settings, WorkspaceManager and NonIdealWindow to storybook
  • Create candles cache item if candles subscription is called before the candle query
  • Changes the component picker to allow you to select a component first and then a window group/market if that component requires one
  • A temporary change to provide a window group for each market, enabling a user to actually connect to other markets and not just their default one
  • Adds the current market name to window tab titles where required
  • Disable the network switcher in production mode
  • Market details component. A list of all markets and some of their data such as last price, best bid and best offer

Bug fixes

  • Core had changed the since variable for our candles query from a timestamp to a RFC3339 date string
  • Typing in long numbers resulted in them being displayed in scientific notation which then caused NaN or Infinity values. LoadValidators: do not return an empty validator set
  • Golden Layout was occasionally showing an error when first loading the application. This is due to golden layout losing track of the active item in a stack when opening and closing tabs. This change was made in our fork of golden layout
  • Fixes an issue where you could put decimals places into the deal ticket inputs even if the market specified 0 decimal places


  • Updated Apollo client to use new built-in state management


Initial commit

Wallet releases

0.6.7 (15 May 2021)

This release fixes a small error in the payload of the health check endpoint.

0.6.6 (30 April 2021)

This release includes updates to keep wallet in sync with core software.

0.6.5 (9 April 2021)

This release adds the following features and improvements:

  • Update the internal APIs to the latest Vega node APIs
  • Improve the start up message with the available endpoints through the API
  • Improve health checks, which now returns true if the node’s address from the config can be reached, false otherwise

0.6.4 (17 March 2021)

This release makes the wallet compatible with node release 0.33.0.

0.6.3 (16 March 2021)

This release reflects the repo name change to rename api-clients to api.

0.6.2 (18 February 2021)

This [release](( adds the following features:

  • Add a flag to set up metadata when calling genkey
  • Add default metadata for keys when none is specified explicitly when using genkey
  • Add documentation about metadata

0.6.1 (17 February 2021)

This release adds the following fixes and improvements:

  • Fix reading password from the command line on Windows (e.g. when using commands like genkey, list, etc.)
  • Improve documentation for Windows users

0.6.0 (16 February 2021)

  • Update the wallet to work with Vega 0.31.0

0.5.2 (17 December 2020)

  • Add a more user friendly message when starting the wallet

0.5.1 (10 December 2020)

  • Can now specify multiple nodes of the network in the configuration, which the wallet will then use with a simple round robin in case some are not working.
  • Improve documentation with tip about ad blockers

0.5.0 (9 December 2020)

  • Add flag to disable starting the default web browser when using the console proxy
  • Add headers to the proxied request to inform the console it being proxied
  • Lots of documentation improvements
  • Change the default port for the console proxy, also rename IP field to Host in config

0.4.0, 0.4.1, 0.4.2 & 0.4.3 (20 November)

  • Change default configuration path for Windows
  • Use 7z to build Windows zip archive
  • Fix Windows zip file and executable name
  • Update with the last change from the Vega node software
  • Remove the console UI option
  • Improve releasing flow

0.3.1 (17 November 2020)

Small command line quality of life improvements.

  • genkey asks for confirmation when generating key for a wallet for the first time
  • genkey does not accept empty passphrase any more

0.3.0 (16 November 2020)

  • Generate jwt encryption key by default with service init.
  • Add new options console-ui and console-proxy when running service run.

0.2.0 (14 November 2020)

  • Update the wallet with last changes from the Vega node software.

0.1.0 (11 May 2020)

  • First version of wallet, test release.