On this page
Self-hosted wallets
In the Travel Rule rule library, install Unhosted wallet transfers and turn on Signed-wallet authorisation in the draft. This applies to all amounts in that rule and requires an approved address plus a signed wallet proof from the last 24 hours. Publish the draft separately. The exact policy still needs the relevant country reviews before execution is available.
Use the existing Address Book APIs to add the wallet, request its signed-message challenge, verify the signature and approve the address record. Both transfer parties must have current Myaza-verified customer records; submit their names and customer identifiers with the transaction. Supported Ethereum-compatible personal wallets use this path; contract wallets and other signature formats remain held.
Add selfHostedAddressId to both execution requests:
{
"expectedRevision": 1,
"recipientAddress": "0x1111111111111111111111111111111111111111",
"selfHostedAddressId": "your-approved-address-record"
}For outgoing transfers, that record identifies the recipient wallet. For incoming
transfers, it identifies the sender wallet; also include the same incomingTxid
in both requests. Add the issued token and your stable externalExecutionId when
consuming. Execute only on execute_once; reconcile the existing job on retries.
Your wallet verifies the chain transaction and finality before crediting a deposit.
No information exchange with an institution is fabricated for a self-hosted wallet.