Funding Accounts through Wallets

This section covers how an Account can be funded through its connected Wallet.

Funding on Sandbox

EVM

In testnet, EVM wallets can be funded by calling the faucet:

import Dinari from '@dinari/api-sdk';

const client = new Dinari({
  apiKeyID: process.env['DINARI_API_KEY_ID'], // This is the default and can be omitted
  apiSecretKey: process.env['DINARI_API_SECRET_KEY'], // This is the default and can be omitted
  environment: 'sandbox', // defaults to 'production'
});

async function main() {
  const accountID = 'your-account-id';

  await client.v2.accounts.mintSandboxTokens(accountID, {
    chain_id: 'eip155:1',
  });

  console.log('Sandbox tokens minted');
}

main();
import os
from dinari_api_sdk import Dinari

client = Dinari(
    api_key_id=os.environ.get("DINARI_API_KEY_ID"),  # This is the default and can be omitted
    api_secret_key=os.environ.get("DINARI_API_SECRET_KEY"),  # This is the default and can be omitted
    environment="sandbox", # defaults to "production"
)

account_id = "your-account-id"
faucet_response = client.v2.accounts.mint_sandbox_tokens(
    account_id=account_id,
    chain_id="eip155:1",
)
package main

import (
	"context"
	"fmt"
	"log"

	dinari "github.com/dinaricrypto/dinari-api-sdk-go"
	"github.com/dinaricrypto/dinari-api-sdk-go/option"
)

func main() {
	// DINARI_API_KEY_ID and DINARI_API_SECRET_KEY are set as environment variables
	client := dinari.NewClient(
		option.WithEnvironmentSandbox(), // Defaults to production when omitted
	)

	accountID := "your-account-id"

	err := client.V2.Accounts.MintSandboxTokens(context.TODO(), accountID, dinari.V2AccountMintSandboxTokensParams{
		ChainID: dinari.ChainEip155_1,
	})
	if err != nil {
		log.Fatalf("Failed to mint sandbox tokens: %v", err)
	}
}

Funding on Production

External Wallets

EVM

External wallets can be funded via USD+, USDC, or USDT

Managed Wallets

EVM

Similar to external wallets, managed wallets can be funded via USD+, USDC, or USDT.