Developer Page

This page talks about how to make money with the Onyx ecosystem and keep the price of our tokens stable. There are many arbitrage opportunities available interacting with our token contracts and exchanges and here is a list of some of them. To see the list of exchanges our tokens are trading on, and their token addresses, check out our tokens page.

Tokens Page

Uniswap Pooling

In order to add to the Uniswap liquidity pool, and make 0.3% everytime a transaction is made on Uniswap, send 50% of the ETH you want to pool to the tokens contract, getting back the correct amount of the token.

OUSD  token address - 0xd2d01dd6aa7a2f5228c7c17298905a7c7e1dfe81
OSPV  token address - 0xfcce9526e030f1691966d5a651f5ebe1a5b4c8e4
OSPVS token address - 0xf7d1f35518950e78c18e5a442097ca07962f4d8a

Then send the remaining ETH and the tokens you received to the Uniswap pool using their dapp: OUSD, OSPV, OSPVS.

You can then manage your pools at


Prices and Uniswap balances may change mid transaction and eliminate an arbitrage opportunity!
The arb dapp is still in Beta, so all arbitrage opportunities, even unprofitable or negative valued ones, are being shown for now.
As the uniswap pools increase, and the gas price lowers, the arbitrage opportunities will become bigger and more frequent.
Click on the metamask icon to engage in the arbitrage opportunity with one transaction.
Metamask interacts with this contract.

OUSD Arbitrage

              OSPV Arbitrage

              OSPVS Arbitrage

              General rules for how to interact with our token contracts for arbitrage

              1. Onyx USD token contract can receive ETH and will return Onyx USD tokens.
              2. To withdraw, send Onyx USD tokens less than withdrawMAX() back to Onyx USD token contract.
              3. All asset token contracts can receive ETH and Onyx USD tokens and will return asset tokens.
              4. To withdraw, send the asset tokens back to the asset token contract.

              Arbitrage examples

              The price of ETH relative to our tokens is constantly changing, so there is constantly opportunity to make money interacting with Uniswap and our contracts. A more detailed look into pricing calculation and contract interaction on Uniswap can be found in the Uniswap docs. The price of our Onyx S&P 500 token is based on VOO. The price of our Onyx S&P 500 Short token is based on 70,000/VOO.

              As the price changes through out the day, there will be constant arbitrage opportunity to buy our token from Uniswap and sell it to our contracts, or buy our tokens from our contracts and sell it to Uniswap for profit.

              1. Volatility arbitrage  -  such as for OUSD/DAI or OETH/ETH when it comes out, buying when its .99 and selling when its 1.01 for a profit.
              2. If there is a limit order for Onyx USD for greater than $1, you can buy Onyx USD for $1 by sending ETH to the Onyx USD contract address. You will get sent back Onyx USD tokens at the correct price. You can then sell the tokens at the elevated price on the exchange for a profit.
              3. If there is a limit order on an exchange for greater than the price of VOO, you can buy OSPV at the correct price by sending ETH(or Onyx USD) to the Onyx S&P 500 contract address and getting Onyx S&P 500 tokens back. You can then sell the tokens at the elevated price on the exchange for profit.
              4. If there is a limit order on an exchange for greater than the price of 70,000/S&P 500, you can buy OSPVS at the correct price by sending ETH(or Onyx USD) to the Onyx S&P 500 Short contract address and getting Onyx S&P 500 Short tokens back.You can then sell the tokens at the elevated price on the exchange for profit.
              5. If any of our asset tokens, OSPV or OSPVS is trading lower than their respective asset prices on an exchange, you can buy the discounted tokens on the exchange and sell them for the correct price by transferring the tokens to their respective token contract addresses for a profit.
              6. If the price of Onyx USD is trading at less than $1 on an exchange, you can buy the discounted token and sell it to the contract by sending the token to the contract and get the correct amount of ETH back for a profit. Make sure the amount you send is less than withdrawMAX() or the transaction will fail. If you wish to withdraw more than withdrawMAX(), send the Onyx USD tokens multiple times.
                pragma solidity 0.5.12;
                interface OnyxUSD{
                    //max amount you can withdraw in Onyx USD;
                    function withdrawMAX() external view returns (uint256);
                    function transfer(address input, uint amount) external;
                contract myContract{
                    //contract address of Onyx USD
                    address OnyxUSDAddress = 0xD2d01dd6Aa7a2F5228c7c17298905A7C7E1dfE81;
                    uint tokenAmount; //Amount you want to withdraw in Onyx USD
                    function withdraw() public{
                        //if the amount you want to withdraw is less than or equal to withdrawMAX,
                        //then you can withdraw.
                        if(tokenAmount <= OnyxUSD(OnyxUSDAddress).withdrawMAX()){
                            OnyxUSD(OnyxUSDAddress).transfer(OnyxUSDAddress, tokenAmount);
                        //otherwise, just withdraw the MAX amount.
                            OnyxUSD(OnyxUSDAddress).transfer(OnyxUSDAddress, OnyxUSD(OnyxUSDAddress).withdrawMAX());

              Lost Funds

              In the extremely unlikely event that you interacted with one of our contracts and didn't get anything back from us within 5 minutes, you can get your original funds back by clicking on your transaction on etherscan, go the "Event Logs" tab, and scroll to the bottom to get the "requestId" and paste it in the dapp below. If this happens, please contact us at and give us a link to the transaction so we can see what went wrong.


              Onyx provides a Dapp/contract to automatically and easily pool for a token on Uniswap V2 by taking your ETH, converting half of it to a token of your choice, and pooling both to it's token/ETH pool. It is guaranteed to pool at least 99.99% of the ETH you send to it, almost no ETH is sent back to you. It is very similar to Zapper.Fi, but uses much less gas, and returns much less ETH back to you, giving you back more Uniswap pool tokens, as you can see comparing a Zapper.Fi Zap transaction to an OnyxZap transaction. OnyxZap was created because Zapper.Fi was taking a while to port their contract to Uniswap V2. We will remove this dapp if Zapper.Fi updates their contracts to be as or more efficient. They are more then welcome to use our code in there contract. Check it out at 0x52841eF08118ce0a929Add88dD62A785662A2BEa.

              You can then manage your pools at