Skip to main content
This quickstart follows the direct integration path. Your backend uses Ground’s API to discover the gVault and authorize an address. The user then approves the deposit asset and interacts with the gVault onchain.

Prerequisites

You need a Ground sandbox API key, an EVM address controlled by your user or application, and enough of the listed deposit token and native gas token to submit sandbox transactions.
Keep the Ground API key on your server. Never place it in frontend code.

1. Discover a gVault

Select a row and persist its id, contractAddress, asset, and interface. Resolve these values independently in sandbox and production. See Discover gVault yield sources for the complete response contract.

2. Authorize the address

A 200 response is already confirmed. A 202 response means the authorization transaction was submitted. In that case, poll the allowlist state until allowed is true:

3. Read the contract configuration

At the returned contractAddress, call asset() to resolve the ERC-20 deposit token. Treat the catalogue’s interface as the selector for the correct gVault interface; not every gVault has the same synchronous or asynchronous methods.

4. Submit the deposit

For a synchronous USTB-style gVault, approve the exact asset amount and call:
Set the deposit receiver to the authorized address. For a Centrifuge-style gVault, deposits use a request/claim lifecycle instead. Follow Deposit and redeem onchain for the interface returned by the selected yield source.

5. Record the result

Store the environment, gVaultId, contract address, chain ID, transaction hash, asset amount, share amount, and receiving address. Treat the transaction as complete only after the required chain confirmations.

Direct integration guide

Build the complete direct access flow.

Configure revenue sharing

Have Ground provision a fee wrapper over the selected gVault.