Alkanes Integration

This document provides details on how to interact with the Bound Alkane API, including generating mapped addresses, retrieving address mappings, viewing address history, and understanding transaction status codes. Provider endpoints are: SIGNET_URL : https://signet.bound.money MAINNET_URL : https://api.bound.money


1. POST - Generate new mapped address

Path: {PROVIDER_URL}/api/v1/generate-mapped-address

Generate a new mapped (EVM deposit) address for a given Bitcoin Taproot address.

Request Body

{
    "taproot_address": "tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf"
}
curl -X POST --location 'https://signet.bound.money/api/v1/generate-mapped-address' \
--header 'Content-Type: application/json' \
--data '{
    "taproot_address": "tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf"
}'

Responses

  • 200 OK Success

{"status":true,"message":"Request Generating mapped address success"}
  • 400 Bad Request Invalid input


2. GET - Get mapped address

Path: {PROVIDER_URL}/api/v1/get-mapped-address?taproot_address={bitcoinAddress}

Retrieve the mapped EVM deposit address for a given Bitcoin Taproot address.

Request URL

https://signet.bound.money/api/v1/get-mapped-address?taproot_address=tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf

cURL

curl -X GET --location 'https://signet.bound.money/api/v1/get-mapped-address?taproot_address=tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf'

Responses

  • 200 OK Success

{"status":true,"message":"Get Mapped Address","data":{"taproot_address":"tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf","evm_address":"0x40c7EC9FF6aFE0e021dFD0626b70BaC671D97e7D"}}
  • 400 Bad Request Invalid input


3. GET - Get address history

Path: {PROVIDER_URL}/api/v1/get-address-history

Retrieve mint and redeem transaction history for a Bitcoin Taproot address.

Request URL

https://signet.bound.money/api/v1/get-address-history?taproot_address=tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf&cursor=0&size=16

cURL

curl -X GET --location 'https://signet.bound.money/api/v1/get-address-history?taproot_address=tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf&cursor=0&size=16'

Response

  • 200 OK Success

{"status":true,"message":"Get Address History","data":[{"id":"2ad2a8c6-fafd-4bba-92d2-581ad1f16278","tx_id":"0x76b8e60d633277c4aab4e0f5b450b7fe8baf29598ec30d2e424b0b527b273f2d","sequence_number":"","from_address":"0xD21968daE95717C723e5C129db9eaCC268e9ca44","source_token_address":"0x9D0aE8E3898c4351A98287Af5DD0f9a41b0ff3dc","dest_token_address":"2:571","amount":"4000000","destination_addr":"tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf","destination_chain_id":667,"destination_tx_id":"1cd4afd6c3a657ed1d79ecbea8f66881a6e9bde04959974a5d0388b1c04d9b44","source_chain_id":11155111,"status":"broadcastedAlkane","block_height":8730955},{"id":"4c5a554b-9c2f-49b1-8507-28e304fa56e1","tx_id":"0xa2ac9f3e84495dfc516bd8921d95fcd7697f8d70e80180867a706baf9ef9665b","sequence_number":"","from_address":"0xD21968daE95717C723e5C129db9eaCC268e9ca44","source_token_address":"0xF68B608448281926498596FB8567b77984f1E647","dest_token_address":"2:571","amount":"9000000","destination_addr":"tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf","destination_chain_id":667,"destination_tx_id":"1cd4afd6c3a657ed1d79ecbea8f66881a6e9bde04959974a5d0388b1c04d9b44","source_chain_id":11155111,"status":"broadcastedAlkane","block_height":8730954}]}
  • 400 Bad Request Bad request


Redemption

The official bUSD contract https://ordiscan.com/alkane/bUSD/2:56801

Users can call the contract directly to redeem function id 88

  • token_id: ( 3 for usdc and 1 for usdt ) to redeem on Ethereum,

  • destination_chain_id: 1 (Ethereum) we only support 1 for now,

  • First haft of EVM address : 16 bytes,

  • Second hard of EVM address: last 4 bytes


Alkanes Mint Status Codes

Status
Description

rejectedAlkane

Sent token is not in the list of accepted stable coins, or sent amount is lower than the minimum requirement

pendingAlkane

Bound detected the request transaction

confirmedAlkane

The request transaction has been confirmed for at least x blocks on the EVM chain

failedAlkane

Invalid receiver address on the Bitcoin chain

processingAlkane

The mint transaction is created

broadcastedAlkane

The mint transaction is broadcasted to the bitcoin mempool

completedAlkane

The mint transaction has been confirmed for at least x blocks on the Bitcoin chain

claimedAlkane

Bound claimed the stable coin from the EVM mapped address


Redeem Status Codes

Status
Description

rejected

Sent amount is lower than the minimum requirement

pending

Bound detected the request transaction

confirmed

The request transaction has been confirmed for at least x blocks on the Bitcoin chain

failed

Invalid receiver address on the EVM chain

processing

The redeem transaction is created

broadcasted

The redeem transaction is broadcasted to the EVM chain

completed

The redeem transaction has been confirmed for at least x blocks on the EVM chain


Usage Examples

Create deposit address for a bitcoin address:

  • Call /generate-mapped-address API to request Bound to create a deposit address for bitcoin Signet taproot address tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf

Minting Alkane bUSD by transferring USDC/USDT to the deposit address:

  • Call /get-mapped-address API with taproot address tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf as the param, Bound will return the EVM deposit address 0x40c7EC9FF6aFE0e021dFD0626b70BaC671D97e7D for user to deposit their stable coins into

  • User send 6 testnet USDC (contract address 0x9d0ae8e3898c4351a98287af5dd0f9a41b0ff3dc) to 0x40c7EC9FF6aFE0e021dFD0626b70BaC671D97e7D on Sepolia Testnet, Bound will subtract the 2 USDC mint fee from the request, and send 4 Alkane bUSD to taproot address tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf on bitcoin Signet

  • User send 10 testnet USDT (contract address 0xf68b608448281926498596fb8567b77984f1e647) to 0x40c7EC9FF6aFE0e021dFD0626b70BaC671D97e7D on Sepolia Testnet, Bound will subtract the 2 USDT mint fee from the request, and send 4 Alkane bUSD to taproot address tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf on bitcoin Signet

  • User send 1 testnet USDT (contract address 0xf68b608448281926498596fb8567b77984f1e647) to 0x40c7EC9FF6aFE0e021dFD0626b70BaC671D97e7D on Sepolia Testnet, Bound will reject this request and won’t send any Alkane bUSD because 1 USDT amount is lower than mint fee

View Transaction History

  • Call /get-address-history API with taproot address tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf, cursor=0 and size=3 as params to get 3 latest mint/redeem requests related that taproot address

  • Call /get-address-history API with taproot address tb1pde5vk4gkneqccwesh7mn09a78e8la3kxs5epu39kwshk7pa6reqsse6yyf, cursor=3 and size=5 as params to get the next 5 mint/redeem requests related that taproot address after the 3 latest requests above

Last updated