Wallet Management

Learn how to add and verify crypto wallets for sending and receiving digital assets on the Skyline Digital platform

To execute crypto transactions on the Skyline Digital platform, you need to register at least one crypto wallet. A wallet represents a blockchain address that can send or receive tokens, and it must be associated with a receiver. This tutorial covers creating wallets, verifying ownership, working with multisig wallets, and managing your wallet records.

Prerequisites

Before starting this tutorial, complete the Beneficiary Management tutorial. You must have at least one receiver set up before you can create a wallet, as every wallet is associated with a receiver.

Wallet types

The platform supports two types of wallets. The type you choose determines how transactions are signed and how token allowances work.

TypeDescription
EOAAn externally owned account -- a standard wallet controlled by a single private key. This is the default type and is suitable for most use cases.
SAFEA Safe (formerly Gnosis Safe) multisig wallet. This type requires multiple signers to approve transactions, providing an additional layer of security for organisations that require shared control over funds.

When creating a wallet, the type defaults to EOA if not specified.

Creating a wallet

To register a new wallet, send a request to POST /wallets with the wallet details.

FieldDescription
addressThe blockchain address of the wallet.
networkThe identifier of the blockchain network this wallet operates on (for example, Ethereum mainnet or Polygon).
typeThe wallet type -- either EOA or SAFE. Defaults to EOA if not provided.
receiverThe identifier of the receiver this wallet belongs to.
ownershipMessageAn optional message that the platform provides for you to sign, used to initiate the ownership verification process.

The API returns the newly created wallet object, including a unique identifier that you will use when creating transactions.

Verifying wallet ownership

To prove that you control a wallet address, the platform uses a signature-based verification flow. This process confirms that the person registering the wallet holds the private key for the given address.

The verification process follows these steps:

Step 1: Create a wallet using POST /wallets. When the wallet is created, the platform provides a message that needs to be signed.

Step 2: The platform returns a message to sign. This message is unique to the wallet and serves as a challenge to prove ownership.

Step 3: Sign the message using your wallet's private key. This is done off-platform using your preferred wallet software or signing tool. The signing process produces a cryptographic signature that is mathematically tied to your private key.

Step 4: Submit the signed message to the platform by sending a request to POST /wallets/:id/verify-wallet with the following fields:

FieldDescription
messageThe original message that was provided by the platform.
signedMessageThe cryptographic signature produced by signing the message with your wallet's private key.

Step 5: The platform verifies that the signature matches the wallet address. If the signature is valid, the wallet is marked as verified and can be used in transactions.

Wallet verification is important because it prevents users from registering wallet addresses they do not control, which could lead to failed transactions or lost funds.

Safe multisig wallets

When creating a wallet with the type set to SAFE, you are registering a Safe multisig wallet. These wallets have some important differences compared to standard EOA wallets:

Multiple signers. Safe wallets require multiple parties to approve a transaction before it can be executed. The number of required signatures depends on the Safe's configuration (for example, a 2-of-3 Safe requires any two out of three designated signers to approve).

Allowance handling. Token allowances work differently with Safe wallets. Instead of a single owner granting an allowance to the platform's smart contract, the allowance must be approved through the Safe's multi-signature process. This means setting up or modifying allowances requires coordination among the wallet's signers.

Transaction signing. When the platform requests a signature for a transaction involving a Safe wallet, the signing process goes through the Safe's approval workflow rather than being signed by a single private key.

To create a Safe wallet, set the type field to SAFE when calling POST /wallets. All other creation fields remain the same.

Updating a wallet

To modify an existing wallet, send a request to PATCH /wallets/:id with the fields you want to change. The API returns the updated wallet object.

Deleting a wallet

To remove a wallet, send a request to DELETE /wallets/:id. Once deleted, the wallet can no longer be used for new transactions. Any existing transactions that reference the wallet are not affected.

What's next

With your wallets and bank accounts configured, you are ready to start executing transactions. Continue to the Crypto-to-Fiat tutorial to learn how to convert crypto into fiat payments.

On this page