Zynk
Getting StartedProduct GuidesAPI ReferenceFAQ'sRecipes
Getting StartedProduct GuidesAPI ReferenceFAQ'sRecipes
  1. Continuum - Wallet Infrastructure
  • Transformer - Cross Border Transfer
    • Overview
    • Customers & Identity
      • Entities/Customers
      • About KYC/KYB
      • RFI Scenarios for Customers
      • Identity Rejection Reasons
    • Accounts & Wallets
      • External Accounts(To be deprecated soon)
      • Fetch Requirements for External Accounts V2
      • External Accounts V2
      • Funding Accounts
      • About Plaid Integration
    • Transfers
      • Counterparty Risk details
      • Addition transfer requirements
      • Transfer in Action
      • Limits and Minimums
      • Fee details
    • Miscellaneous
      • Bank Codes
      • Supported chains and currencies
      • Partner payments signature generation
      • Reserves requirements
      • Partner Payments
      • Status updates - Webhooks
  • Transporter - Automated Liquidity Manager
    • Overview
    • Visibility Protocol
    • Instant liquidity process - How it works
    • Status updates - Webhooks
  • Teleport - Pay-In Accounts
    • Overview
    • About Teleport routes
  • Warp - Pay-Outs
    • Overview
  • Continuum - Wallet Infrastructure
    • Overview
    • Authentication
    • Continuum APIs
    • Transactions on Continuum
    • Details on generating signatures
Getting StartedProduct GuidesAPI ReferenceFAQ'sRecipes
Getting StartedProduct GuidesAPI ReferenceFAQ'sRecipes
  1. Continuum - Wallet Infrastructure

Continuum APIs

Continuum has a suit of APIs which allow partners to enable their users to perform various wallet related operations and be in total control of their wallet.
We classify the APIs into two divisions based on how partners interact with these APIs.

Two-Step Process APIs#

Several wallet operations follow a two-step process for enhanced security:
Prepare (Step 1): Generate an unsigned challenge payload
Submit (Step 2): Submit the signed challenge with signature
This pattern ensures secure, client-side signing of sensitive operations.
Wallet Creation
Create a new non-custodial wallet for an entity using passkey authentication.
1
Step 1: Prepare Wallet Creation Challenge
Wallet creation API Generates an unsigned wallet creation challenge that must be signed by the user.
Request:
{
  walletName: string;      // Required. Display name for the wallet
  chain?: string;          // Optional. Blockchain chain (default: "SOLANA")
}   
Example Response:
{
  "payloadId": "auth_intent_abc123",
  "payloadToSign": "{\"type\":\"ACTIVITY_TYPE_CREATE_WALLET\",\"organizationId\":\"org_xyz\",\"timestampMs\":\"1698765432000\",\"parameters\":{\"walletName\":\"My Primary Wallet\",\"accounts\":[{\"curve\":\"CURVE_ED25519\",\"pathFormat\":\"PATH_FORMAT_BIP32\",\"path\":\"m/44'/501'/0'/0'\",\"addressFormat\":\"ADDRESS_FORMAT_SOLANA\"}]}}",
  "rpId": "localhost"
}
2
Step 2: Submit Wallet Creation Activity
Submit wallet API, Submits the signed wallet creation activity to complete wallet creation.
Request:
{
payloadId: string; // Required. Payload ID from prepare step
signatureType: string; // Required. Either "WebAuthn" or "ApiKey"
signature: string; // Required. Signed challenge (X-Stamp header value)
}
Example Response:
{
"walletId": "wallet_456",
"addresses": ["5xzG7H8jK9mN1pQ2rS3tU4vW5xY6zA7bC8dE9fG0hI1"]
}
Account Creation
Passkey Registration
Passkey Deletion

Single-Step APIs#

These APIs complete their operation in a single request-response cycle.
Register Auth
Register auth API, registers authentication configuration for an entity.
Path Parameters:
- entityId (string, required): Entity ID
Request Body:
{
  authType: string; // Required. One of: "API_Key", "OAuth", "Email_Auth", "SMS_Auth"
  authPayload: object; // Required. Configuration specific to auth type
}
      
Auth Payload Variations:
For API_Key:
{
  apiKeyName: string; // Required. API key name
  curveType: string; // Required. One of: "API_KEY_CURVE_P256", "API_KEY_CURVE_SECP256K1", "API_KEY_CURVE_ED25519"
  publicKey: string; // Required. Public key
  expirationSeconds?: string; // Optional. Expiration time in seconds
}
For OAuth:
{
  providerName: string; // OAuth provider name
  oidcToken: string; // OIDC token
}
For Email_Auth:
{
  email: string; // Email address
}
For SMS_Auth:
{
  phone: string; // Phone number with country code
}
Response:
{
  success: boolean
}
Example Request (API Key Auth):

curl -X POST /api/v1/wallets/entity_123/register-auth \
  -H "Authorization: Bearer -token-" \
  -H "Content-Type: application/json" \
  -d '{
    "authType": "API_Key",
    "authPayload": {
      "apiKeyName": "my-api-key",
      "curveType": "API_KEY_CURVE_SECP256K1",
      "publicKey": "0x04a1b2c3d4e5f6...",
      "expirationSeconds": "31536000"
    }
  }'
Example Request (Email Auth):
curl -X POST /api/v1/wallets/entity_123/register-auth \
  -H "Authorization: Bearer -token-" \
  -H "Content-Type: application/json" \
  -d '{
    "authType": "Email_Auth",
    "authPayload": {
      "email": "user@example.com"
    }
  }'
Example Response:
{
  "success": true
}      
Get Wallet
Get Wallet Balances
Get Passkey Authenticators
Get Transactions for Address
Initiate OTP
Start Session
Modified at 2025-11-14 15:16:25
Previous
Authentication
Next
Transactions on Continuum
Built with