Dfns API Documentation
  • 👋Welcome
  • Getting Started
    • Onboarding to Dfns
    • Dfns Environments
    • Core API Objects
    • Supported Assets
    • Postman
    • Dfns SDKs
    • Dashboard Videos
  • API Docs
    • Introduction
    • Authentication
      • Delegated Authentication
        • Delegated Registration
        • Delegated Registration Restart
        • Delegated Login
      • User Action Signing
        • Create User Action Signature Challenge
        • Create User Action Signature
      • Registration
        • Create User Registration Challenge
        • Complete User Registration
        • Complete End User Registration with Wallets
        • Resend Registration Code
        • Social Registration
      • Login
        • Create User Login Challenge
        • Complete User Login
        • Social Login
        • Logout
        • Send Login Code
      • Users
        • List Users
        • Create User
        • Get User
        • Activate User
        • Deactivate User
        • Archive User
      • Service Accounts
        • List Service Accounts
        • Create Service Account
        • Get Service Account
        • Update Service Account
        • Activate Service Account
        • Deactivate Service Account
        • Archive Service Account
      • Applications
        • List Applications
        • Create Application
        • Create Server-Signed Application
        • Get Application
        • Update Application
        • Activate Application
        • Deactivate Application
        • Archive Application
      • Personal Access Tokens
        • List Personal Access Tokens
        • Create Personal Access Token
        • Get Personal Access Token
        • Update Personal Access Token
        • Activate Personal Access Token
        • Deactivate Personal Access Token
        • Archive Personal Access Token
      • Credentials
        • Credentials Overview
        • API Reference
          • Create Credential Code
          • Create Credential Challenge
          • Create Credential Challenge With Code
          • Create Credential
          • Create Credential With Code
          • Deactivate Credential
          • Activate Credential
          • List Credentials
      • Recovery
        • Send Recovery Code Email
        • Create Recovery Challenge
        • Create Delegated Recovery Challenge
        • Recover User
    • Wallets
      • Create Wallet
      • Update Wallet
      • Delete Wallet
      • [deprecated] Delegate Wallet
      • Get Wallet by ID
      • List Wallets
      • Get Wallet Assets
      • Get Wallet NFTs
      • Get Wallet History
      • Tag Wallet
      • Untag Wallet
      • Transfer Asset
      • Get Transfer Request by ID
      • List Transfer Requests
      • Sign and Broadcast Transaction
        • Algorand
        • Aptos
        • Bitcoin / Litecoin
        • Canton
        • Cardano
        • EVM
        • Solana
        • Stellar
        • Tezos
        • TRON
        • XRP Ledger (Ripple)
      • Get Transaction Request by ID
      • List Transaction Requests
      • [deprecated] Generate Signature
      • Advanced Wallet APIs
        • Import Wallet
        • [deprecated] Export Wallet
    • Fee Sponsors
      • Create Fee Sponsor
      • Get Fee Sponsor
      • List Fee Sponsors
      • Activate Fee Sponsor
      • Deactivate Fee Sponsor
      • Delete Fee Sponsor
      • List Sponsored Fees
    • Keys
      • Create Key
      • Update Key
      • Delete Key
      • Delegate Key
      • Get Key by ID
      • List Keys
      • Generate Signature
        • Algorand
        • Aptos
        • Bitcoin / Litecoin
        • Cardano
        • Cosmos Appchain
        • EVM
        • Solana
        • Stellar
        • Substrate (Polkadot)
        • Tezos
        • TON
        • TRON
        • XRP Ledger (Ripple)
      • Get Signature Request by ID
      • List Signature Requests
      • Advanced Key APIs
        • Import Key
        • Export Key
    • Networks
      • Estimate fees
      • Read Contract
      • Validators
        • Create Validator
        • List Validators
    • Policy Engine
      • Policies Overview
      • API Reference
        • Create Policy
        • Get Policy
        • List Policies
        • Update Policy
        • Archive Policy
        • Get Approval
        • List Approvals
        • Create Approval Decision
    • Permissions
      • Permissions Overview
      • API Reference
        • Get Permission
        • List Permissions
        • Create Permission
        • Update Permission
        • Archive Permission
        • Assign Permission
        • Revoke Permission
        • List Permission Assignments
    • Webhooks
      • Create Webhook
      • Get Webhook
      • List Webhooks
      • Update Webhook
      • Delete Webhook
      • Ping Webhook
      • Get Webhook Event
      • List Webhook Events
    • Dfns Change Log
    • API Errors
  • Integrations
    • Exchanges
      • Exchange Configuration
        • Kraken Setup
        • Binance Setup
        • Coinbase Prime Setup
      • API Reference
        • Create Exchange
        • List Exchanges
        • Get Exchange
        • Delete Exchange
        • List Exchange Accounts
        • List Exchange Account Assets
        • Create Exchange Deposit
        • Create Exchange Withdrawal
    • AML / KYT
      • Chainalysis
    • Staking
      • API Reference
        • Create Stake
        • Create Stake Action
        • List Stakes
        • List Stake Actions
        • get Rewards
    • Fiat On/Off-Ramps
    • Account Abstraction on EVMs
  • Advanced Topics
    • Authentication
      • API Authentication
      • Request Headers
      • Credentials
        • Generate a Key Pair
        • User Credentials
        • Access Token Credentials
        • Storing WebAuthn Credentials in Password Managers
      • Request Signing
      • API objects
    • Delegated Signing
    • API Idempotency
    • FAQ
  • Guides
    • Passkey Settings - Migration guide
    • Keys & Multichain - Migration Guide
