Swan IPFS Storage 2.0 API
This is a Postman Collection for the Swan IPFS Storage API v1 endpoints. The page below describes different components of our API offering.
Authentication
Register for Swan IPFS Storage
POST
https://api.multichain.storage/api/v1/user/register
Registration by Metamask wallet
Request Body
public_key_address*
String
Wallet address of the user
{
"status": "success",
"data": {
"nonce": "1086889515610840385225475684592216593766"
}
}
Login for Swan IPFS Storage
POST
https://api.multichain.storage/api/v1/user/login_by_metamask_signature
Login by signature via Metamask
Request Body
nonce*
String
signature*
String
Created by nonce, private key, and public key address.
public_key_address*
String
Wallet address of the user
network*
String
Network for the chain environment
{
"status": "success",
"data": {
"jwt_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NjYyMjM3MDksImlhdCI6MTY2NjEzNzMwOSwic3ViIjoiNzExLHBvbHlnb24ubXVtYmFpIn0.SGu2DzoFcgNX9he_LHVUfQvfwM8rro_SsDXzH2imrKE"
}
}
Common
Get system config
GET
https://api.multichain.storage/api/v1/common/system/params
This endpoint allows you to get system config
{
"data":
"chain_name": "polygon.mainnet",
"payment_contract_address": "0xA1f32c758c4324cC3070A3AA107C4dC7DdFe1a6f",…}
"chain_name": "polygon.mainnet"
"dao_contract_address": "0x2621BB3140D8914806E977F7e6035B468675304D"
"dao_threshold": 2
"dex_address": "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506"
"filecoin_price": 513880000
"gas_limit": 8000000
"lock_time": 6
"mint_contract_address": "0x7a5FB09Adc5f1bCd7bd1E230Dcc8B6d933c4995E"
"pay_multiply_factor": 1.5
"payment_contract_address": "0xA1f32c758c4324cC3070A3AA107C4dC7DdFe1a6f"
"payment_recipient_address": "0x7042d0a8F7ED7d6051Fd7032515338f59Ff872b2"
"usdc_address": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"
"usdc_wFil_pool_contract": "0x230e57B69E3d45557e20a6238462564EBf4Fe2a9"
"status": "success"
}
}
Get host info
GET
https://api.multichain.storage/api/v1/common/host/info
{
"status": "success",
"data": {
"version": "MCS-2.0.0",
"operating_system": "darwin",
"architecture": "arm64",
"cpu_number": 8,
"current_unix_nano": 1654203545105082000
}
}
Upload file
Get USDC/Filecoin exchange rate
GET
https://api.multichain.storage/api/v1/billing/price/filecoin
This endpoint allows you to get the current exchange rate of USDC against Filecoin.
{
"status":"success",
"code":"200",
"data":173
}
Get average Filecoin statistics.
GET
https://api.filswan.com/stats/storage
This endpoint allows you to get average Filecoin storage price.
{
"data":
{
"average_cost_push_message":" FIL",
"average_data_cost_sealing_1TB":" FIL/TiB",
"average_gas_cost_sealing_1TB":" FIL/TiB",
"average_min_piece_size":" Byte",
"average_price_per_GB_per_year":" FIL/GiB/year",
"average_verified_price_per_GB_per_year":" FIL/GiB/year"},
"historical_average_price_regular": " FIL/GiB/Day"
"historical_average_price_verified": " FIL/GiB/Day"
"status":"success"
}
Upload to IPFS
POST
https://api.multichain.storage/api/v1/storage/ipfs/upload
This endpoint allows you to upload your file to IPFS server.
Request Body
file*
Binary
file to be uploaded
duration*
String
days for the uploaded file to be kept on miner
file_type*
String
0:uploaded by user, 1:uploaded by nft
wallet_address*
String
wallet address used to pay
{
"status": "success",
"code": 200,
"data": {
"file_size": 2
"ipfs_url": "https://ipfs.multichain.storage/ipfs/QmV9TXwuCutEUfcyMx4Ldk3MERubetXgCCkkE8QCHYyzL2"
"payload_cid": "QmV9TXwuCutEUfcyMx4Ldk3MERubetXgCCkkE8QCHYyzL2"
"source_file_upload_id": 150877
"status": "Free"
"w_cid": "1cdbc9a9-382a-4e53-9409-a0facb8fe31bQmV9TXwuCutEUfcyMx4Ldk3MERubetXgCCkkE8QCHYyzL2"
}
}
My files
Get uploaded file list
GET
https://api.multichain.storage/api/v1/storage/tasks/deals
This endpoint allows you to get a list of your uploaded files.
Path Parameters
file_name
String
file name of the uploaded file
page_size
Number
valid integer, otherwise 10(default)
page_number
Number
if not a valid number, or <=0, then 1, else use provided value
wallet_address*
String
uploaded under this wallet
order_by
String
file_name,file_size,upload_at(default)
is_ascend
String
y:ascend, others: descend(default)
{
"status": "success",
"code": 200,
"data": {
"source_file_upload": [
{
"source_file_upload_id": 1,
"car_file_id": 1,
"file_name": "test20",
"file_size": 1048671,
"upload_at": 1651507047,
"duration": 525,
"pin_status": "Pinned",
"payload_cid": "bafybeicxl5dk3iqejtbbcj2b77icx45unajw4qrakmd5ag46jlnidykk2y",
"status": "Processing",
"token_id": "",
"mint_address": "",
"nft_tx_hash": "",
"offline_deal": [
{
"id": 1,
"car_file_id": 1,
"deal_cid": "bafyreihwmwh2jgapiube6wrviax2zolpe26w35w4wy2x6b7q6blff7mpwe",
"miner_id": 1,
"verified": false,
"start_epoch": 926524,
"sender_wallet_id": 1,
"deal_id": 167814,
"status": "Created",
"note": null,
"on_chain_status": "StorageDealError",
"tx_hash_unlock": null,
"unlock_at": 0,
"create_at": 1651507495,
"update_at": 1651516351,
"miner_fid": "t03354"
}
]
},
{
"source_file_upload_id": 2,
"car_file_id": 2,
"file_name": "test20",
"file_size": 1048671,
"upload_at": 1651509153,
"duration": 525,
"pin_status": "Pinned",
"payload_cid": "bafybeicxl5dk3iqejtbbcj2b77icx45unajw4qrakmd5ag46jlnidykk2y",
"status": "Processing",
"token_id": "",
"mint_address": "",
"nft_tx_hash": "",
"offline_deal": [
{
"id": 2,
"car_file_id": 2,
"deal_cid": "bafyreic6dd722zindqx6svw4snk5czwn4hi4dprzcps3xkiiklqrz5ay5a",
"miner_id": 1,
"verified": false,
"start_epoch": 926588,
"sender_wallet_id": 1,
"deal_id": 167815,
"status": "Created",
"note": null,
"on_chain_status": "StorageDealError",
"tx_hash_unlock": null,
"unlock_at": 0,
"create_at": 1651509304,
"update_at": 1651516351,
"miner_fid": "t03354"
}
]
},
{
"source_file_upload_id": 3,
"car_file_id": 0,
"file_name": "test20",
"file_size": 1048671,
"upload_at": 1651516702,
"duration": 525,
"pin_status": "Pinned",
"payload_cid": "",
"status": "Pending",
"token_id": "",
"mint_address": "",
"nft_tx_hash": "",
"offline_deal": []
},
{
"source_file_upload_id": 4,
"car_file_id": 0,
"file_name": "test20",
"file_size": 1048671,
"upload_at": 1651519341,
"duration": 525,
"pin_status": "Pinned",
"payload_cid": "",
"status": "Pending",
"token_id": "",
"mint_address": "",
"nft_tx_hash": "",
"offline_deal": []
}
],
"total_record_count": 4
}
}
Get deal details
GET
https://api.multichain.storage/api/v1/storage/deal/detail/<deal_id>
This endpoint allows you to get deal details and DAO details.
Path Parameters
source_file_upload_id*
String
{
"status": "success",
"code": 200,
"data": {
"dao_threshold": 2,
"source_file_upload_deal": {
"deal_id": 0,
"deal_cid": "",
"message_cid": "",
"height": 0,
"piece_cid": "",
"verified_deal": false,
"storage_price_per_epoch": 0,
"signature": "",
"signature_type": "",
"created_at": 0,
"piece_size_format": "",
"start_height": 0,
"end_height": 0,
"client": "",
"client_collateral_format": "",
"provider": "",
"provider_tag": "",
"verified_provider": 0,
"provider_collateral_format": "",
"status": 0,
"network_name": "",
"storage_price": 0,
"ipfs_url": "http://192.168.88.41:5050/ipfs/QmeHeqoByW6dGSba9joVUiPuyVafTm5m1qsEtRcYBmjtdr",
"file_name": "test20",
"w_cid": "cff75975-144c-4e10-a1d7-ae0c30c1365cQmeHeqoByW6dGSba9joVUiPuyVafTm5m1qsEtRcYBmjtdr",
"locked_at": 1651507068,
"locked_fee": "5364546000000000",
"unlocked": false
}
}
}
get deal logs
GET
https://api.multichain.storage/api/v1/storage/deal/log/<offline_deal_id>
This endpoint allows you to get offline deal logs
{
"status": "success",
"code": 200,
"data": {
"offline_deal_log": [
{
"id": 1,
"offline_deal_id": 1,
"on_chain_status": "StorageDealCheckForAcceptance",
"on_chain_message": "Provider state: StorageDealWaitingForData",
"create_at": 1651507615
},
{
"id": 2,
"offline_deal_id": 1,
"on_chain_status": "StorageDealCheckForAcceptance",
"on_chain_message": "Provider state: StorageDealPublish",
"create_at": 1651507915
},
{
"id": 3,
"offline_deal_id": 1,
"on_chain_status": "StorageDealCheckForAcceptance",
"on_chain_message": "Provider state: StorageDealUnknown",
"create_at": 1651509124
}
]
}
}
Get payment information
GET
https://api.multichain.storage/api/v1/billing/deal/lockpayment/info
This endpoint allows you to get the specific payment information by payload CID.
Path Parameters
source_file_upload_id*
String
{
"status": "success",
"code": 200,
"data": {
"w_cid": "cff75975-144c-4e10-a1d7-ae0c30c1365cQmeHeqoByW6dGSba9joVUiPuyVafTm5m1qsEtRcYBmjtdr",
"pay_amount": "5364546000000000",
"pay_tx_hash": "0x864cb80257ea9e51d8ac8bedbd367d69b8effd7278db845d72c38a45b68f5fed",
"token_address": "0xe11A86849d99F524cAC3E7A0Ec1241828e332C62"
}
}
Record mint info
POST
https://api.multichain.storage/api/v1/storage/mint/info
This endpoint allows to record mint info to mcs database.
Request Body
source_file_upload_id*
String
tx_hash*
String
token_id*
String
mint_address*
String
{
"status": "success",
"code": 200,
"data": {
"id": 1,
"source_file_upload_id": 1,
"nft_tx_hash": "ab",
"mint_address": "eee",
"token_id": "e",
"create_at": 1651502337,
"update_at": 1651502337
}
}
Billing history
Get billing history
GET
https://mcs-api.filswan.com/api/v1/billing
This endpoint allows you to get the billing history related to current wallet account.
Path Parameters
wallet_address*
String
wallet who pay the file
page_size
Number
valid integer, otherwise 10(default)
page_number
Number
valid integer, otherwise 1(default)
file_name
String
file whose file_name include the parameter
order_by
String
pay_amount,unlock_amount,file_name,pay_at(default),unlock_at,deadline
is_ascend
String
y:ascend, others: descend(default)
{
"status": "success",
"code": 200,
"data": {
"billing": [
{
"pay_id": 1,
"pay_tx_hash": "0x864cb80257ea9e51d8ac8bedbd367d69b8effd7278db845d72c38a45b68f5fed",
"pay_amount": "5364546000000000",
"unlock_amount": "",
"file_name": "test20",
"payload_cid": "bafybeicxl5dk3iqejtbbcj2b77icx45unajw4qrakmd5ag46jlnidykk2y",
"pay_at": 1651507068,
"unlock_at": 0,
"deadline": 1652025461,
"network_name": "polygon.mainnet",
"token_name": "USDC"
},
{
"pay_id": 2,
"pay_tx_hash": "0x9d0bd6698230aadfd1c8fafe34db730385173fddeed1275f3c3a93563b16f8c5",
"pay_amount": "5364546000000000",
"unlock_amount": "",
"file_name": "test20",
"payload_cid": "bafybeicxl5dk3iqejtbbcj2b77icx45unajw4qrakmd5ag46jlnidykk2y",
"pay_at": 1651509167,
"unlock_at": 0,
"deadline": 1652027565,
"network_name": "polygon.mainnet",
"token_name": "USDC"
}
],
"total_record_count": 2
}
}
Last updated
Was this helpful?