Fordefi API (0.2.0)

Download OpenAPI description
Languages
Servers
Production
https://api.fordefi.com/

Users

This resource collection represents users.

User types and roles

There are several types of user in the Fordefi platform:
  • Person: A human user of the platform. Only a person can have an admin role.
  • API User: An API client key that is trying to interact with the platform.See Create an API user and token.
  • API Signer: Used to auto-sign transactions. See Automate Signing with API Signer.
  • End user: For Consumer Wallets. It represents the user of a third-party platform.
In addition, for all users (except end users in WaaS solutions) there are three possible user roles, which define the permissions that the user is given:
  • Admin: A user with high privileges in the organization. Only admins have permission to manage the policy, set up the backup, manage the address book, and add or remove users in the organization. Only a person can have an admin role.
  • Trader: A user who can create vaults and transactions.
  • Viewer: A user who has full view of the organization's users, addresses, and policies, as well as of the vaults and transactions, but does not have permissions to create them.

Operations

Authorization Tokens

This resource collection represents authorization tokens.

These tokens allow end users to authenticate with Fordefi. Each end user can have a maximum of ten active authorization tokens at any time. Each token is valid for 24 hours only.

Instructions for creating an API user and token are provided here: Create an API user and token.

Operations

Blockchains

This resource collection represents blockchains.

Operations

Webhooks

This resource collection represents webhooks.

Use Webhooks describes how to configure webhooks, validate them, and resend them.

Operations

Address Book

This resource collection represents an address book.

Address Book is an object that represents a contact (saved blockchain address and its alias) in the platform. The Address Book object can either be queried directly or returned as part of a transaction.

Operations

Transactions

This resource collection represents a transaction.

A transaction is any object that can be signed cryptographically (with a private key).

In general, it can be one of the following types:

  • EVM Transaction: A native currency transfer or a smart contract call on an EVM-based chain.
  • EVM Message: In which a message is signed for off-chain use on an EVM-based chain.
  • Solana Transaction: A list of instructions to invoke on a Solana-based chain.
  • Cosmos Transaction: A transaction in the Cosmos ecosystem on Cosmos Hub or one of the supported app chains.
  • Black Box Signature: In which a payload is signed for use, external to the Fordefi platform.
  • Cosmos Message
  • Solana Message
For more information, see Transaction Types.

Monitor transactions

As transactions progress from creation through completion, they can follow several workflows, during which they take on various statuses. Status is returned in the state field of the Get Transaction and List Transaction requests.

For a list of possible statuses, see Transaction Lifecycle.

Operations

Batch Transactions

This resource collection represents a batch transaction.

Operations

Vaults

This resource collection represents a vault.

The vault is the basic unit to manage funds. A vault has a single public address but is multi-chain, meaning you can use it across all chains that are compatible with the address and are supported by Fordefi.

Operations

Vault Groups

This resource collection represents a vault group.

Operations

Assets

This resource collection represents assets.

  • 'Assets', in general, refer to the assets that are supported by Fordefi and can be held by an organization. The Fetch Asset Prices API, for example, returns the current prices of all the assets that are recognized by the system.
  • 'Owned assets' reflects the balance of specific assets that are owned by an organization.

Operations

End Users

This resource collection represents end users.

End users are the users of a third-party app that embeds cryptographic technology provided by Fordefi. Each end user's mobile device can have a unique key-share, where Fordefi holds the matching key-share.

Operations

User Groups

This resource collection represents user groups.

Operations

Exports

This resource collection represents asynchronous export states.

Operations

Organizations

Operations

Import Keys

Request

Imports keys for an organization.

Bodyapplication/jsonrequired
typestringrequired
Discriminator
Value "fireblocks"
backup_zip_contentstringrequired

The base64 encoded content of the Fireblocks backup zip file.

Example: "SGVsbG8="
rsa_pemstringrequired

The base64 encoded RSA private key in PEM format.

Example: "SGVsbG8="
rsa_pem_passwordstring

The password for RSA private key.

curl -i -X POST \
  https://api.fordefi.com/api/v1/organizations/import-keys \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "fireblocks",
    "backup_zip_content": "SGVsbG8=",
    "rsa_pem": "SGVsbG8=",
    "rsa_pem_password": "string"
  }'

Responses

Successful Response

Response
No content

Complete Import Keys

Request

Completes the import keys process for an organization.

Bodyapplication/jsonrequired
encrypted_share_ecdsastring

The encrypted share for the organization's ECDSA key.

Example: "SGVsbG8="
encrypted_share_eddsastring

The encrypted share for the organization's EdDSA key.

Example: "SGVsbG8="
encrypted_share_ecdsa_starkstring

The encrypted share for the organization's ECDSA-Stark key.

Example: "SGVsbG8="
encrypted_share_schnorr_secp256k1string

The encrypted share for the organization's Schnorr key.

Example: "SGVsbG8="
curl -i -X POST \
  https://api.fordefi.com/api/v1/organizations/complete-import-keys \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "encrypted_share_ecdsa": "SGVsbG8=",
    "encrypted_share_eddsa": "SGVsbG8=",
    "encrypted_share_ecdsa_stark": "SGVsbG8=",
    "encrypted_share_schnorr_secp256k1": "SGVsbG8="
  }'

Responses

Successful Response

Response
No content

Abort Import Keys

Request

Aborts the import keys process for an organization.

curl -i -X POST \
  https://api.fordefi.com/api/v1/organizations/abort-import-keys \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Successful Response

Response
No content

Get Import Keys Status

Request

Gets the import keys status for an organization.

curl -i -X GET \
  https://api.fordefi.com/api/v1/organizations/import-keys-status \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Successful Response

Bodyapplication/json
statestringrequired

The state of the import keys request.

Enum"not_started""in_progress""completed"
imported_ecdsabooleanrequired

Whether an ECDSA key was imported.

imported_eddsabooleanrequired

Whether an EdDSA key was imported.

imported_ecdsa_starkbooleanrequired

Whether an ECDSA-Stark key was imported.

imported_schnorr_secp256k1booleanrequired

Whether a Schnorr key was imported.

Response
application/json
{ "state": "not_started", "imported_ecdsa": true, "imported_eddsa": true, "imported_ecdsa_stark": true, "imported_schnorr_secp256k1": true }