{
  "x402Version": 2,
  "id": 39632,
  "slug": "39632",
  "resource": "https://api.blockchainmoneymap.com/api/devagentpal/service-exit-handoff/plan",
  "description": "Plan and authorize migration from one opted-in service to one opted-in target, with outbound disabled by default.",
  "type": "http",
  "resourceType": "Identity & Enrichment",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x2211E12e6Bc8Da27B48B9DD66A55f5C3388D713a",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "10000",
      "amountUsd": 0.01,
      "maxTimeoutSeconds": 300
    }
  ],
  "outputSchema": {
    "properties": {
      "example": {
        "additionalProperties": true,
        "properties": {
          "decision": {
            "enum": [
              "allow",
              "block",
              "review",
              "insufficient_evidence",
              "completed",
              "partial",
              "failed"
            ],
            "type": "string"
          },
          "evidence": {
            "additionalProperties": true,
            "properties": {},
            "required": [],
            "type": "object"
          },
          "generatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "inputFingerprint": {
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          },
          "metadata": {
            "additionalProperties": true,
            "properties": {
              "paymentStatus": {
                "minLength": 1,
                "pattern": "\\S",
                "type": "string"
              }
            },
            "required": [],
            "type": "object"
          },
          "pricePaid": {
            "additionalProperties": true,
            "properties": {
              "amount": {
                "description": "Non-negative decimal string, up to six fractional digits.",
                "pattern": "^\\d+(?:\\.\\d{1,6})?$",
                "type": "string"
              },
              "currency": {
                "minLength": 1,
                "pattern": "\\S",
                "type": "string"
              },
              "network": {
                "minLength": 1,
                "pattern": "\\S",
                "type": "string"
              }
            },
            "required": [],
            "type": "object"
          },
          "reasons": {
            "items": {
              "additionalProperties": true,
              "properties": {
                "code": {
                  "minLength": 1,
                  "pattern": "\\S",
                  "type": "string"
                },
                "message": {
                  "minLength": 1,
                  "pattern": "\\S",
                  "type": "string"
                },
                "severity": {
                  "enum": [
                    "info",
                    "warning",
                    "critical"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "code",
                "message",
                "severity"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "requestId": {
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          },
          "riskScore": {
            "maximum": 100,
            "minimum": 0,
            "type": "integer"
          },
          "service": {
            "description": "Human-readable service name for service-exit-handoff.",
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          },
          "summary": {
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          },
          "version": {
            "enum": [
              "v0.2"
            ]
          },
          "x402_request_id": {
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          }
        },
        "required": [
          "requestId",
          "service",
          "version",
          "decision",
          "riskScore",
          "summary",
          "reasons",
          "evidence",
          "inputFingerprint",
          "generatedAt"
        ],
        "type": "object"
      },
      "type": {
        "enum": [
          "json"
        ],
        "type": "string"
      }
    },
    "required": [
      "type"
    ],
    "type": "object"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "operation": "plan",
            "requirements": {
              "maximumDowntimeMs": 60000,
              "maximumPriceIncreasePercent": 20,
              "preserveIdempotencyKeys": true,
              "preserveReceipts": true,
              "requiredCapabilities": [
                "profile_import"
              ]
            },
            "sourceService": {
              "exportSchema": {
                "profile": "object",
                "receipts": "array",
                "secretField": "string"
              },
              "manifestHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
              "receiptIndexHashes": [
                "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
              ],
              "serviceId": "source-a",
              "stateSummaryHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
            },
            "targetCandidates": [
              {
                "capabilities": [
                  "profile_import",
                  "receipt_preservation"
                ],
                "importSchema": {
                  "profile": "object",
                  "receipts": "array"
                },
                "manifestHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                "serviceId": "target-a"
              }
            ]
          },
          "bodyType": "json",
          "method": "POST",
          "type": "http"
        },
        "output": {
          "type": "json"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "additionalProperties": false,
            "properties": {
              "body": {
                "additionalProperties": true,
                "properties": {
                  "operation": {
                    "enum": [
                      "plan"
                    ]
                  },
                  "requirements": {
                    "additionalProperties": true,
                    "properties": {
                      "maximumDowntimeMs": {
                        "anyOf": [
                          {
                            "maximum": 86400000,
                            "minimum": 0,
                            "type": "integer"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "description": "Caps the planning output estimate only; does not enforce execution downtime."
                      },
                      "maximumPriceIncreasePercent": {
                        "description": "Reserved caller context. The current engine does not enforce this field as a policy or filter.",
                        "maximum": 100,
                        "minimum": 0,
                        "type": "number"
                      },
                      "preserveIdempotencyKeys": {
                        "anyOf": [
                          {
                            "type": "boolean"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "preserveReceipts": {
                        "anyOf": [
                          {
                            "type": "boolean"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "requiredCapabilities": {
                        "anyOf": [
                          {
                            "items": {
                              "type": "string"
                            },
                            "maxItems": 100,
                            "minItems": 0,
                            "type": "array"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "required": [],
                    "type": "object"
                  },
                  "sourceService": {
                    "additionalProperties": true,
                    "properties": {
                      "exportSchema": {
                        "additionalProperties": true,
                        "properties": {},
                        "required": [],
                        "type": "object"
                      },
                      "manifestHash": {
                        "pattern": "^(?:sha256:)?[a-fA-F0-9]{64}$",
                        "type": "string"
                      },
                      "receiptIndexHashes": {
                        "anyOf": [
                          {
                            "items": {
                              "pattern": "^(?:sha256:)?[a-fA-F0-9]{64}$",
                              "type": "string"
                            },
                            "maxItems": 100,
                            "minItems": 0,
                            "type": "array"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "serviceId": {
                        "minLength": 1,
                        "pattern": "\\S",
                        "type": "string"
                      },
                      "stateSummaryHash": {
                        "pattern": "^(?:sha256:)?[a-fA-F0-9]{64}$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "serviceId",
                      "manifestHash",
                      "stateSummaryHash"
                    ],
                    "type": "object"
                  },
                  "targetCandidates": {
                    "items": {
                      "additionalProperties": true,
                      "properties": {
                        "capabilities": {
                          "anyOf": [
                            {
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 100,
                              "minItems": 0,
                              "type": "array"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "importSchema": {
                          "additionalProperties": true,
                          "properties": {},
                          "required": [],
                          "type": "object"
                        },
                        "manifestHash": {
                          "pattern": "^(?:sha256:)?[a-fA-F0-9]{64}$",
                          "type": "string"
                        },
                        "serviceId": {
                          "minLength": 1,
                          "pattern": "\\S",
                          "type": "string"
                        }
                      },
                      "required": [
                        "serviceId",
                        "manifestHash"
                      ],
                      "type": "object"
                    },
                    "maxItems": 25,
                    "minItems": 1,
                    "type": "array"
                  }
                },
                "required": [
                  "sourceService",
                  "targetCandidates",
                  "requirements"
                ],
                "type": "object"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              },
              "method": {
                "enum": [
                  "POST"
                ],
                "type": "string"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "additionalProperties": true,
                "properties": {
                  "decision": {
                    "enum": [
                      "allow",
                      "block",
                      "review",
                      "insufficient_evidence",
                      "completed",
                      "partial",
                      "failed"
                    ],
                    "type": "string"
                  },
                  "evidence": {
                    "additionalProperties": true,
                    "properties": {},
                    "required": [],
                    "type": "object"
                  },
                  "generatedAt": {
                    "format": "date-time",
                    "type": "string"
                  },
                  "inputFingerprint": {
                    "minLength": 1,
                    "pattern": "\\S",
                    "type": "string"
                  },
                  "metadata": {
                    "additionalProperties": true,
                    "properties": {
                      "paymentStatus": {
                        "minLength": 1,
                        "pattern": "\\S",
                        "type": "string"
                      }
                    },
                    "required": [],
                    "type": "object"
                  },
                  "pricePaid": {
                    "additionalProperties": true,
                    "properties": {
                      "amount": {
                        "description": "Non-negative decimal string, up to six fractional digits.",
                        "pattern": "^\\d+(?:\\.\\d{1,6})?$",
                        "type": "string"
                      },
                      "currency": {
                        "minLength": 1,
                        "pattern": "\\S",
                        "type": "string"
                      },
                      "network": {
                        "minLength": 1,
                        "pattern": "\\S",
                        "type": "string"
                      }
                    },
                    "required": [],
                    "type": "object"
                  },
                  "reasons": {
                    "items": {
                      "additionalProperties": true,
                      "properties": {
                        "code": {
                          "minLength": 1,
                          "pattern": "\\S",
                          "type": "string"
                        },
                        "message": {
                          "minLength": 1,
                          "pattern": "\\S",
                          "type": "string"
                        },
                        "severity": {
                          "enum": [
                            "info",
                            "warning",
                            "critical"
                          ],
                          "type": "string"
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "severity"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "requestId": {
                    "minLength": 1,
                    "pattern": "\\S",
                    "type": "string"
                  },
                  "riskScore": {
                    "maximum": 100,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "service": {
                    "description": "Human-readable service name for service-exit-handoff.",
                    "minLength": 1,
                    "pattern": "\\S",
                    "type": "string"
                  },
                  "summary": {
                    "minLength": 1,
                    "pattern": "\\S",
                    "type": "string"
                  },
                  "version": {
                    "enum": [
                      "v0.2"
                    ]
                  },
                  "x402_request_id": {
                    "minLength": 1,
                    "pattern": "\\S",
                    "type": "string"
                  }
                },
                "required": [
                  "requestId",
                  "service",
                  "version",
                  "decision",
                  "riskScore",
                  "summary",
                  "reasons",
                  "evidence",
                  "inputFingerprint",
                  "generatedAt"
                ],
                "type": "object"
              },
              "type": {
                "enum": [
                  "json"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "tags": [
    "bazaar"
  ],
  "sourceHost": "api.blockchainmoneymap.com",
  "lastUpdated": "2026-10-08T06:26:12.976Z",
  "quality": {
    "calls30d": 3,
    "uniquePayers30d": 3,
    "lastCalledAt": "2026-10-08T06:26:12.729Z"
  },
  "metadata": {
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "operation": "plan",
              "requirements": {
                "maximumDowntimeMs": 60000,
                "maximumPriceIncreasePercent": 20,
                "preserveIdempotencyKeys": true,
                "preserveReceipts": true,
                "requiredCapabilities": [
                  "profile_import"
                ]
              },
              "sourceService": {
                "exportSchema": {
                  "profile": "object",
                  "receipts": "array",
                  "secretField": "string"
                },
                "manifestHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                "receiptIndexHashes": [
                  "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
                ],
                "serviceId": "source-a",
                "stateSummaryHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
              },
              "targetCandidates": [
                {
                  "capabilities": [
                    "profile_import",
                    "receipt_preservation"
                  ],
                  "importSchema": {
                    "profile": "object",
                    "receipts": "array"
                  },
                  "manifestHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                  "serviceId": "target-a"
                }
              ]
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "body": {
                  "additionalProperties": true,
                  "properties": {
                    "operation": {
                      "enum": [
                        "plan"
                      ]
                    },
                    "requirements": {
                      "additionalProperties": true,
                      "properties": {
                        "maximumDowntimeMs": {
                          "anyOf": [
                            {
                              "maximum": 86400000,
                              "minimum": 0,
                              "type": "integer"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "description": "Caps the planning output estimate only; does not enforce execution downtime."
                        },
                        "maximumPriceIncreasePercent": {
                          "description": "Reserved caller context. The current engine does not enforce this field as a policy or filter.",
                          "maximum": 100,
                          "minimum": 0,
                          "type": "number"
                        },
                        "preserveIdempotencyKeys": {
                          "anyOf": [
                            {
                              "type": "boolean"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "preserveReceipts": {
                          "anyOf": [
                            {
                              "type": "boolean"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "requiredCapabilities": {
                          "anyOf": [
                            {
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 100,
                              "minItems": 0,
                              "type": "array"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [],
                      "type": "object"
                    },
                    "sourceService": {
                      "additionalProperties": true,
                      "properties": {
                        "exportSchema": {
                          "additionalProperties": true,
                          "properties": {},
                          "required": [],
                          "type": "object"
                        },
                        "manifestHash": {
                          "pattern": "^(?:sha256:)?[a-fA-F0-9]{64}$",
                          "type": "string"
                        },
                        "receiptIndexHashes": {
                          "anyOf": [
                            {
                              "items": {
                                "pattern": "^(?:sha256:)?[a-fA-F0-9]{64}$",
                                "type": "string"
                              },
                              "maxItems": 100,
                              "minItems": 0,
                              "type": "array"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "serviceId": {
                          "minLength": 1,
                          "pattern": "\\S",
                          "type": "string"
                        },
                        "stateSummaryHash": {
                          "pattern": "^(?:sha256:)?[a-fA-F0-9]{64}$",
                          "type": "string"
                        }
                      },
                      "required": [
                        "serviceId",
                        "manifestHash",
                        "stateSummaryHash"
                      ],
                      "type": "object"
                    },
                    "targetCandidates": {
                      "items": {
                        "additionalProperties": true,
                        "properties": {
                          "capabilities": {
                            "anyOf": [
                              {
                                "items": {
                                  "type": "string"
                                },
                                "maxItems": 100,
                                "minItems": 0,
                                "type": "array"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "importSchema": {
                            "additionalProperties": true,
                            "properties": {},
                            "required": [],
                            "type": "object"
                          },
                          "manifestHash": {
                            "pattern": "^(?:sha256:)?[a-fA-F0-9]{64}$",
                            "type": "string"
                          },
                          "serviceId": {
                            "minLength": 1,
                            "pattern": "\\S",
                            "type": "string"
                          }
                        },
                        "required": [
                          "serviceId",
                          "manifestHash"
                        ],
                        "type": "object"
                      },
                      "maxItems": 25,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "required": [
                    "sourceService",
                    "targetCandidates",
                    "requirements"
                  ],
                  "type": "object"
                },
                "bodyType": {
                  "enum": [
                    "json",
                    "form-data",
                    "text"
                  ],
                  "type": "string"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "additionalProperties": true,
                  "properties": {
                    "decision": {
                      "enum": [
                        "allow",
                        "block",
                        "review",
                        "insufficient_evidence",
                        "completed",
                        "partial",
                        "failed"
                      ],
                      "type": "string"
                    },
                    "evidence": {
                      "additionalProperties": true,
                      "properties": {},
                      "required": [],
                      "type": "object"
                    },
                    "generatedAt": {
                      "format": "date-time",
                      "type": "string"
                    },
                    "inputFingerprint": {
                      "minLength": 1,
                      "pattern": "\\S",
                      "type": "string"
                    },
                    "metadata": {
                      "additionalProperties": true,
                      "properties": {
                        "paymentStatus": {
                          "minLength": 1,
                          "pattern": "\\S",
                          "type": "string"
                        }
                      },
                      "required": [],
                      "type": "object"
                    },
                    "pricePaid": {
                      "additionalProperties": true,
                      "properties": {
                        "amount": {
                          "description": "Non-negative decimal string, up to six fractional digits.",
                          "pattern": "^\\d+(?:\\.\\d{1,6})?$",
                          "type": "string"
                        },
                        "currency": {
                          "minLength": 1,
                          "pattern": "\\S",
                          "type": "string"
                        },
                        "network": {
                          "minLength": 1,
                          "pattern": "\\S",
                          "type": "string"
                        }
                      },
                      "required": [],
                      "type": "object"
                    },
                    "reasons": {
                      "items": {
                        "additionalProperties": true,
                        "properties": {
                          "code": {
                            "minLength": 1,
                            "pattern": "\\S",
                            "type": "string"
                          },
                          "message": {
                            "minLength": 1,
                            "pattern": "\\S",
                            "type": "string"
                          },
                          "severity": {
                            "enum": [
                              "info",
                              "warning",
                              "critical"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "code",
                          "message",
                          "severity"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "requestId": {
                      "minLength": 1,
                      "pattern": "\\S",
                      "type": "string"
                    },
                    "riskScore": {
                      "maximum": 100,
                      "minimum": 0,
                      "type": "integer"
                    },
                    "service": {
                      "description": "Human-readable service name for service-exit-handoff.",
                      "minLength": 1,
                      "pattern": "\\S",
                      "type": "string"
                    },
                    "summary": {
                      "minLength": 1,
                      "pattern": "\\S",
                      "type": "string"
                    },
                    "version": {
                      "enum": [
                        "v0.2"
                      ]
                    },
                    "x402_request_id": {
                      "minLength": 1,
                      "pattern": "\\S",
                      "type": "string"
                    }
                  },
                  "required": [
                    "requestId",
                    "service",
                    "version",
                    "decision",
                    "riskScore",
                    "summary",
                    "reasons",
                    "evidence",
                    "inputFingerprint",
                    "generatedAt"
                  ],
                  "type": "object"
                },
                "type": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    }
  },
  "liveness": {
    "reliability": null
  },
  "verified": false,
  "featured": false,
  "provider": {
    "host": "api.blockchainmoneymap.com",
    "manifest_name": "api.blockchainmoneymap.com",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-10-14T01:15:01.050Z"
  },
  "exampleResponse": {
    "example": {
      "decision": "allow",
      "evidence": {},
      "generatedAt": "2026-01-01T00:00:00Z",
      "inputFingerprint": "string",
      "metadata": {
        "paymentStatus": "string"
      },
      "pricePaid": {
        "amount": "string",
        "currency": "string",
        "network": "string"
      },
      "reasons": [
        {
          "code": "string",
          "message": "string",
          "severity": "info"
        }
      ],
      "requestId": "string",
      "riskScore": 0,
      "service": "string",
      "summary": "string",
      "version": "v0.2",
      "x402_request_id": "string"
    },
    "type": "json"
  }
}