Skip to content
LogoLogo

Getting Started

Installation

nautilus v2 requires ethers v6 and Node 22 or later. If you are upgrading from v1, read migration guide first — the DDO model, the transport and the signer library all changed.

Create a Signer

nautilus uses the ethers Signer. In v6, JsonRpcProvider is a top-level export; the providers namespace no longer exists.

import { ,  } from 'ethers'
 
const  = new ('https://rpc.dev.pontus-x.eu')
const  = new ('0x...', )

Create the nautilus instance

The chain is read from the signer's provider, so there is no chain argument. What nautilus does need is an ocean-node: one node now serves metadata, provider services and the indexer, replacing v1's separate Aquarius and Provider URLs.

import { ,  } from 'ethers'
import {  } from '@deltadao/nautilus'
 
const  = new ('https://rpc.dev.pontus-x.eu')
const  = new ('0x...', )
 
const  = await .(, { 
  : { : 'https://ocean-node.dev.pontus-x.eu' } 
}) 

ocean.js ships contract addresses for a set of chains, including Pontus-X devnet (32456) and OP Sepolia (11155420), so oceanNodeUri is usually all you pass. On a chain it does not know, pass the addresses in config too — see Custom Configuration.

nautilus works with OceanProtocolEnterprise ocean-node 4.2.x. For access to the deltaDAO test environment, or to have your own ocean-node run as a service, contact deltaDAO at delta-dao.com/contact or contact@delta-dao.com.

Download an asset

const {  } = await .({ : 'did:ope:1234abcd...' }) 
 
const  = await () 

nautilus orders the service if you do not already hold a valid order, and reuses your existing one if you do.

Explore

For runnable code, see the Examples — a CLI covering every flow above, in the examples/ folder of this repository.