Powered by GitBook
On this page
  • Overview
  • Register from Email
  • Invite Users and Set Permissions
  • Create a Service Account
  • Delegated Signing Configuration
  • All the docs!
  1. Getting Started

Onboarding to Dfns

Last updated 2 months ago

Overview

Welcome to Dfns! This guide will help you get set up with our industry-leading authentication and clone our sample app to test delegated signing. If you have any questions, don't hesitate to reach out to us in DFNSCare. Thanks!

Register from Email

  1. Go to to create a new org and creates the first Employee in the organization, called the Org Owner.

  2. Org Owner receives an email with a link and a code to register in our system.

  3. Click on the link in the Email and enter the registration code. Here you can see the Org owner and the Org ID.

  4. You will be asked to create your passkey, passkeys eliminate the need for passwords and use your device’s built-in security features, like Face ID, Touch ID, or a PIN.

  5. Last step is to print or save your recovery details in a safe place.

Invite Users and Set Permissions

  1. Click Settings in the left nav

  1. This should take you to the Users screen

  1. Add Users to the organization by clicking “New User”. (Note ExternalID is optional)

  1. Employees receive an email and follow the same registration flow.

  2. The Org Owner creates and assigns the necessary permissions to allow users access the parts of the system required for their job responsibilities. For convenience, we've exposed a control on the user list page to give a user all access to the system here:

That said, we strongly encourage implementing the principle of least privilege by setting up your own permissions in the dashboard under Settings=>Permissions:

You can then assign permissions to Users, Service Account, and Applications by clicking the target card in the list to go to the detail page:

Create a Service Account

Once you register in your Dfns org and invite your Users, the next step is to create a Service Account which you can think of as a machine user.

    • # Generate RSA Private Key
      openssl genrsa -out rsa2048.pem 2048
      # Generate the Public Key
      openssl pkey -in rsa2048.pem -pubout -out rsa2048.public.pem
  1. Navigate to Settings. Service Accounts=>New Service Account.

  2. Name the Service Account, copy in the public key (including begin/end lines like “-----BEGIN PUBLIC KEY-----”) and click “Create”.

  1. This will output a masked JWT one time. Copy it to a secure location before leaving the page.

Delegated Signing Configuration

If you want to implement Delegated Signing in which your customer generates credentials to our API via WebAuthn, continue with these steps:

  1. Create an Application running at localhost:3000.

  2. Go to Org Settings => Applications

  3. Click New Application

  4. Give it a name and specify the following values:

  1. Click Create, then copy the App ID like “ap-2vemp-hl3c9-9j1rgcf9quurph” to paste into your .env file as described below

  2. Clone one of the two demo apps in the SDK & follow the steps in the Readme

All the docs!

Our documentation should have everything you need to get up and running on Dfns! Here's an overview of some of the key sections:

Create a Public / Private Key pair that you will use for API signing from the terminal command. You can use the commands shown below or see our :

At this point, you can make server side API calls by signing requests with your secret key. Please see and specifically .

For a full overview of Delegated Signing, please see the under Advanced Topics.

Populate your .env file based on the (see for the July 2023 EthParis event for a step by step walkthrough)

Overviews of Dfns's

Our page & around authentication to understand our signing requirements in detail

The reference section of all currently supported endpoints and their operations

to learn about how to integrate with Fiat on/offboarding providers

documentation on key generation
our Typescript SDK
the Service Account sample app
Delegated Signing page
NextJS config
React & Express
.env.example
this video
policy engine
API Authentication
Advanced Topics
API DOCS
Integrations
app.dfns.io/get-started