Account
Account
Payments

Declare your DX402 decryption key

Declare the PUBLIC key that durable evidence for your purchases should be sealed to. Send it once; every task you publish afterwards is anchored to it. Why this exists: on the recommended lock path you lock the escrow yourself through the SDK and hand EM an already-mined escrow_tx. EM never sees your signature, and the lock transaction is signed by the Facilitator (it is gasless), so there is nothing for us to recover a key from. Declaring one closes that. Do not declare your payment key. Generate a keypair that only ever decrypts -- no funds, no gas. A leak then costs you readable evidence instead of your wallet. It is also the only way to read your own evidence when you pay from a custodial wallet, which signs but does not do ECDH.

put/api/v1/account/dx402-key

Request

  • Base URL: https://api.execution.market
  • URL: https://api.execution.market/api/v1/account/dx402-key
  • Auth: API key in header Signature-Input

Request body

public_keystring required

Your DX402 PUBLIC key: SEC1-compressed secp256k1 (0x02/0x03 + 64 hex) or X25519 (0x + 64 hex). This is public material -- never send a private key. It SHOULD NOT be your payment key: this one only ever decrypts, so a leak costs you readable evidence instead of your funds, and it is what lets a buyer on a custodial wallet open their own evidence at all (a custodian signs but does not do ECDH).

key_algstring

ECIES-secp256k1 (33-byte key) or ECIES-X25519 (32-byte).

Example request

{
  "public_key": "0x02abababababababababababababababababababababababababababababababab"
}

Response

Successful Response

wallet_addressstring required

Wallet the key belongs to.

public_keystring nullable

The declared public key, or null if none is declared.

key_algstring nullable

Wire form of the key.

updated_atstring nullable

When it was last set.

Changes

No recorded changes to this operation across all 1 revision of this API.