Skip to main content

Service API

This is a concise reference for the Kura Service API.

Full OpenAPI schemas, request / response schemas, and SDKs are provided separately when you adopt the product. Please reach out if interested.

The Service API is offered over HTTP and covers the following areas:

  • Service status
  • Account and receiving address management
  • Balance and transferability checks
  • Deposits
  • Transfer / withdrawal preparation and execution
  • Smart contract wallet integration
  • History queries

Health / Deployment

MethodPathPurpose
GET/healthCheck service liveness.
GET/api/deploymentRetrieve information about the connected chain and the Kura contract.

Account and receiving address management

MethodPathPurpose
POST/api/walletsRegister a P-256, WebAuthn, or Ethereum EOA wallet account along with an initial receiving profile.
GET/api/walletsList registered receiving profiles.
GET/api/wallets/{wallet_handle}Fetch a summary of a wallet account.
GET/api/wallets/{wallet_handle}/profilesList receiving profiles bound to a wallet account.
POST/api/wallets/{wallet_handle}/profilesAdd a receiving profile to an existing wallet account.
GET/api/viewing-profiles/{address_id}Fetch a receiving profile.
POST/api/viewing-profiles/{address_id}/disableStop syncing a receiving profile.
POST/api/viewing-profiles/{address_id}/enableResume syncing a receiving profile.

Balance and transferability checks

MethodPathPurpose
GET/api/viewing-profiles/{address_id}/statusGet sync status of a receiving profile.
GET/api/viewing-profiles/{address_id}/notesGet assets and balances held under a receiving profile.

Used to display balances and decide whether transfers are possible.

Deposits

MethodPathPurpose
POST/api/deposits/proof-requestsGenerate a deposit proof for the given receiving address, token, and amount.
GET/api/proof-requests/{proof_request_id}Check proof generation status.

Once the proof is ready, the user's wallet can approve the ERC-20 spend and execute the deposit.

Transfer / withdrawal preparation and execution

MethodPathPurpose
POST/api/wallets/{wallet_handle}/transfer-preparationsGenerate preparation data and the signing payload for a transfer or withdrawal.
POST/api/wallets/{wallet_handle}/transfers/execution-requestsExecute a signed transfer (proof generation, broadcast, and completion are handled asynchronously).
POST/api/wallets/{wallet_handle}/transfers/proof-requestsGenerate only the proof.
GET/api/execution-requests/{execution_request_id}Check transfer execution status.

The primary inputs to transfer preparation are: source profile, destination (Kura address or regular address), token, and amount.

Smart contract wallet integration

MethodPathPurpose
POST/api/contract-walletsCreate a Kura-compatible contract wallet and receiving profile.
PUT/api/contract-wallets/{contract_wallet_address}/signersRegister signer information for a contract wallet.
GET/api/wallets/{wallet_handle}/contract-wallet-statusCheck registration and transferability of a contract wallet.
POST/api/contract-wallets/{contract_wallet_address}/user-operationsExecute a signed wallet operation.

Used when accounts are managed by smart contracts rather than EOAs.

History

MethodPathPurpose
GET/api/history/addresses/{address_id}/notes/receivedRetrieve receiving history for a receiving profile.
GET/api/history/addresses/{address_id}/notes/spentRetrieve sending history for a receiving profile.
GET/api/history/wallets/{wallet_handle}/notes/receivedRetrieve receiving history across a wallet account.
GET/api/history/wallets/{wallet_handle}/notes/spentRetrieve sending history across a wallet account.
GET/api/history/depositsRetrieve deposit history.
GET/api/history/publicationsRetrieve transaction history.

Useful for activity views, reconciliation, and support workflows.