Skip to main content

Multisigs

Sequencer multisig flows mirror the legacy API. Clients assemble Kernel transactions, gather the required signatures, and submit the payload to the Sequencer for verification and indexing.

Create a multisig transaction

Endpoint URL

POST https://api.mixin.one/safe/multisigs

Payload

[{
"request_id": "UNIQUE-UUID",
"raw": "KERNEL-RAW-TRANSACTION"
}]
Response
{
"data": [
{
"request_id": "UUID-REQUEST",
"transaction_hash": "KERNEL-HASH",
"asset_id": "UUID-ASSET",
"kernel_asset_id": "KERNEL-ASSET-HASH",
"amount": "NUMBER",
"senders_hash": "SENDERS-HASH",
"senders_threshold": 1,
"senders": ["UUID-USER-1", "UUID-USER-2"],
"signers": ["UUID-USER-1", "UUID-USER-2"],
"extra": "",
"raw_transaction": "",
"created_at": "RFC3339NANO",
"updated_at": "RFC3339NANO",
"receivers": [
{
"members": ["UUID-USER-1", "UUID-USER-2"],
"members_hash": "MEMBERS-HASH",
"threshold": 1
},
],
"views":[
{
"destination": "ADDRESS",
"tag": "TAG",
"withdrawal_hash": "WITHDRAWAL-HASH"
}
]
},
...
]
}

Sign a multisig request

Endpoint URL

POST https://api.mixin.one/safe/multisigs/:id/sign

Payload

{
"request_id": "UNIQUE-UUID",
"raw": "KERNEL-RAW-TRANSACTION"
}
Response
{
"data": {
"request_id": "UUID-REQUEST",
"transaction_hash": "KERNEL-HASH",
"asset_id": "UUID-ASSET",
"kernel_asset_id": "KERNEL-ASSET-HASH",
"amount": "NUMBER",
"senders_hash": "SENDERS-HASH",
"senders_threshold": 1,
"senders": ["UUID-USER-1", "UUID-USER-2"],
"signers": ["UUID-USER-1", "UUID-USER-2"],
"extra": "",
"raw_transaction": "",
"created_at": "RFC3339NANO",
"updated_at": "RFC3339NANO",
"receivers": [
{
"members": ["UUID-USER-1", "UUID-USER-2"],
"members_hash": "MEMBERS-HASH",
"threshold": 1
},
],
"views":[
{
"destination": "ADDRESS",
"tag": "TAG",
"withdrawal_hash": "WITHDRAWAL-HASH"
}
]
}
}

Unlock an incomplete multisig

Only multisig requests that have not yet reached the required signature threshold can be unlocked.

Endpoint URL

POST https://api.mixin.one/safe/multisigs/:id/unlock

Payload

{
"request_id": "UNIQUE-UUID",
"raw": "KERNEL-RAW-TRANSACTION"
}
Response
{
"data": {
"request_id": "UUID-REQUEST",
"transaction_hash": "KERNEL-HASH",
"asset_id": "UUID-ASSET",
"kernel_asset_id": "KERNEL-ASSET-HASH",
"amount": "NUMBER",
"senders_hash": "SENDERS-HASH",
"senders_threshold": 1,
"senders": ["UUID-USER-1", "UUID-USER-2"],
"signers": ["UUID-USER-1", "UUID-USER-2"],
"extra": "",
"raw_transaction": "",
"created_at": "RFC3339NANO",
"updated_at": "RFC3339NANO",
"receivers": [
{
"members": ["UUID-USER-1", "UUID-USER-2"],
"members_hash": "MEMBERS-HASH",
"threshold": 1
},
],
"views":[
{
"destination": "ADDRESS",
"tag": "TAG",
"withdrawal_hash": "WITHDRAWAL-HASH"
}
]
}
}

Fetch multisig details

Endpoint URL

GET https://api.mixin.one/safe/multisigs/:id
Response
{
"data": {
"request_id": "UUID-REQUEST",
"transaction_hash": "KERNEL-HASH",
"asset_id": "UUID-ASSET",
"kernel_asset_id": "KERNEL-ASSET-HASH",
"amount": "NUMBER",
"senders_hash": "SENDERS-HASH",
"senders_threshold": 1,
"senders": ["UUID-USER-1", "UUID-USER-2"],
"signers": ["UUID-USER-1", "UUID-USER-2"],
"extra": "",
"raw_transaction": "",
"created_at": "RFC3339NANO",
"updated_at": "RFC3339NANO",
"receivers": [
{
"members": ["UUID-USER-1", "UUID-USER-2"],
"members_hash": "MEMBERS-HASH",
"threshold": 1
},
],
"views":[
{
"destination": "ADDRESS",
"tag": "TAG",
"withdrawal_hash": "WITHDRAWAL-HASH"
}
]
}
}